Clojure Gazette 109

Dynamic typing, Static typing, Optimization

Clojure Gazette

Issue 109January 11, 2015

Editorial

Hi Conj-urers!

Enjoy the issue.

Rock on!
Eric Normand

PS Learn more about the Clojure Gazette and subscribe. Learn about advertising in the Gazette .

The Legacy of Computer Science Youtube

I've been geeking out recently on Sussman videos. This one seems to be kind of old. I resonate so much with his message: computer languages are a new way for us to communicate complex ideas. What is unique about computer languages is that an expression must be precise enough to be run by the computer. This will help us teach and clarify our thinking, making better ideas more accessible to more people.

Community Building with Pieter Hintjens Podcast

Ruby Rogues Podcast has gone through a lot of changes recently. I thought I might remove the subscription, but then Jessica Kerr joined up. She has made the podcast a joy again. This episode was especially surprising. Pieter Hintjens developed ZeroMQ and manages the open source community around it. He shares a lot about how ZeroMQ operates.

:clojureD Conference

There is a Clojure conference happening in Berlin at the end of January. Check it out! It's very affordable (€ 50) and be sure to look for LispCast postcards with a discount on all LispCast videos!

Doing Computers is Creating

An interesting new series showing Clojure livecoding. It's the beginning, so I can't give an in-depth review. But what's there already was an interesting watch. It's only about 6 minutes, so it's worth a shot. We'll see how they progress as they come out.

Life with Dynamic Typing

People still talk about static vs dynamic typing. But the discussion is mostly futile. The rift between static and dynamic started before most of us were born, in Mathematics. No amount of discussion by even above-average programmers is going to solve this one, or even contribute to the discussion.

David Nolen talks about a common pattern called Programming by Contract and how it is used in Clojure and ClojureScript. Programming by Contract is a way of asserting dynamic properties of function arguments and return values. You should also read the follow-up .

Improving the performance of set

Alex Miller is killing it on his blog. This post discusses a couple of simple optimizations to the function set which significantly improved performance. He then follows up with optimizations to the function vec . It's more complicated but still clear if you work through it.

Type-safe transducers in Clojure. And Scala. And Haskell.

Someone had to do it. They had to go and make the types for transducers in all three in one epic, comparative journey into the heart of three different type systems. Peter Fraenkel is the one. It's a tough slog, but if you're into types, this is fascinating.

Java to Clojure: Martin Fowler's "Refactoring" Factored Functionally

Adam Bard takes some Java code and "refactors" it into Clojure code.

Alan Kay at Computerland October '91 Youtube

Alan Kay knocks 'em dead in the first part of this talk. It's one zinger after the other. Then he gets serious about the future of computing (from a 1991 perspective).