Clojure Gazette 1.75
Haskell, Flappy Birds, and Ryan Gosling
Issue 1.75May 11, 2014
This week's issue is packed with great stuff. It's the kind of week that makes me remember one of the really important values that I find in the Clojure community: appreciation for other languages. Clojure is not the end-all-be-all of languages. It's just a local high-point in the ever unfolding hyperspace of language design.
But it does have that nifty ability to easily adapt great ideas from outside that makes it so appealing.
PS Have a suggestion for the Gazette? Just reply to this email!
How can we maintain state while reloading code? In the browser? This is an amazing demo of reloading ClojureScript code in the browser automatically as it changes (over a WebSocket). The demo includes a clone of Flappy Birds. There's a great video and a link to the code to run it yourself.
I programmed in Haskell for almost three years. One of the biggest lessons I learned (very slowly!) was that you need to master the type system, lest it master you. I wish I had read this article when I first started. Even if you don't program with static typing, the lesson of thinking through your types (or data structures) before starting can help you think more clearly about your code.
Speaking of Haskell, Bodil does a great job introducing what makes Haskell special in relation to Clojure. So many justifications of Haskell compare it to Java, which does nobody justice. If you've ever been curious about Haskell, watch this video.
William Byrd is one of the peopl e behind miniKanren. In this talk, Stephen Proctor talks to him about functional programming, relational programming, and Byrd's history.
I had heard so much about lambdas in Java 8 that I somehow overlooked all of these new features. I don't do much Java programming these days, but some of these seem like they could be useful to the Clojure compiler, including Overflow Operations.
I enjoyed this new addition to Clojure for the Brave and True. The name says it all.
An interesting talk about learning to code.
It's no secret that I am a big fan of Guy Steele. Finding a proposal with his name on it makes my Saturday night. This one is a proposal to add immutable value types to Java. An interesting proposal.