PurelyFunctional.tv Newsletter 294: Ions, Elm, Reason

Sign up for weekly Clojure tips, software design, and a Clojure coding challenge.

Issue 294 - October 01, 2018 · Archives · Subscribe

Hi Clojurers,

Please enjoy the issue.

Rock on!
Eric Normand <eric@purelyfunctional.tv>

PS Want to get this in your email? Subscribe!

Announcement: No Clojure SYNC in 2019

I'm sorry to say it, but it won't be happening in 2019. I'm deliberately leaving 2020 open. This post talks about why, and the future of Clojure SYNC.

Interactive development, Figwheel, and Rebel Readline Podcast

Bruce Hauman was interviewed on the REPL podcast. Great stuff from someone who has truly increased our ability to develop applications in a live and interactive way.

OCaml, REborn: fullstack applications with ReasonML YouTube

António Monteiro (creator of Lumo) presents ReasonML. It's a good talk about an interesting project from Facebook. Facebook is doing amazing things for functional programming.

Rich Hickey on Datomic Ions YouTube

Rich Hickey gave a whopping 1.75 hour talk about Datomic Ions. I don't know if the facts in this talk are different from what you see in other talks about Ions. However, I really like tracking the messaging around it. What's new about this talk is that Rich is trying to show how small the interface to Ions is. He does so without omitting the hard work happening behind the scenes. Ions is turning out to be a really cool way to deploy Clojure code in the AWS cloud.

Testing Stateful and Concurrent Systems Using test.check

I have this talk at Clojure/West 2017. I love property-based testing, so it was great to be able to introduce people to it. I'd love to make a course about this. If you're interested, please reply and let me know.

First 6 years of a life of Clojure project YouTube

Jarppe Länsiö talks about complexity in software. I love the idea of marking a red dot everywhere you access mutable state. And also the idea minimizing conditionals. Both are sources of complexity that functional programmers try to avoid.

A Crystal Ball to Prioritize Technical Debt YouTube

Adam Tornhill shows how you can analyze git commits to see where you will benefit most from refactoring and cleaning up code.

I used Elm in production and it cost me my job YouTube

Annaia Berry gives a humorous talk about the dangers of effective tools. Be careful. You might create stable software very quickly and put yourself out of a job.

Clojure Collections Currently recording

Sometimes I think that this course must be boring and unnecessary. Do we really need to talk about the speed of doing a lookup in a HashMap? Do we really need someone to document the "Index Usage Pattern"?

However, the more of this course I record, the more I see that this is necessary. Experienced Clojure programmers know these things intuitively, and the best way for beginners to get better is to understand these patterns.

New lessons this week

  • Index Usage Pattern
  • this is really four-in-one. The Index Usage Pattern is the one we all think of when we think of HashMap: convert a key to a value. But we go over three variations that Clojure programmers use regularly.
  • Tuple Usage Pattern
  • tuples are used in many libraries, including Clojure's core library. We talk about when to use them and—more importantly—when not to use them. We also look at the Variant Tuple variation.
  • Multi-comparison Usage Pattern - did you know you can use Sets to do a fast equality comparison on many values?