Hacker News new | ask | show | jobs
by deegles 3926 days ago
One example is that they flipped the meaning of 0 and 1 in their new language.

>We should note that in Nock and Hoon, 0 (pronounced “yes”) is true, and 1 (“no”) is false. Why? It’s fresh, it’s different, it’s new. And it’s annoying. And it keeps you on your toes. And it’s also just intuitively right.

2 comments

I'll give you that one! It's an old mistake and not very costly in practice, but the intuitive rightness isn't worth the pain in the butt. But the pain in the butt also isn't painful enough to match the difficulty of fixing it.

I actually got this bad idea from Unix: !strcmp(), etc. It's certainly easier to overload error codes into a 0=true scheme, although Urbit doesn't actually do that.

"It's an old mistake and not very costly in practice, but the intuitive rightness isn't worth the pain in the butt."

Why is it intuitively right?

"a string can be slack in many ways, but taut in only one"

0 is true, everything else is false. At least that's my intuition.

Huh! Pretty similar to my comparison to Tolstoy's quote on happy and unhappy families.

https://news.ycombinator.com/item?id=10282933

This is exactly the way it's used in shell scripting, and honestly, it's more useful that way for us because it makes booleans default to true instead of false. If we're going to redo everything, we may as well do it right this time.
> This is exactly the way it's used in shell scripting

You say that like it’s a good thing.