Мой файл выглядит примерно так:
(ns foofile)
(defprotocol foo-protocol
"foo(lish example)"
(foo-method [this] "foo docs")
(defrecord Foo [biz])
(def foo (Foo. "baz"))
Я запускаю REPL и набираю
(load-file "foofile.clj")
, и он печатает
#'foofile/foo
СейчасЯ могу сослаться на foofile / foo и foofile / foo-protocol, но когда я пытаюсь использовать foofile / Foo, я получаю
java.lang.Exception: No such var: foofile/Foo (NO_SOURCE_FILE:0)
Тот же (или существенно похожий) код работает просто великолепно, если я вручную ввожу вREPL (в частности, я следил за этот пост ).Что тут происходит?Что отличается между выполнением этого в REPL и загрузкой файла?