3 ms·
I would take compile-time type checking over any of Lisp's features for controlling complexity in large projects.
by foldr 6y ago
I would take compile-time type checking over any of Lisp's features for controlling complexity in large projects.
- cb321 6y agoIt sounds like you might enjoy https://nim-lang.org https://nim-lang.org if you do not already know about it.
- ragnese 6y agoOnly if it's useful compile-time type checking. Unlike Java and C.
- foldr 6y agoI don't find compile-time type checking useless in either of those languages. It's relatively verbose, given the lack of type inference, but it still catches lots of errors at compile time that would otherwise be runtime errors.
- pmoriarty 6y agoYou don't have to give up Lisp's features to get compile-time type checking, as there are Lisps that have it.
- foldr 6y agoKind of. SBCL will flag type errors at compile time if it can find them, but there isn't any practical way (that I'm aware of) to force it to accept only code that has sufficient type annotations that it can be shown to be type correct at compile time. Racket has typed racket, but then you are getting into pretty obscure territory. You might be able to have strict standards for your own code, but you'll still be plugging in to a dynamically typed ecosystem.
- reddit_clone 6y agoI think they cater to different kinds of development. Statically typed/compiled languages (IMO) take more upfront thinking and usually support top down development. Lisp & Co on the other hand are excellent for exploratory , repl based, bottom-up development. No need to exclude one in favour of other. Both can be used depending on the requirements.