The following code does not print “Done” in the current version:
main => C = func(1, B), println("Done"). table(+,-) func(N, M) = N * 2 => M = N.“Done” is normally printed when I remove the table declaration, or when I remove the only call to func.
It seems that Picat just exits when such function is called the first time. No error message, and the exit code is 0. If this combination being not allowed is intentional, I think it should at least throw an error, and the fact should be mentioned in the docs.