Copy
Typed Clojure, type systems, and new Datomic features
View this email in your browser

The REPL

Notes.

Falcon (my employer) still has two job openings, a Web Development Engineer(mostly front-end), and a Senior Software Engineer (mostly backend). If you’d like to work in an empathetic, inclusive, fast growing team that uses Clojure, please look at applying. We’re looking to hire people remotely (or in the Bay Area) who can work with a significant overlap in the Pacific time zone.

If you (or someone you know) haven’t done Clojure but are experienced in another language and would like to learn Clojure, we’re happy to teach you!

-main

  • talked with Dragan Djuric about Neanderthal, and his ambitious plans for writing and self-publishing multiple books about deep learning.
  • The Scicloj organizing team is looking for new members. Their next meetingis on July 18 too.
  • The (unofficial) Clojure Style Guide has a nice new website.

Libraries & Books.

  • A sketch on a new effect for re-frame :db-crud
  • Mike Fikes has ported Clojure’s bean function to ClojureScript. Why should you care? > This lets you interoperate with JavaScript objects in an idiomatic fashion, while being an order of magnitude faster than equivalent constructs using js->clj
  • I’m a little late on this, but Sean Corfield has published version 1.0.0 of his new JDBC library next.jdbc.
  • Schema has a new release 1.1.11 that fixes some bugs.

People are worried about Types. ?

  • Ambrose Bonnaire-Sergeant has published his PHD thesis on Typed Clojure (PDF). The new work is focused on improving the experience of using Typed Clojure based on industry feedback. I’m looking forward to reading this.
  • What Tim Baldridge wants from a type system.
  • Not a Clojure item, but this week Stripe open sourced Sorbet, their type checker for Ruby.

Tools.

  • Brian Marick had a thread on Twitter about testing frameworks, and some fundamental assumptions that test frameworks make about equality.
  • Workiva has open sourced eva, a clone (mostly) of Datomic. It sounds like they are not going to be doing a lot of active development on it anymore, and it’s unclear whether they’re using it themselves currently. Very cool nonetheless, and it has great documentation.
  • Speaking of Datomic, there is a new release which adds a bunch of very useful new data modelling and data validation features.

    Tuples solve some thorny data modelling problems that I’ve faced in the past. Attribute predicates allow you to validate attributes match particular rules at the database level; previously you had to use transaction functions, or app level code to handle this (I think?). Entity specs let you define validation rules for an entity as whole, e.g. a user has an email address anda password. Return maps are a very cool feature that let you get maps back from a datalog query instead of tuples, while also being able to positionally destructure them.

    Taken as a whole, these changes significantly improve Datomic’s native data modelling, querying, and data validation capabilities. I expect a lot of Datomic shops are going to be very happy with this update.

  • Extending Neovim with Clojure

Learning

  • This was a good experience report on a first time contribution to nREPL, with some tips for others looking to start contributing to open source projects.
  • Ring’s idiosyncracies and the programming model for working with it.
  • Sean Corfield demonstrates using REBL to fix a bug in core.memoize.
  • project workshop using Clojure and Kafka from the Clojure/Kafka consultancy Troy-West (Disclosure: I’ve worked with the director previously). This looks like a good way to learn Kafka Streams in a self-directed manner (or you could pay the authors to teach it to your company).

Misc.

Now for something completely different, I read and listened to a discussion about what happens if the cost of capital never rises again, and what that would mean for businesses and society. I have a tendency to assume that things will revert to the mean, and to the way they are ‘supposed’ to be (see NZ’s housing market bubble). This was a good reminder for me to keep an open mind that sometimes the world fundamentally changes.

 

I’m Daniel Compton. I maintain public Maven repositories at Clojars, private ones at Deps, and help fund OSS Clojure projects (along with tons of generous members like PitchNubankJUXTMetosinAdgoji, and Funding Circle) at Clojurists Together. If you’ve enjoyed reading this, tell your friends to sign up at therepl.net, or post a link in your company chatroom. If you’ve seen (or published) a blog post, library, or anything else Clojure/JVM related please reply to this to let me know about it.

If you’d like to support the work that I’m doing, consider signing up for a trial of Deps, a private, hosted, Maven Repository service that I run.

Thanks!

Twitter
Copyright © 2019 Daniel Compton, All rights reserved.


Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list

Email Marketing Powered by Mailchimp