Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Lisp doesn't have None; it has nil. The Lisp nil was not inspired by the conflation of referentiality and optionality in popular static type systems. It predates them.


The conjecture about dynamically typed languages was regarding the cultural effect of the popularity non-null-safe static type systems on the current practice of coding in dynamic programming languages. It wasn't a conjecture about the structure of the type systems in those dynamically typed languages.


I find that even less plausible. I don't suspect that the null reference practices in, say Java, have any influence on the way people work in Lisp.

Optional parameters in Lisp take on a value of nil when the argument is omitted (unless a different default is specified). Various search functions return nil when an item is not found: find, member, gethash, ...

The practices around these conventions may, at times, resemble work in static languages with null references, but there is no cause-and-effect there.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: