Very good job with the documentation. Ultra nice and clean.
By the way, what's up with the "?" functions? Are they all predicates? And what about "if" vs "if?" ?!
By the way, what's up with the "?" functions? Are they all predicates? And what about "if" vs "if?" ?!
Regarding "?"-functions.
Yes, the idea was this: to separate "normal" functions (that is, functions returning something or altering a value in-place) from functions returning a boolean values - let's call them predicates. That's not a rule, it's merely by convention (at least in the built-in library).
Re: "if" vs "if?", as I said before... the second one is a predicate, meaning: it does return a boolean value (that of the passed condition parameter). And the main use is... chaining with an "else". ;-)