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: