This looks like an issue with hyphenated attribute names in deftype. defrecord seems to be fine.
user> *clojure-version* {:major 1, :minor 3, :incremental 0, :qualifier "beta1"} user> (deftype Foo [foo]) user.Foo user> (Foo. 1) #user.Foo[1] user> (deftype Bar [bar-id]) user.Bar user> (Bar. 1) ; Evaluation aborted. user> The stack trace is: No matching field found: bar-id for class user.Bar [Thrown class java.lang.IllegalArgumentException] Restarts: 0: [QUIT] Quit to the SLIME top level Backtrace: 0: clojure.lang.Reflector.getInstanceField(Reflector.java:289) 1: clojure.core$print_deftype $iter__5055__5059$fn__5060$fn__5061.invoke(core_print.clj:246) 2: clojure.core$print_deftype $iter__5055__5059$fn__5060.invoke(core_print.clj:245) 3: clojure.lang.LazySeq.sval(LazySeq.java:42) 4: clojure.lang.LazySeq.seq(LazySeq.java:60) 5: clojure.lang.RT.seq(RT.java:466) 6: clojure.core$seq.invoke(core.clj:133) 7: clojure.core$print_sequential.invoke(core_print.clj:46) 8: clojure.core$print_deftype.invoke(core_print.clj:247) 9: clojure.core$fn__5070.invoke(core_print.clj:250) 10: clojure.lang.MultiFn.invoke(MultiFn.java:167) 11: clojure.core$pr_on.invoke(core.clj:3244) 12: clojure.core$pr.invoke(core.clj:3256) 13: clojure.lang.AFn.applyToHelper(AFn.java:161) 14: clojure.lang.RestFn.applyTo(RestFn.java:132) 15: clojure.core$apply.invoke(core.clj:600) 16: clojure.core$pr_str.doInvoke(core.clj:4184) 17: clojure.lang.RestFn.invoke(RestFn.java:408) 18: swank.commands.basic $eval807$interactive_eval__808.invoke(basic.clj:66) 19: clojure.lang.Var.invoke(Var.java:401) 20: user$eval1672.invoke(NO_SOURCE_FILE) 21: clojure.lang.Compiler.eval(Compiler.java:6406) 22: clojure.lang.Compiler.eval(Compiler.java:6372) 23: clojure.core$eval.invoke(core.clj:2745) 24: swank.core$eval_in_emacs_package.invoke(core.clj:92) 25: swank.core$eval_for_emacs.invoke(core.clj:239) 26: clojure.lang.Var.invoke(Var.java:409) 27: clojure.lang.AFn.applyToHelper(AFn.java:167) 28: clojure.lang.Var.applyTo(Var.java:518) 29: clojure.core$apply.invoke(core.clj:600) 30: swank.core$eval_from_control.invoke(core.clj:99) 31: swank.core$eval_loop.invoke(core.clj:104) 32: swank.core$spawn_repl_thread$fn__494$fn__495.invoke(core.clj:309) 33: clojure.lang.AFn.applyToHelper(AFn.java:159) 34: clojure.lang.AFn.applyTo(AFn.java:151) 35: clojure.core$apply.invoke(core.clj:600) 36: swank.core$spawn_repl_thread$fn__494.doInvoke(core.clj:306) 37: clojure.lang.RestFn.invoke(RestFn.java:397) 38: clojure.lang.AFn.run(AFn.java:24) 39: java.lang.Thread.run(Thread.java:662) -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en