Updates
Updates on our activities and progress.
Most recent
Clojure Blog Posts
Published on September 25, 2022 by Ambrose Bonnaire-Sergeant
Hi, I've written several Clojure blog posts recently, some of which overlap with Typed Clojure. - how growing macros is different from growing functions....
Typed Clojure 1.0.32: Merge at type level
Published on September 17, 2022 by Ambrose Bonnaire-Sergeant
Hi, Happy to announce Typed Clojure 1.0.32. It has a new type `t/Merge` that can merge HMap's. It's similar to spec's `s/merge` and malli's `:me...
Typed Clojure 1.0.28: New fn type syntax
Published on May 1, 2022 by Ambrose Bonnaire-Sergeant
Hi, Typed Clojure 1.0.28 has been released. Highlights:- new syntactic sugar for function arguments: [t/Int :+ :-> Foo] ;; for 1 or more t/Int argumen...
Typed Clojure 1.0.27 - Check your programs without depending on typedclojure!
Published on April 12, 2022 by Ambrose Bonnaire-Sergeant
Hi Patrons, I've been progressing on annotating malli, and I've made several fixes and improvements in 1.0.27 based on that experience. One thing that I have to mention first (as it's a great feeling) is that annotating malli with Typed Clo...
Typed Clojure 1.0.26 - Extensive improvements
Published on April 8, 2022 by Ambrose Bonnaire-Sergeant
Hi, The latest release of the type checker has a bunch of improvements. A lot of them have been driven by attempting to type check malli's implementation in both Clojure and ClojureScript. Here's my work in progress:...
Static type checking using spec1 specs
Published on March 27, 2022 by Ambrose Bonnaire-Sergeant
Hi, The spec1-type-providers example project shows how to use spec1 specs as static types. Thanks to Rayat R on Clojurians #core-type...
Static type checking using Malli schemas
Published on March 25, 2022 by Ambrose Bonnaire-Sergeant
Hi, I've added some support for type providers in Typed Clojure. This means Typed Clojure can automatically source annotations from more places. As a proof of concept, I've added the ability for Typed Clojure to automatically convert...
Typed ClojureScript release
Published on March 17, 2022 by Ambrose Bonnaire-Sergeant
Hi, Typed ClojureScript has been resurrected after about 5 years since it last worked. This time, there is a unified AST format...
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...
Enhanced destructuring error messages
Published on August 2, 2021 by Ambrose Bonnaire-Sergeant
Hi, Typed Clojure has long struggled with incomprehensible error messages--today I merged an enhancement which should serve as a template to turn this around....
'let' typing rule
Published on July 24, 2021 by Ambrose Bonnaire-Sergeant
Hi Patrons, I've merged a typing rule for the clojure.core/let macro. In...
Macro typing rules milestone: for+destructuring
Published on June 1, 2021 by Ambrose Bonnaire-Sergeant
Hi, This week I made some exciting progress on a long standing challenge: a typing rule for `clojure.core/for`. If you've used core.typed, you might remember certain macros cannot appear in typed code--for example you must use `clojure.core...
Clojure 1.11 support
Published on May 12, 2021 by Ambrose Bonnaire-Sergeant
Hi, Recently I noticed this commit landed for Clojure 1.11--it enhances keywor...
Porting typed.spec to spec1
Published on April 15, 2021 by Ambrose Bonnaire-Sergeant
Hi, Over the last few months I've been trying to port typed.spec to spec1 (right now it's writ...
Porting internal type rules to extensible interface
Published on January 10, 2021 by Ambrose Bonnaire-Sergeant
Hi, I'm test driving the extensible typing rules interface that Typed Clojure exposes by porting some hardcoded internal logic to this (eventually) public interface. Here's what...
API Docs
Published on January 7, 2021 by Ambrose Bonnaire-Sergeant
Hi supporters of Typed Clojure, I recently set up API documentation for typedclojure to be generated at api.typedclojure.org. For exa...
Combining the reader and analyzer
Published on November 20, 2020 by Ambrose Bonnaire-Sergeant
Hi supporters of Typed Clojure, I'm playing around with combining typed.clj/reader with typed.clj/analyzer in yet another library called typed.clj/refactor. Here's something fun: a function that "fully qualifies" forms even under macro expa...
Refactoring tooling
Published on November 11, 2020 by Ambrose Bonnaire-Sergeant
Hello supporters, I made some time for some personal hacking recently! I went back and completed a library I started back in July for refactoring Clojure code which I've dubbed...
October 2020 Update
Published on October 11, 2020 by Ambrose Bonnaire-Sergeant
Hi,Not much to report other than a general status update. All of my efforts since July has gone towards my day job, I'm currently on my first PTO for the year that's longer than 4 days -- using the time to relax and make some music at home....
Payouts and Papers
Published on July 14, 2020 by Ambrose Bonnaire-Sergeant
Hi,Thanks for your support! I've just made my first payout, via my company Untypable LLC.Currently, I'm looking over some papers to find inspiration to improve Typed Clojure's local inference.In particular, an upcoming paper for ICFP 2020 i...