# testing the prelude (try (os/cd "janet") ([_] nil)) (import /scanner :as s) (import /parser :as p) (import /validate :as v) (import /interpreter :as i) (import /errors :as e) (import /base :as b) (import /load-prelude :as pre) (use judge) (defn run [source] (when (= :error pre/pkg) (error "could not load prelude")) (def ctx @{:^parent pre/ctx}) (def scanned (s/scan source :test)) (when (any? (scanned :errors)) (e/scan-error (scanned :errors)) (error "scanning errors")) (def parsed (p/parse scanned)) (when (any? (parsed :errors)) (e/parse-error (parsed :errors)) (error "parsing errors")) (def valid (v/valid parsed ctx)) (when (any? (valid :errors)) (each err (valid :errors) (e/validation-error err)) (error "validation errors")) (i/interpret (parsed :ast) ctx)) (deftest "debug add_msg" (test (run ` let msgs = [1, :foo, nil] let msg = do msgs > map (string, _) msg `) @["1" ":foo" ":^nil"]) # (test (run `print! ("foo", "bar")`) :ok) )