Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I use Clojure at work and I'm an active participant in the Clojure open source community.

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?



He did indeed say he preferred static typing, but I wonder if his opinion would change if he learned about core.typed. He would probably still prefer Haskell, because he doesn't like things like that to be optional, but nonetheless I mentioned him purely as an endorsement of functional game programming, not of Clojure in particular.


> but I wonder if his opinion would change if he learned about core.typed.

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.


Fair enough; I haven't used Haskell but I know intuitively that a Clojure library won't be able to replicate the sophistication of its type system. On the other hand, the dynamic nature of Clojure is what makes REPL-driven game development possible.

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.


I'm actually trying to prototype a language that gets you the best of both:

* 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


Nice work. Have you looked at Shen? It's highly praised by many.


I was an avid Common Lisp and Clojure user for a long time, two years ago I would've agreed with you.

You should learn Haskell :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: