Hacker News new | ask | show | jobs
by stefano_c 1287 days 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)

2 comments

Yes, 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.
This 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__experienc...

I wish I could upvote comments more than once on HN :-)
Sounds like it's not a million miles away from how Clojure treats `nil` values, either
Or the List monad.
Or Common Lisp.