<< Back to previous view

[MATCH-116] core.match clojurescript should be self-host compatible Created: 23/Oct/16  Updated: 17/Jan/17

Status: Open
Project: core.match
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Major
Reporter: Yehonathan Sharvit Assignee: David Nolen
Resolution: Unresolved Votes: 10
Labels: bootstrap

Attachments: Text File MATCH-116.patch    


core.match clojurescript should be self-host compatible

Comment by Yehonathan Sharvit [ 23/Oct/16 9:20 AM ]

Basically what I did was to take `match.clj` from https://github.com/clojure/core.match/blob/master/src/main/clojure/clojure/core/match.clj

renamed in to `match.cljc` and make a branch for `:cljs`.

Patch is attached

Comment by Yehonathan Sharvit [ 23/Oct/16 9:22 AM ]

I tested it with KLIPSE - http://app.klipse.tech/?cljs_in.gist=viebel/10da8338c4a1573fab8c04989e471704&external-libs=%5Bhttps%3A%2F%2Fraw.githubusercontent.com%2Fviebel%2Fcore.match%2Fmaster%2Fsrc%2Fmain%2Fclojure%2F%5D

Comment by Alex Miller [ 27/Oct/16 8:52 AM ]

Please note that at the moment our automated CI build box is unable to build or release projects containing cljc files. I am actively working on fixing that but until it is, this can't move forward. (And after it's fixed, I would be happy to do so.)

Comment by Yehonathan Sharvit [ 27/Oct/16 8:55 AM ]

Anyway, I'd be happy to get feedback on my patch.
It's a lot of code dealing with the differences between cljs and clojure types.

Comment by Yehonathan Sharvit [ 06/Dec/16 7:06 AM ]

Now that cljc is fully supported, could someone take a look at this patch? Alex? David?

Comment by Alex Miller [ 06/Dec/16 10:18 AM ]

The other question is whether we want to require Clojure 1.7 as a dependency for core.match, which means removing a lot of older versions from support. I think I'm ok with that, but would like to hear more from community too.

Comment by Christophe Grand [ 03/Jan/17 7:21 AM ]

If the goal of this patch is only to make cljs.core.match self-host compatible (and not to also unify cljs.core.match and clojure.core.match) then I think there are several references to clojure that shouldn't be there and I also think that backtrack-expr and FailureNode emit clojure code instead of clojurescript code when run in clojure-compiled clojurescript.

Comment by Alex Miller [ 17/Jan/17 10:06 AM ]

Yehonathan Sharvit please see Christophe's comments. I'd be happy to help shepherd this into a release if others could get to a point where it has a patch that works on Clojure, ClojureScript, and self-hosted ClojureScript.

Generated at Fri Jan 20 06:17:22 CST 2017 using JIRA 4.4#649-r158309.