26 points signa11 1 hour ago 9 comments
elais-dev 43 minutes ago | parent
p1necone 40 minutes ago | parent
chasil 17 minutes ago | parent
There wasn't room for safe programming practices, and direct manipulation of the hardware was a design requirement.
It assumes that you know what you are doing.
There are also ports to the Zilog Z80, an architecture with similar limitations (UZI, FUZIX).
mpyne 16 minutes ago | parent
Rust's unsafe mode, for instance, has undefined behavior. A whole list of them, in fact.
nananana9 14 minutes ago | parent
Does Rust define what I get when I dereference NULL in unsafe code? I doubt it, since it would require a NULL check before every pointer dereference.
The only insane thing about UB is that compiler writers took what everyone understand meant "the compiler emits what it emits and you get what you get" and turned it into "since it's undefined it means it can never happen so we can delete your null check".
BeaverGoose 28 minutes ago | parent
chasil 23 minutes ago | parent
OS 2200 has 36-bit words. It is still a supported platform.
https://en.wikipedia.org/wiki/UNIVAC_1100/2200_series
This platform was the first SMP UNIX implementation:
"Any configuration supplied by Sperry, including multiprocessor ones, can run the UNIX system."
https://www.nokia.com/bell-labs/about/dennis-m-ritchie/other...
1vuio0pswjnm7 15 minutes ago | parent
1790673092 | Reducing undefined behavior in the C language | https://lwn.net/SubscriberLink/1095811/efcdbcf080cfa4c6/ | https://news.ycombinator.com/item?id=49890290 | 0 comments