Typed Elixir


I've been a fan of Typed Clojure (now adopted as Clojure's core.typed library) for several years. It adds "opt-in" type checking to Clojure, plays nicely with editors, etc. What's not to like?

Typed Clojure started with Typed Racket, then added support for Clojure's somewhat different worldview. The project improves each year, adding convenience, features, etc. Feeling a bit of Clojure Envy, I posted this note to elixir-lang-talk:

Ambrose Bonnaire-Sergeant is a really smart guy who has been working for a few years on Typed Clojure. Basically, it uses typespec-like annotations and type inferencing to perform very cool type checking. Typed Clojure started as an adaptation of Typed Racket, so there are at least two existence proofs for other languages to draw from.

The Strange Loop 2014 talk shows what the tooling can now do, how it's being integrated into IDEs and such, and how it's being used: Typed Clojure in Practice.

Writing Typed Elixir is considerably beyond my pay grade, but I'm wondering if someone out there is looking for a cool and useful (albeit demanding) project of this sort. (ducks)

-- Anyone interested in creating Typed Elixir?

Happily, I got positive responses from Ambrose, Booker Bense, and José Valim. Ambrose and José lauded each other's efforts, Booker suggested taking a look at Dialyzer, etc. More recently, Guillermo Iguarán restarted the conversation, evoking responses from a number of Elixeros.

This wiki page is my attempt to organize some of the material; comments and suggestions welcome!

This wiki page is maintained by Rich Morin, an independent consultant specializing in software design, development, and documentation. Please feel free to email comments, inquiries, suggestions, etc!

Topic revision: r56 - 04 Apr 2016, RichMorin
This site is powered by Foswiki Copyright © by the contributing authors. All material on this wiki is the property of the contributing authors.
Foswiki version v2.1.6, Release Foswiki-2.1.6, Plugin API version 2.4
Ideas, requests, problems regarding CFCL Wiki? Send us email