Re: symbol grammar

2014-05-24 Thread Benjamin R. Haskell
Interesting. This is a change in 1.6.0: ; => test.clj (let [sym 'foo/bar/baz/bot] (prn {:name (name sym) :namespace (namespace sym) :version *clojure-version*})) ;; Running for all the (release) versions I had locally: {:name "bot", :namespace "foo/bar/baz", :version {:major 1,

Re: symbol grammar

2014-05-24 Thread Gregg Reynolds
On Sat, May 24, 2014 at 2:21 PM, Mike Fikes wrote: > Hey Greg, did your benchmark compare /|[\\D&&[^/]] to \\D or did it compare > the existing Clojure regex to a shortened one, making your substitution? > > (If it was the former, perhaps the existing regex is more efficient owing to > the repet

Re: symbol grammar

2014-05-24 Thread Gregg Reynolds
On Sat, May 24, 2014 at 3:14 PM, Benjamin R. Haskell wrote: > On Sat, May 24, 2014 at 3:09 PM, Gregg Reynolds wrote: >> >> Hi, >> >> In working on an ANTLR grammar for Clojure I came across this regex in >> clojure.lang.LispReader which is used in matchSymbol: >> >> symbolPat == [:]?([\\D&&[^/]].

Re: symbol grammar

2014-05-24 Thread Benjamin R. Haskell
On Sat, May 24, 2014 at 3:09 PM, Gregg Reynolds wrote: > Hi, > > In working on an ANTLR grammar for Clojure I came across this regex in > clojure.lang.LispReader which is used in matchSymbol: > > symbolPat == [:]?([\\D&&[^/]].*/)?(/|[\\D&&[^/]][^/]*) > > Look at the first part of the second group

symbol grammar

2014-05-24 Thread Mike Fikes
Hey Greg, did your benchmark compare /|[\\D&&[^/]] to \\D or did it compare the existing Clojure regex to a shortened one, making your substitution? (If it was the former, perhaps the existing regex is more efficient owing to the repetition of the expression /|[\\D&&[^/]] ). - Mike -- You rec

symbol grammar

2014-05-24 Thread Gregg Reynolds
Hi, In working on an ANTLR grammar for Clojure I came across this regex in clojure.lang.LispReader which is used in matchSymbol: symbolPat == [:]?([\\D&&[^/]].*/)?(/|[\\D&&[^/]][^/]*) Look at the first part of the second group: /|[\\D&&[^/]] Am I missing something or is that equal to \\D? In

Re: SocketError when using DataInputStream with Clojure TCP server

2014-05-24 Thread Dylan Gleason
Silly error -- I neglected to bind DataInputStream to the socket's input stream, i.e. (let [reader (DataInputStream. (.getInputStream socket))] ... ) On Thu, May 22, 2014 at 9:08 PM, Dylan Gleason wrote: > I am working with the TCP server example from the *Clojure Cookbook* to > create an echo s

Re: [ANN] core.async (and more) video tutorials

2014-05-24 Thread Joel Holdbrooks
Zippers might be another good topic. They ship with Clojure and are a bit mystical to folks who are curious but don't know how to get started. On Wednesday, May 21, 2014 3:32:55 PM UTC-7, tbc++ wrote: > > From time to time I get asked to do more writing on core.async, and I've > come to the real

[ANN] Garden 1.1.7

2014-05-24 Thread Joel Holdbrooks
Garden, a library for authoring stylesheets in Clojure and ClojureScript, is now 1.1.7. ADDED: Support for :preamble IMPROVED: Support for meta data in garden.def/* macros https://github.com/noprompt/garden -- You received this message because you are subscribed to the Google Groups "Clojure"

Re: [ANN] core.async (and more) video tutorials

2014-05-24 Thread Timothy Baldridge
A Cursive Clojure video is in the pipeline. Thanks for the idea! Timothy On Fri, May 23, 2014 at 9:25 AM, Juan Manuel Gimeno Illa wrote: > The videos look very good and seem very interesting. > > One idea: some video about how to create & configure a project in cursive > would be helpful as we

[ANN] clojure-scheme - Compiling Clojure to Scheme to C

2014-05-24 Thread Dry Jin
Great work! Many thanks. -- 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 g

Re: How to refactor data safely?

2014-05-24 Thread Laurent PETIT
So you want a transition phase where existing consuming code can work with both data shapes, and then start fixing functions one at a time to use the new data shape, until you reach the point where you have only the new data shape produced / consumed in your application? Current consumer function