Plenty links this time. Mostly Clojure and Scala libraries, some papers, and some other cool stuff.

1. Some Zach Tellman libraries

This humorous tweet from Zach Tellman lists a bunch of lovely libraries he has built for Clojure. I believe his tweet was what triggered the #upworthycs meme, which was popular for a bit in a certain contingent of Twitter.

2. Om tutorial

Om is the hottest thing in Clojure(script) world these days. It’s a CLJS interface for Facebook’s React, which boasts of snapshotting and undoing capabilities, all powered by immutable data structures. Linked here is an in-progress tutorial for Om, written by David Nolen.

Need to play around with Om some time.

3. Reagent

Another CLJS binding for React. This one claims to be minimalistic.

4. Sneak peak at RedEyes

After the success of BlueEyes, a lightweight web framework for Scala, John A De Goes is now working on RedEyes. Inferring from the gist, it’s going to be something to watch out for.

5. Composable validations for Play

Pascal Voitot is a creative fella. After JsZipper, he has been working on composable validations. Play 2.3 is shaping up to be awesome.

6. Newman

Stackmob has built a new HTTP client for Scala, based on Finagle’s and Spray’s implementations.

7. µTest

A new macro-based Scala unit testing library. This was long due. Macros allow you to retain some important source/assertion information to produce useful test reports. clojure.test has some good examples. µTest brings that goodness to the Scala land.

8. Composing contracts, an adventure in finance engineering

In SPJ’s own words, “Financial and insurance contracts do not sound like promising territory for functional programming and formal semantics, but in fact we have discovered that insights from programming languages bear directly on the complex subject of describing and valuing a large class of contracts.” If not paper, do read the slides. They are compact and give you a taste of how powerful formal semantics can be.

9. Lua and mixins

All-hashtable languages (with simple enough structures) can be really powerful from extensibility point of view. Lua is one such language, and this article illustrates now.

10. Clojure ain’t no Lisp?

A favorite rant of Common Lispers in recent years. Most such debates tend to generate more heat than light, and this one is no exception. But I find it worth sharing for whatever light content it may have.

11. Wadler’s critique of use of Scheme in SICP

In the conclusion section of paper, Phil says, “I embarked upon teaching Lisp with the attitude that the differences from KRC and Miranda would be, at most, a small annoyance. The basic concepts were the same, and I did not feel that the syntax or idiosyncracies of Lisp would be a major barrier. Experience has convinced me otherwise. Although each difficulty by itself is minor, the cumulative effect is significant.” I agree, and I think someone should totally write such textbook, using either Haskell or Idris.

12. Views, A way for pattern matching to cohabit with data abstraction

This is like Scala’s extractors, but invented much earlier. Again, in Phil’s own words, “(Views) address an important need reconciling pattern matching with data abstraction. In doing so, they also bring a new perspective. Instead of thinking of an abstract data type as hiding a representation, with views we can think of it as exporting as many representations as convenient.”

13. Why programming is difficult

A good piece from Joe Armstrong. Read it.

14. Wolfram’s most important technology project yet

I share Paul Chiusano’s and David Barbour’s dream of, for a lack of better term, different-kind-of-applications. Now I am not too good at Wolframese (a somewhat fluffy dialect of English), but the article seems to suggest that the upcoming Wolfram project is trying to fill a similar void.

15. Beginning Haskell

A new Haskell book is out. The content looks attractive, but it seems to do a lot more than just get you started with the language! The word on the street is the book also has a section on Idris. That sounds delicious!

16. Microduino

An Arduino stackable that is open source. I imagine for those of you into hardware, this may be an exciting development.

Now a couple of interesting not-so-tech links, both about maps. (Don’t give me that look. Some of the smartest people around are cartographers!)

That’s it for the week. See you next time!