Clojure error messages and stacktraces are the number one most complained-about feature of Clojure. We look at some tips and resources for dealing with them.
Technical Articles
Video Lessons
Parts of courses on specific topics
Building complex generators: mutation testing
Sometimes you want to test values that are almost right. Random values won’t cut it. What you can do is to generate correct values and mess them up. That’s called mutation testing, and it’s what we look at in this lesson.
Building components
We start factoring our User Interface into components, which are reusable pieces of our GUI.
Building your own simple generators
We can put together generators that we need from the existing generators. There are four tools provided by test.check that help us do this. In this lesson, we go over such-that, fmap, bind, and let.
Calculations in Subscriptions
In this lesson, we learn to move our calculations from our components into Reactive Subscriptions. We don’t want to store calculated values in the database, because that would de-normalize the data. We learn how calculated subscriptions are a solution to database de-normalization.
Card functional abstraction
This lesson teaches how to use functional abstraction to make changes to data structures quick and easy. This lesson includes a video screencast, a git repo, and two exercises. The video is 14 minutes long.
Card Representations
This lesson demonstrates and evaluates many different representations of playing cards. The lesson includes a video screencast, a git repository with all code, and some exercises. The video is 14 minutes long.
Speaker Interviews
Jason Gilman Clojure/conj 2016 Interview
We interviewed Jason Gilman about his upcoming Clojure/conj 2016 talk about Proto REPL.
Jason Hemann Code Mesh 2016 Interview
We interviewed Jason Hemann about his upcoming Code Mesh talk with Dan Friedman.
Jay Martin Clojure Remote 2017 Interview
We interviewed Jay Martin about his upcoming Clojure Remote 2017 keynote called “The Value of Learning”.
Jean Yang Curry On 2017 Interview
We Interviewed Jean Yang about her upcoming Curry On 2017 talk about Preventing Information Leaks by Construction.
Joe Armstrong Code Mesh 2016 Interview
We interviewed Joe Armstrong about his upcoming Code Mesh keynote. He’ll also be interviewing Alan Kay on stage.
Jon Pither ClojuTRE 2017 Interview
We interviewed Jon Pither about his upcoming ClojuTRE 2017 talk called Clojure Flavoured Devops.
Newsletter Issues
PurelyFunctional.tv Newsletter 381: #BlackLivesMatter
Issue 381 – June 08, 2020 路 Archives 路 Subscribe Police brutality has to stop 鈿栵笍 All 50 United States are rising up in grief and anger after the brutal murder of George Floyd. And much of the world is demonstrating in solidarity. No Clojure in this issue. There’s too much at stake. Black people […]
PurelyFunctional.tv Newsletter 380: what can you iterate through?
Issue 380 – June 01, 2020 路 Archives 路 Subscribe Clojure Tip 馃挕 what can you iterate through? I was helping a friend solve a coding challenge the other day and I quickly found a linear algorithm when he was sure it had to be quadratic. The key was that there were two collections. If […]
PurelyFunctional.tv Newsletter 379: get produces unexpected behavior, as expected
Issue 379 – May 25, 2020 路 Archives 路 Subscribe Clojure Tip 馃挕 get has unexpected behavior, as expected Some people wonder about why get returns nil when the key is not found in the map. I actually like that behavior and dislike the behavior in other languages when it is an error to ask […]
PurelyFunctional.tv Newsletter 378: Clojure nudges us to constant-time operations
Issue 378 – May 18, 2020 路 Archives 路 Subscribe Clojure Tip 馃挕 Clojure nudges us to constant-time operations I recently received a question about why Clojure has contains? (which is really contains-key?) and not a contains-value?. It seems like such a common thing to want to do, shouldn’t Clojure give it to us? I […]
PurelyFunctional.tv Newsletter 377: Three states of key-value pairs
Issue 377 – May 11, 2020 路 Archives 路 Subscribe Clojure Tip 馃挕 Three states of key-value pairs Sometimes I’m using a map and I want to both get the value for a key and check if the key exists in the map at the same time. In most cases, it would look something like […]
PurelyFunctional.tv Newsletter 376: Learn from core
Issue 376 – May 04, 2020 路 Archives 路 Subscribe Clojure Tip 馃挕 Learn from core Last week I talked about how Clojure’s standard library gives us a leg up over JavaScript. A few people mentioned that many people will use lodash or a similar library when using JavaScript. That’s true but it’s not really […]