<< Back to previous view

[CLJ-370] record multimethod Created: 01/Jun/10  Updated: 16/Oct/11  Resolved: 16/Oct/11

Status: Closed
Project: Clojure
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Major
Reporter: Assembla Importer Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None

Approval: Vetted
Waiting On: Stuart Halloway

 Description   

non-reflective dynamic creation of defrecord instances via a multimethod



 Comments   
Comment by Assembla Importer [ 24/Aug/10 10:27 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/370
Attachments:
0370-record-multimethod.patch - https://www.assembla.com/spaces/clojure/documents/d2J0riBEKr35rdeJe5cbLA/download/d2J0riBEKr35rdeJe5cbLA
0370-record-multimethod-take-2.patch - https://www.assembla.com/spaces/clojure/documents/aGvvlSCmWr35fseJe5cbCb/download/aGvvlSCmWr35fseJe5cbCb

Comment by Assembla Importer [ 24/Aug/10 10:27 AM ]

stu said: [file:d2J0riBEKr35rdeJe5cbLA]

Comment by Assembla Importer [ 24/Aug/10 10:27 AM ]

stu said: Questions:

  • I don't like that create-record is public in core. Change its name? Throw in another namespace?
Comment by Assembla Importer [ 24/Aug/10 10:27 AM ]

richhickey said: how about record-implementation-detail-multimethod?

Inside emit-record-factory-method, how about:

  • using :keys destructuring for fields
  • no need for apply on dissoc - it takes multiple keys

Also, you might want to make record itself a macro, so you can flow metadata to the created record:

^{:my "meta"}(record ::Foo :a 1 :b 2)

This will be useful since this will likely become at least the print-dup form for records

Comment by Assembla Importer [ 24/Aug/10 10:27 AM ]

stu said: I was thinking that record might often get apply-ed. Do we need a function and a macro?

Comment by Assembla Importer [ 24/Aug/10 10:27 AM ]

stu said: [file:aGvvlSCmWr35fseJe5cbCb]

Comment by Assembla Importer [ 24/Aug/10 10:27 AM ]

stu said: second patch subsumes first and incorporates Rich's feedback. print/read moved to separate ticket #374

Comment by Assembla Importer [ 24/Aug/10 10:27 AM ]

richhickey said: second thoughts here

Comment by Assembla Importer [ 24/Aug/10 10:27 AM ]

stu said: Updating tickets (#370, #366, #374)

Comment by Stuart Halloway [ 04/Jan/11 7:40 PM ]

Rich: updated design proposal at http://dev.clojure.org/display/design/defrecord+improvements. Please provide feedback there and then mark this as waiting on me.

Comment by Stuart Halloway [ 16/Oct/11 5:33 AM ]

Old ticket. Goal was accomplished via factory fns and literals.

Generated at Fri Apr 18 20:49:16 CDT 2014 using JIRA 4.4#649-r158309.