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
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-
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
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
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