Details
-
Type:
Enhancement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Completed
-
Affects Version/s: None
-
Fix Version/s: Release 1.5
-
Component/s: None
-
Patch:Code and Test
-
Approval:Ok
Description
With data reader support, it's impossible to write a program to read an arbitrary stream of Clojure forms. For example, the following code will fail with the current 1.4.0-beta1 tagged literal support:
#point [0 2]
It might be enough to require that the read side define a reader for point, but what if we do not wish to require that both sides of the conversation know about the #point tag beforehand? Using the identity function as a default allows the reader to handle the literal form as is even when it doesn't recognize a tag (or even care to translate it).
The change from the current behavior is that missing tagged literal parsers are no longer error conditions.
Attachments
Activity
Rich Hickey
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Approval | Vetted [ 10003 ] | |
| Fix Version/s | Release 1.5 [ 10150 ] |
Steve Miner
made changes -
| Summary | Consider using the identity function as default tagged literal reader | default tagged literal reader |
Steve Miner
made changes -
| Attachment | CLJ-927-default-in-data-readers.patch [ 11571 ] |
Steve Miner
made changes -
| Attachment | CLJ-927-unknown-data-reader.patch [ 11572 ] |
Steve Miner
made changes -
| Patch | Code and Test [ 10002 ] |
Stuart Halloway
made changes -
| Approval | Vetted [ 10003 ] | Screened [ 10004 ] |
Rich Hickey
made changes -
| Approval | Screened [ 10004 ] | Incomplete [ 10006 ] |
Rich Hickey
made changes -
| Approval | Incomplete [ 10006 ] | Vetted [ 10003 ] |
Steve Miner
made changes -
| Attachment |
|
Steve Miner
made changes -
| Attachment |
|
Steve Miner
made changes -
| Attachment | CLJ-927-default-data-reader-fn-for-unknown-tags.patch [ 11586 ] |
Stuart Halloway
made changes -
| Approval | Vetted [ 10003 ] | Screened [ 10004 ] |
Rich Hickey
made changes -
| Approval | Screened [ 10004 ] | Ok [ 10007 ] |
Stuart Sierra
made changes -
| Resolution | Completed [ 1 ] | |
| Status | Open [ 1 ] | Resolved [ 5 ] |
Stuart Halloway
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |