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

If Pascal doesn't have required exhaustive pattern matching, it's no better than Go or C# in this regard.




Go is the one being discussed as ignoring history.

C# thankfully was designed by someone that appreciates type systems, maybe you should revisit it.


Not enough to add sum types or exhaustive pattern matching... now F# - that was appreciated by someone that appreciates type systems.

Does Pascal's break down like this Go does?

    func f(x StatusCode) {
    }

    f(728347) // There's no such status. Whateverz, no compile error.

How often do you pass literals into your functions?

    f(728347) // There's no such status. Whateverz, no compile error.
    a := 728347
    f(a) // Compile error.

The nature of Swiss cheese is that it can't be all hole and there has to be some non-hole too

Raclette is Swiss cheese without holes. That is proper ADT in this anaology.



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

Search: