This is what I think of whenever someone says a stringly typed language (or honestly, anything that doesn't have algebraic datatypes at the very minimum) isn't that bad.
@csepp i get that it's a thing with implicit typecasting in dynamically typed languages but thats it
@eris Not having ADT means someone will return false instead of using option. Maybe that someone won't be you, but will you fix it when others depend on the bad behaviour? See assoc-ref in Scheme, numeric errors in C, anything with null, etc.
@eris I'm extrapolating the text a teensy bit, and ADTs alone don't solve all the issues. I also readed some of the linked pages and they blur together a bit.
But for a good example of needing None, see the examples where the data entry person had to write something like "no name" or "no street". That specifically could be solved in the DB by using null, but how do you define read : String -> Option String when show None == show "None"?
Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.