6 ms·
Is it possible to have Hindley–Milner type system for a LISP?
by datadeft 2y ago
Is it possible to have Hindley–Milner type system for a LISP?
- rscho 1y agoHackett. But the language is now abandoned.
- tmtvl 2y agoI don't know what Hindley-Milner means, but maybe Coalton matches what you mean? <https://github.com/coalton-lang/coalton https://github.com/coalton-lang/coalton>
- lou1306 2y agoIt's static typing with inference. Essentially what you have in Haskell/OCaml/F# where you declare a variable `x` through a let-binding witout specifying its type (`let x = something`), and the compiler analyses `something` and infers the type of `x`.
- pasc1878 2y agoSee Typed Racket https://docs.racket-lang.org/plait/Type_Checking_and_Inference.html https://docs.racket-lang.org/plait/Type_Checking_and_Inferen...
- shawn_w 1y agoTyped Racket doesn't use H-M.
- sorawee 1y agoSee also https://github.com/mflatt/shplait https://github.com/mflatt/shplait, which is a language with (1) the HM type system and (2) the same syntax that Rhombus uses. The language itself is implemented in Rhombus.
- f1shy 1y agoAbsolutely: you can make that with some macros and using type annotations. I do not know how difficult can it be, but surely there are thing already done.