Hacker News new | ask | show | jobs
by catnaroek 3132 days ago
> typecasing, multimethods

These features exist for expressiveness, not safety reasons. Although it must be noted that these features make it hard to verify the correctness of programs in a modular fashion. Typecasing makes language-enforced abstraction essentially impossible.

> conditions and restarts

These features exist for debuggability, not safety reasons. Safety means ruling out delimited classes of “bad” behaviors by (language) design.

> friendly runtime overseeing the code execution

Now this is a safety feature, but it is only kind of incompatible with the zero-overhead needs of a low-level language.