Talk:Olvasható
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.