It's valuable to check your runtime values and to shut down the entire engine in case something doesn't match. This patch adds some magic plumbing to support a "panic" mechanism. A new "panic" statement gets transparently converted into a panic function and panic resource. The former errors if the input is not empty. The latter must be present to consume the value, but doesn't actually do anything.
7 lines
162 B
Plaintext
7 lines
162 B
Plaintext
-- main.mcl --
|
|
# This should panic!
|
|
panic("please panic")
|
|
test "hello" {}
|
|
-- OUTPUT --
|
|
# err: errStream: func `panic @ 0x0000000000` stopped before it was loaded
|