4 ms·
I have 0 experience here but that's really surprising to me. I'd think out of any language lisp would shine here. You could write as complex of a type system
by spicybright 5y ago
I have 0 experience here but that's really surprising to me.
I'd think out of any language lisp would shine here.
You could write as complex of a type system as you wanted that compile time checks, so it's surprising someone hasn't written one that mimics at least java/c++/whatever style types.
I do think that is one of the down sides to lisp though. When you can do almost anything it's very hard to agree on what to actually do.
- Jtsummers 5y agoShen is an example of that. In its original form, Qi, it was written for Common Lisp and later written for other languages. http://shenlanguage.org/ http://shenlanguage.org/
- hajile 5y agoWow, I'm glad that they opened up the documentation. I liked what I saw a few years ago, but I'm not getting behind a language where all the usable docs are proprietary.
- Zababa 5y ago> You could write as complex of a type system as you wanted that compile time checks, so it's surprising someone hasn't written one that mimics at least java/c++/whatever style types. There's at least typed racket. > I have 0 experience here but that's really surprising to me. > I'd think out of any language lisp would shine here. I don't think you should be surprised that people don't want to write their typecheckers as macros. A few people might want to do that, but most people don't. And at this point you're not far from just creating a new language, that you could create in ML or a descendant, which have always been one of the most popular options for that.
- reikonomusha 5y agoIt’s a lot more practical than you think if you’re willing to roll up your sleeve and do the work. Fortunately, people have already done the work for you. [1] [1] https://github.com/coalton-lang/coalton https://github.com/coalton-lang/coalton
- Zababa 5y agoI don't think it would be more practical than just using a typed language in the first place.
- spicybright 5y agoNot really getting the argument, the above lib pretty much makes it a superset that adds types. And while I don't know the scope of the library, if they have a way to not allow dynamic features then you're already starting from a having a typed language (with one library dependency). Only now you can keep building up the type system in ways that benefit your project, unlike in most non lisp languages.