Clojure

default tagged literal reader

Details

  • Type: Enhancement Enhancement
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Completed
  • Affects Version/s: None
  • Fix Version/s: Release 1.5
  • Component/s: None
  • Labels:
  • 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.

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 CLJ-927-default-in-data-readers.patch [ 11571 ]
Steve Miner made changes -
Attachment CLJ-927-unknown-data-reader.patch [ 11572 ]
Steve Miner made changes -
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 ]

People

  • Assignee:
    Unassigned
    Reporter:
    Fogus
Vote (1)
Watch (2)

Dates

  • Created:
    Updated:
    Resolved: