6 ms·
TLDR; Optional type systems are the future I hear a lot about Haskell but I don't see a lot about Haskell... Clojure has two optional type systems known as th
by coding4all 12y ago
TLDR; Optional type systems are the future
I hear a lot about Haskell but I don't see a lot about Haskell...
Clojure has two optional type systems known as the core.typed library, and Prismatic's schema library. I don't think it's an all or nothing situation. Use types when you need them and don't when you don't.
- codygman 12y agoYou are overlooking how powerful programming with types can be. This applies to Haskell, but even moreso to languages like Idris. Did you hear about Haxl[0]? [0]: https://code.facebook.com/projects/854888367872565/haxl/ https://code.facebook.com/projects/854888367872565/haxl/
- coding4all 12y agoYou're overlooking my entire comment...
- codygman 12y agoNo I'm not, but I guess there was a possibility of you thinking that. Let's erase all ambiguity. > TLDR; Optional type systems are the future Optional type systems have their place, but I think you are ignoring applications that types can have besides type assertion and documentation. > I hear a lot about Haskell but I don't see a lot about Haskell... It's a shame you haven't "seen" Haskell and have only heard about it, I know how that can make the entire language seem like vaporware. I personally have seen at least one big thing from a large company that used Haskell. I'm guessing you didn't see Facebook's semi-recent release of Haxl[0]. > Clojure has two optional type systems known as the core.typed library, and Prismatic's schema library. I don't think it's an all or nothing situation. Use types when you need them and don't when you don't. Optional typing is cool, but it's not useful for type based programming since it makes types optional. You can do some cool stuff by programming types. Haskell does some of this, but Idris[1] does much more by taking advantage of dependent typing[2].
- gw 12y agoI don't really consider Schema to be a type system, as it only works at runtime. It's more of a data validation library. Still very useful though.