The mention of Carmack is somewhat misplaced in that he decided languages like Lisp and Scheme that didn't offer the leverage of types like Haskell.
So perhaps languages like ML/Haskell, maybe even Rust, are more to the point?
The mention of Carmack is somewhat misplaced in that he decided languages like Lisp and Scheme that didn't offer the leverage of types like Haskell.
So perhaps languages like ML/Haskell, maybe even Rust, are more to the point?
As a user of Clojure and Haskell, no, not at all.
core.typed is unpleasant to use and not very sophisticated at all compared to Haskell.
Also doesn't do anything to separate pure and impure functions.
I'm willing to give up some type system sophistication in exchange for that, along with access to the JVM, macros, and so on. Carmack may not agree with that trade-off, but like I said, I mentioned him specifically for his endorsement of functional game programming.
* Clojure style dynamic development * A Lisp (with proper macros, homoiconicity etc.) * Runs on JVM * Can use Clojure libraries unmodified * Static type system (similar to Typed Clojure, but as part of the compiler and driving real optimisations, not just as a separate static analysis tool)
Still an early stage experiment right now, but I think it is the right idea: https://github.com/mikera/kiss
You should learn Haskell :)