3 ms·
> - There are no booleans in the language! Conditionals can still succeed or fail, but failure is defined as returning zero values and success is defined as ret
by stefano_c 4y ago
> - There are no booleans in the language! Conditionals can still succeed or fail, but failure is defined as returning zero values and success is defined as returning one or more values.
This is similar to how Icon works: https://en.m.wikipedia.org/wiki/Icon_(programming_language) https://en.m.wikipedia.org/wiki/Icon_(programming_language)
- truculent 4y agoSounds like it's not a million miles away from how Clojure treats `nil` values, either
- deleted 4y ago[deleted]
- mikelevins 4y agoYes, I noticed that, too. I used Icon to process a big pile of code at Apple in the late 80s and found it pleasant to work with.
- stefano_c 4y agoI wish I could upvote comments more than once on HN :-)
- DuncanMak 4y agoThis article seems like a nice overview of the pros and cons of the Icon expression evaluation system: https://tratt.net/laurie/research/pubs/html/tratt__experiences_with_an_icon_like_expression_evaluation_system/ https://tratt.net/laurie/research/pubs/html/tratt__experienc...