mirror of
https://github.com/kanaka/mal.git
synced 2024-09-19 09:38:28 +03:00
8a19f60386
- Reorder README to have implementation list after "learning tool" bullet. - This also moves tests/ and libs/ into impls. It would be preferrable to have these directories at the top level. However, this causes difficulties with the wasm implementations which need pre-open directories and have trouble with paths starting with "../../". So in lieu of that, symlink those directories to the top-level. - Move the run_argv_test.sh script into the tests directory for general hygiene.
26 lines
359 B
Crystal
26 lines
359 B
Crystal
require "./types"
|
|
|
|
module Mal
|
|
class ParseException < Exception
|
|
end
|
|
|
|
class EvalException < Exception
|
|
end
|
|
|
|
class RuntimeException < Exception
|
|
getter :thrown
|
|
|
|
def initialize(@thrown : Type)
|
|
super()
|
|
end
|
|
end
|
|
end
|
|
|
|
def eval_error(msg)
|
|
raise Mal::EvalException.new msg
|
|
end
|
|
|
|
def parse_error(msg)
|
|
raise Mal::ParseException.new msg
|
|
end
|