Usability improvements for macros and inline fns
Published on October 31, 2021 by Ambrose Bonnaire-Sergeant


Hi,

Thanks for your continued support!

I have been on the lookout for usability problems in Typed Clojure as part of a project I proposed for Clojurists Together funding. See the full writeup for the first half of the project here.

Highlights:

1. inlining functions are now type checked before expansion. This means--for example--you will never see an error blame clojure.lang.Numbers/inc when you use clojure.core/inc incorrectly.

2. Improved/added typing rules for defn/defmethod/doseq with better type error messages.

3. Identified 5 classes of implementation quirks for clojure.core macros that must be considered when creating type rules for them.

Thanks!
Ambrose