Remix.run Logo
jen20 3 days ago

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

pjmlp 3 days ago | parent | next [-]

Go is the one being discussed as ignoring history.

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

jen20 3 days ago | parent [-]

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

frou_dh 3 days ago | parent | prev [-]

Does Pascal's break down like this Go does?

    func f(x StatusCode) {
    }

    f(728347) // There's no such status. Whateverz, no compile error.
Mawr 3 days ago | parent [-]

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.
frou_dh 3 days ago | parent [-]

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

jen20 3 days ago | parent [-]

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