Comment by jen20

1 day ago

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.