Hacker News new | past | comments | ask | show | jobs | submit login

> All of your data structures have types ... Static typing just means that you annotate ...

Programs have (static) types, data does not. Static typing removes correct programs from the language. Try this in some ML-like language:

    let selfapply f = (f f) in
    let identity x = x in
    selfapply identity 42
If you transcribe this to (e.g.) Lisp, it will return the number 42. The program is short, simple, and safe, but well-regarded static type systems can't cope.



Any static constraint is likely to rule out good and bad programs. The tradeoff is how irreplacable those good programs are vs. how dangerous those bad programs are. "endofunction over either integers or endofunctions over integers (or over endo…)" is cute but I wouldn't lose a lot of sleep from underconstraining that domain.




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

Search: