Fogus filed a bug about this a while back:
http://dev.clojure.org/jira/browse/CLJ-927
My suggestion is that an unknown tag should be read as a map with a couple of
well-defined keys (such as :unknown-literal and :value) so that the program has
a way to support data that it doesn't understand. This way the program has a
chance to recreate the literal representation of the data so it can be passed
on to some other process.
#unknown [1 2]
;=> {:unknown-literal unknown :value [1 2]}
Maybe the unknown tag should go on the metadata instead of in the returned
value, but I was thinking that I actually want different unknown tags to be
unequal. #unk1 [1 2] and #unk2 [1 2] should not accidentally be considered the
same data value if the tags are unknown.
Steve Miner
[email protected]
On Apr 27, 2012, at 8:04 PM, kovas boguta wrote:
> Thanks everyone involved for the 1.4 release. One issue:
>
> In 1.4, tagged literals need to be defined, otherwise the reader blows up:
>
> user=> [:a #foo/bar :b]
> RuntimeException No reader function for tag foo/bar
> clojure.lang.LispReader$CtorReader.readTagged (LispReader.java:1164)
> RuntimeException Unmatched delimiter: ]
> clojure.lang.Util.runtimeException (Util.java:170)
>
> This is a show-stopper for using tagged literals as a data interchange format.
>
> Its impossible to pass data through your system without every step
> knowing about what it is.
>
> I don't know what the best solution is, so I'm bringing this up here.
>
> But however it looks, it would be great if undefined literals were
> read into some kind of wrapper, and then the reader could go on with
> its job.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en