Fork me on GitHub

Not much of announcement, but I think I mostly finished up this implementation of Algorithm W for Hindley-Milner type inference I think it's much easier to follow (and much shorter) than the other implementations I've seen. I'll turn it into a blog post once I've added some pretty printing and tested it a bit more.

🎉 28
Noah Bogart15:01:34

This is so cool.

Noah Bogart15:01:13

@U055XFK8V seems like something you'd be interested in

eccentric J06:01:23

Having a bit of trouble following what this project does. Could you please explain it?


Sure. It takes symbolic expressions representing primitive constructs in the lambda calculus + polymorphic let (or "Hindley-Milner" for short) and infers the types of them using the algorithm outlined in this paper — Hindley-Milner is the same type system used by the ML family, a subset of the one used by Haskell, etc. — and basically the foundation of all type inference algorithms, if not most type systems


I had an interesting thought, not sure if this is possible, but could you use this sort of thing to add some static typing to clojure via clj-kondo?


specifically to enhance how it is used with malli


Cool stuff! I have been working towards something along the lines of what @U051V5LLP proposes for a while, but there are tricky parts associated with Clojure's data structures being more expressive than typed collections.

Alex Miller (Clojure team)23:01:44 v0.9.1 27ff8a4 • uber - Fix error on exploding jar with / entry • uber - Apply exclusions and conflict handlers for local and git libs

🎉 22

My build fails with Too many open files at$collect_files when using this version.

Alex Miller (Clojure team)14:01:22

Thanks, I’ll take a look

👍 2
Alex Miller (Clojure team)01:01:49

@U06B8J0AJ would be great if you could test with 0.9.2!

👍 2

All good! 👌