Clojure Gazette 1.52

Eric Normand's Newsletter
Software design, functional programming, and software engineering practices
Over 5,000 subscribers

core.typed, cljs source maps, and conniving

Clojure Gazette

Issue 1.52
September 18, 2013 =====================================

Editorial

Hello, glorious readers!

ClojureScript has had some very interesting improvements recently. Compilation got faster, there are now real keywords (instead of faked with strings), and source maps work.

And core.typed looks like it's moving along nicely. It is now "ready for production" according to its author. I am ready to eliminate a certain class or errors!

And thanks to everyone who bought my videos !

Enjoy!

Sincerely,
Eric Normand

P.S. I love hearing from readers. Just reply to this email!

Reading

Read-Eval-Print-λove

Michael Fogus riffing on Lisp and Little Languages delivered to your email. Consider buying a PDF version to support the author.

ClojureScript Source Maps

ClojureScript now has source maps that work even through advanced Google Closure compilation. Source maps mean you can see the original line of source code your errors and console.logs are from. David Nolen explains how to set up source maps for ClojureScript.

Why Conniving is Better than Planning

Gerald Sussman discusses backtracking and how to avoid it.

Hollwood Typecasting - Adventures with typed clojure and IMDB

A great in-depth look at annotating types on an existing program.

One of the great things about the separation of definition and type declaration is that I can provide remedial typing of external libraries.

Optimizing Dynamically-Dispatched Callswith Run-Time Type Feedback

Self has some of the coolest (and understandable) dynamic compilation opti mizations. This one is cool because it beats out advanced static compilers using runtime information.

Software

Iota

A Clojure library for working with large text files. It uses mmap to handle files larger than memory.

re.typed

A reconception of the re-* functions from Clojure core. In Clojure, if I run (re-find #".*" "abc"), I get a string. But if I run (re-find #"(.*)" "abc") I get a vector. re.typed lets you specify exactly what type to return, thus preventing a "type union explosion".

Listening

Cognitect on ThinkRelevance The Podcast

A huge step for Clojure. A business shell providing support will be great for everyone.

Watching

Clojure: Enemy of the State

Alex Miller delves into how Clojure deals with the problems that Object Oriented programming attempts to solve.

The Joy of Flying Robots with Clojure

Um, robots? And Clojure? Yes, please!

Sean Allen
Sean Allen
Your friendly reminder that if you aren't reading Eric's newsletter, you are missing out…
👍 ❤️
Nicolas Hery
Nicolas Hery
Lots of great content in the latest newsletter! Really glad I subscribed. Thanks, Eric, for your work.
👍 ❤️
Mathieu Gagnon
Mathieu Gagnon
Eric's newsletter is so simply great. Love it!
👍 ❤️