Re: defrecord - CompilerException to referring record defined at other namespace

2014-09-11 Thread Bin Li
Thanks a lot , Alex. So in order to working with defrecords , we have to use fully qualified name , or we can import them. But the :require is needed before I can import the 'defrecord' classes.. [... :refer :all] will not import the classes.. On Thursday, September 11, 2014 10:46:17 PM UTC

Re: defrecord - CompilerException to referring record defined at other namespace

2014-09-11 Thread Alex Miller
Yeah, dt/Record1 is not a thing that is referenceable. dt/->Record1 is a constructor function defrecord_example1.datatypes.Record1 is a class You can't use the ns alias dt to shorten the name of the class (those are different naming contexts). On Wednesday, September 10, 2014 8:44:18 PM UTC-

Re: defrecord - CompilerException to referring record defined at other namespace

2014-09-10 Thread Bin Li
Yes , it is. Is it because that / is accessing the 'static' function/field ? so at core.clj: we can only have there constructors as follow ? dt/->Record1 dt/->Record2 dt/map->Record1 dt/map->Record2 On Wednesday, September 10, 2014 10:21:45 PM UTC+8, Alex Miller wrote: > > Is datatypes.clj at

Re: defrecord - CompilerException to referring record defined at other namespace

2014-09-10 Thread Alex Miller
Is datatypes.clj at src/defrecord_example1/datatypes.clj ? (note _, not - in directory name) On Wednesday, September 10, 2014 6:01:25 AM UTC-5, Bin Li wrote: > > I have records defined at datatypes.clj: > ```clojure > (ns defrecord-example1.datatypes) > > (defrecord Record1 [f1]) > > (defrecord

defrecord - CompilerException to referring record defined at other namespace

2014-09-10 Thread Bin Li
I have records defined at datatypes.clj: ```clojure (ns defrecord-example1.datatypes) (defrecord Record1 [f1]) (defrecord Record2 [f1 f2 f3]) ;; this is working at repl (def m-inside1 {Record1 (fn [] ({:a "A"})) Record2 (fn [] ({:n "B"}))}) And using at core.clj : ```clojure (ns defreco