Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

keyword parsing results in data loss when name contains / #90

Open
phrohdoh opened this issue Jul 16, 2021 · 1 comment
Open

keyword parsing results in data loss when name contains / #90

phrohdoh opened this issue Jul 16, 2021 · 1 comment

Comments

@phrohdoh
Copy link
Contributor

Clojure 1.10.3:

clj -e '(let [k :foo/bar/qux] [k (namespace k) (name k)])'
[:foo/bar/qux "foo" "bar/qux"]

ClojureRS 75c2bc156b6e43635f57e6f4b0abf180eb477047:

cargo run -- -e ':foo/bar/qux'
:foo/bar
@phrohdoh phrohdoh changed the title use of symbol parser for keywords results in data loss (/ and anything/everything following in name portion) keyword parsing results in data loss when name contains / Jul 16, 2021
@naomijub
Copy link
Contributor

A topic that may be solved on the reader. The implementation I and @otaviopace used at https://github.com/naomijub/edn-rs was capable of parsing anything connected to : until a whitespace and also generating namespaced keywords. Also, whn comparing performance to nom, edn-rs was more performatic.

Here a repo that I published comparing nom and edn-rs implementation used by another crate called WQL: https://github.com/naomijub/wql-nom

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants