Talk:Olvasható

From Esolang
Jump to navigation Jump to search

Implicit catch-all abort arm?

It seems as if compiler added an extra aborting arm to non-exhausting let match expressions. You can see such an example in the board_mark_dangerous_1 function in aknakereso.olv. This is necessary both to make the SML code compile, and to not have the Prolog program silently misbehave in a hard to debug way when the expression fails to match. In theory the compiler could be able to detect that a match is exhaustive, because it knows which type constructors belong to the same type. The code for that would be big though, and I can't see any trace of it in the compiler, so I don't understand how that happens. Maybe the Olvasható source and the outputs on the website don't actually correspond to each other.