Not much to report on the Scheme and Clojure fronts this week.
I am still going through the Kotlin koans. Frankly, it still seems more verbose than Groovy. There are still a lot of generics, which I think really cluttered up Java.
But it does have some metaprogramming abilities. There is an inline function called sumByDouble that they added for the java.lang.Iterable interface, which includes List and Set. You give it a List/Set of objects, and it will get the sum of one of the attributes that is of type Double. I made one called sumByDoubleEKM, which does the same thing and adds a few println statements.
Maybe that’s not metaprogramming to a Lisp person, but it is nice to be able to add methods to classes. You can also add a method to a class outside the class definition. That seems to be what is happening in the collections koans. And the functional/closure/collection stuff does seem cleaner than what we got in Java 8.
Image from a 12th-century manuscript housed at the Bamberg State Library (Wikipedia page here), manuscript description here, citation link here, image assumed allowed under Fair Use.