PurelyFunctional.tv Newsletter 275: Data, Spec, Types

Issue 275 - April 30, 2018 · Archives · Subscribe

Hi Clojurers,

Well, I think I can call the redesign done. People have been finding little areas that still need some work. But in general, people have been commenting to me that things are much easier to find on the new site. Please keep letting me know if some corner of the site doesn't do what you expect.

With the redesign finished, I jumped back into recording lessons for Domain Specific Languages in Clojure. Producing these videos is such a pleasure! I have one of the best jobs in the world. I still want to go through a few more topics, including parsing.

Thanks, everyone, for being there as I build and evolve this business.

Please enjoy the issue.

Rock on!

PS Want to get this in your email? Subscribe!

Personal Data Preservation, Inspired by Ancient Writing

Will Byrd's talk at Clojure SYNC was quite a surprise. Who knew he was trying to preserve his work for 5,000 years? I was glad to see after the talk that his table was swarmed by attendees wanting to see his pens and paper.

Literate Ray Tracer in Clojure

I've really been enjoying this literate programming document by Abhirag. It explains the math behind raytracing, which is a technique for generating 3D images.

Reframing your next Single Page App YouTube

A nice introduction to the benefits of Re-frame by Kenneth Kalmer.

Apropos Clojure #8 YouTube

I wasn't available for this recording. And I'm so sad! The panel talked a lot about Spec and how they use it in production.

A Pamphlet against R PDF

This pamphlet is an attempt to introduce Scheme (and Functional Programming) to people outside of the Lisp world, written by Panicz Maciej Godek. It's well-written and attempts to show how easily the R libraries can be written in Scheme. He develops a satisfiability checker, a fuzzy logic system, and a Naive Bayes classifier.

Although a valiant attempt, I'm not sure if even I am convinced. Surely one of the advantages of R is not having to think about how the mathematical routines are implemented---saving precious brain cycles for other matters. Still, it's a good read, especially for those who do like to get into the implementation.

Writing shell scripts in Clojure using Planck YouTube

Some practical tips from Sahil Bajaj.

Clojure spec: Expressing Data Constraints without Types YouTube

Alex Miller explains why he likes spec.

Currently Recording: Domain Specific Languages in Clojure

One of the coolest feature of Lisps is how easy it is to write a new language in them. Domain Specific Languages are very common in Clojure, and I wanted to share the techniques and patterns that I've learned through the years. There are already about 5 hours of lessons. Here are the new ones from last week:

  • Crisp compiler --- we convert our small Lisp interpreter into a compiler
  • [Adding static scope information](https://ericnormand.podia.com/advanced %20-clojure-bundle) --- by adding some information, we allow "variable not found" to be a compile-time error