Hey David, I wanted to try core.match for a while and fiddled around a bit to see what kind of code is generated by match, in doing so I found a potentially "dangerous" bug.
See: https://gist.github.com/thheller/5850693#file-match-clj-L67 If a match has no :else clause an IllegalArgumentException is thrown and (do-something) is called AGAIN instead of using the top-level let result. This might cause problems in some apps. Also why not throw (ex-info "bad-match in line <xyz> of <file.clj>" {:result value}). I always wanted to try erlang style case-expressions in clojure and apart from this bug core.match just might finally make me do some serious testing. Cheers, /thomas On Monday, June 24, 2013 4:15:56 PM UTC+2, David Nolen wrote: > > I've written up how core.match works here > http://github.com/clojure/core.match/wiki/Understanding-the-algorithm > > Hopefully this is a bit more approachable than the Maranget paper :) > > > On Mon, Jun 24, 2013 at 7:43 AM, David Nolen <dnolen...@gmail.com<javascript:> > > wrote: > >> core.match 0.2.0-rc1 going out the door. ClojureScript support now up to >> date with Clojure. I've also changed the ClojureScript version to optimize >> for performance over code size as the code size issues are less problematic >> for ClojureScript than they are for the JVM. >> >> http://github.com/clojure/core.match/blob/master/CHANGES.md >> >> Please give it a try! >> >> David >> > > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com 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 unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.