[ANN] edn-java 0.4.3 released
edn-java [1] is a parser and printer for edn [2]. This release fixes issue #35 [3] Allow Symbols to contain $ % =. It should be available on Maven Central within a day. // Ben [1] http://edn-java.bpsm.us [2] https://github.com/edn-format/edn [3] https://github.com/bpsm/edn-java/issues/35 -- -- 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.
Re: [ANN] byte-streams: a rosetta stone for all the byte representations the jvm has to offer
Ropes? http://en.m.wikipedia.org/wiki/Rope_(data_structure) Ben -- This message was sent via electromagnetism. On 02.07.2013, at 12:19, Mikera mike.r.anderson...@gmail.com wrote: This is cool, thanks Zach! Another set of mostly-isomporphic types that this could be applied to is different matrix/array types in core.matrix. core.matrix already has generic conversion mechanisms but they probably aren't as efficient as they could be. I'll take a look and see if the same techniques might be applicable. Quick question for you and the crowd: does there exist or should we build a standard immutable byte data representation for Clojure? I think this is often needed: ByteBuffers and byte[] arrays work well enough but are mutable. Byte sequences are nice and idiomatic but have a lot of overhead, so people are often forced to resort to a variety of other techniques. And it would be nice to support some higher level operations on such types, e.g. production of efficient (non-copying) immutable subsequences. From a data structure perspective, I'm imagining something like a persistent data structure with byte[] data arrays at the lowest level. Given the amount of data-processing stuff people are doing, it seems like a reasonable thing to have in contrib at least? On Saturday, 29 June 2013 18:57:58 UTC+1, Zach Tellman wrote: I've recently been trying to pull out useful pieces from some of my more monolithic libraries. The most recent result is 'byte-streams' [1], a library that figures how how to convert between different byte representations (including character streams), and how to efficiently transfer bytes between various byte sources and sinks. The net result is that you can do something like: (byte-streams/convert (File. /tmp/foo) String {:encoding utf-8}) and get a string representation of the file's contents. Of course, this is already possible using 'slurp', but you could also convert it to a CharSequence, or lazy sequence of ByteBuffers, or pretty much anything else you can imagine. This is accomplished by traversing a graph of available conversions (don't worry, it's memoized), so simply defining a new conversion from some custom type to (say) a ByteBuffer will transitively allow you to convert it to any other type. As an aside, this sort of conversion mechanism isn't limited to just byte representations, but I'm not sure if there's another large collection of mostly-isomorphic types out there that would benefit from this. If anyone has ideas on where else this could be applied, I'd be interested to hear them. Zach [1] https://github.com/ztellman/byte-streams -- -- 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. -- -- 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.
Re: edn-format parsers (eg, Common Lisp)?
Perhaps you've not seen this: https://github.com/edn-format/edn/wiki/Implementations (But there's no CL implementation listed there.) //Ben On Tuesday, July 9, 2013, Rich Morin wrote: I'm intrigued by edn (extensible data notation), as described here: https://github.com/edn-format/edn It seems cleaner and more expressive than JSON, so I'm looking into using it for a current project. However, I haven't seen a summary of parser and/or generator implementations for this format. I'm particularly interested in finding an edn parser for Common Lisp. If anyone has something of this nature, please post a note to the list (or contact me offline). If I get some useful responses, I'll put together a wiki page. -r -- http://www.cfcl.com/rdmRich Morin http://www.cfcl.com/rdm/resume r...@cfcl.com javascript:; http://www.cfcl.com/rdm/weblog +1 650-873-7841 Software system design, development, and documentation -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.comjavascript:; 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 javascript:; 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 javascript:;. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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.
Proposed formal syntax for edn
I think it would aid compatibility between edn implementations if we had an agreed upon formal syntax. To that end, I've tried my hand at specifying one. I've posted it as issue 56 on edn-format/edn: https://github.com/edn-format/edn/issues/56 I'll incorporate fixes for any problems that are identified into a copy of the syntax hosted here: https://gist.github.com/bpsm/5951638 I think it would be helpful for any discussion to take place on the issue, since then it would all be in once place. Thanks, Ben -- -- 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.
Re: Proposed formal syntax for edn
On Thu, Jul 18, 2013 at 7:46 PM, kovas boguta kovas.bog...@gmail.comwrote: I agree that would be a Good Thing. This looks like an excellent start. Is this specification executable in Instaparse? IMO specs that are immediately computable are more useful and more likely to be correct. No, not as it stands currently the syntax is surely inedible for Instaparse. I do agree that encoding to work with Instaparse would be an useful additional verification. It is something I've thought about. I may tackle that once I'm confident that the obvious kinks have been worked out of the syntax. // Ben -- -- 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.
core.async: Deprecated - this function will be removed. Use transducer instead
I'm probably just especially dense today, but perhaps someone can give me a poke in the right direction. I'm trying to wrap my head around transducers. (1) For debugging purposes I'd like to be able to consume the values on a channel and put them in a collection to be printed. I'm doing this at the REPL: (async/!! (async/into [] channel)) This seems needlessly clunky. Is this really the best way to accomplish this? (2) async/map is deprecated, what's the alternative, exactly? (let [ch (async/to-chan [1 2 3])] (async/map inc ch)) AFAICT this would produce a channel, which when consumed would yield the values 2 3 4, correct? Now I suppose if I didn't already have the channel ch, I could create one with an associated transformation function, and then stuff the values 1 2 3 into it somehow, right? (let [ch (async/chan nil (map inc))] (async/onto-chan ch [1 2 3]) ch) ;; returns a channel yielding items 2, 3, 4 But, I'm not clear at all how I can apply the operation (inc) to the all values yielded by a channel I already have in my hand. Any help would be appreciated. I feel like I'm missing some critical bit of insight and that async and transducers might just fall into place for me if I could only find out what that bit is. // Ben -- 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/d/optout.
Re: core.async: Deprecated - this function will be removed. Use transducer instead
Thanks Malcolm, you're blog post was a great help to me. On Thu, Feb 19, 2015 at 3:06 AM, Malcolm Sparks malc...@juxt.pro wrote: I have recently written a blog article which explains how to use transducers with core.async. You can find it here: http://malcolmsparks.com/posts/transducers.html On Wednesday, 18 February 2015 21:48:05 UTC, bsmith.occs wrote: I'm probably just especially dense today, but perhaps someone can give me a poke in the right direction. I'm trying to wrap my head around transducers. (1) For debugging purposes I'd like to be able to consume the values on a channel and put them in a collection to be printed. I'm doing this at the REPL: (async/!! (async/into [] channel)) This seems needlessly clunky. Is this really the best way to accomplish this? (2) async/map is deprecated, what's the alternative, exactly? (let [ch (async/to-chan [1 2 3])] (async/map inc ch)) AFAICT this would produce a channel, which when consumed would yield the values 2 3 4, correct? Now I suppose if I didn't already have the channel ch, I could create one with an associated transformation function, and then stuff the values 1 2 3 into it somehow, right? (let [ch (async/chan nil (map inc))] (async/onto-chan ch [1 2 3]) ch) ;; returns a channel yielding items 2, 3, 4 But, I'm not clear at all how I can apply the operation (inc) to the all values yielded by a channel I already have in my hand. Any help would be appreciated. I feel like I'm missing some critical bit of insight and that async and transducers might just fall into place for me if I could only find out what that bit is. // Ben -- 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/d/optout. -- 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/d/optout.
Re: core.async: Deprecated - this function will be removed. Use transducer instead
I'm unclear on one thing: what's the purpose of core.async/pipe? In your blog article, you write: (- source (pipe (chan)) payload-decoder payload-json-decoder) (pipe source destination) just copies elements from source to destination. How is that any different than just using source here directly?: (- source payload-decoder payload-json-decoder) What have I missed? // Ben On Thu, Feb 19, 2015 at 3:06 AM, Malcolm Sparks malc...@juxt.pro wrote: I have recently written a blog article which explains how to use transducers with core.async. You can find it here: http://malcolmsparks.com/posts/transducers.html On Wednesday, 18 February 2015 21:48:05 UTC, bsmith.occs wrote: I'm probably just especially dense today, but perhaps someone can give me a poke in the right direction. I'm trying to wrap my head around transducers. (1) For debugging purposes I'd like to be able to consume the values on a channel and put them in a collection to be printed. I'm doing this at the REPL: (async/!! (async/into [] channel)) This seems needlessly clunky. Is this really the best way to accomplish this? (2) async/map is deprecated, what's the alternative, exactly? (let [ch (async/to-chan [1 2 3])] (async/map inc ch)) AFAICT this would produce a channel, which when consumed would yield the values 2 3 4, correct? Now I suppose if I didn't already have the channel ch, I could create one with an associated transformation function, and then stuff the values 1 2 3 into it somehow, right? (let [ch (async/chan nil (map inc))] (async/onto-chan ch [1 2 3]) ch) ;; returns a channel yielding items 2, 3, 4 But, I'm not clear at all how I can apply the operation (inc) to the all values yielded by a channel I already have in my hand. Any help would be appreciated. I feel like I'm missing some critical bit of insight and that async and transducers might just fall into place for me if I could only find out what that bit is. // Ben -- 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/d/optout. -- 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/d/optout.
[ANN] edn-java 0.4.5 released
edn-java [1] is a parser and printer for edn [2]. This release: * Incorporates a patch from 'redahe' to fix issue 40 where and were not recognized as symbols. [3] It is available on Maven central as I write this. [1] http://edn-java.bpsm.us [2] https://github.com/edn-format/edn [3] https://github.com/bpsm/edn-java/issues/40 // Ben -- 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/d/optout.
Re: Is there a cheet sheet for some of the pure symbolic functions like #'
try googling for clojure reader macros. Dru Sellers mailto:d...@drusellers.com June 5, 2015 at 22:05via Postbox https://www.postbox-inc.com/?utm_source=emailutm_medium=sumlinkutm_campaign=reach Trying to google what #' means is tricky to say the least. Is there a good name for these that I can google to read up on them? Thank you. -d -- 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 mailto:clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Sent from Postbox https://www.postbox-inc.com/?utm_source=emailutm_medium=siglinkutm_campaign=reach -- 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/d/optout.
[ANN] edn-java 0.4.6 released
edn-java [1] is a parser and printer for edn [2]. This release: * Teaches the default parser to produce values that can participate in Java serialization. [3] It should be appearing on Maven Central shortly. // Ben [1] http://edn-java.bpsm.us [2] https://github.com/edn-format/edn [3] https://github.com/bpsm/edn-java/issues/43 -- 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/d/optout.
[ANN] edn-java 0.5.0 released
edn-java [1] is a parser and printer for edn [2]. This release: * Can read namespaced maps as per CLJ-1910 [47] * Throws an exception when asked to read a map or set with duplicates [49] It should be appearing on Maven Central shortly. // Ben [1] http://edn-java.bpsm.us [2] https://github.com/edn-format/edn [47] https://github.com/bpsm/edn-java/issues/47 [49] https://github.com/bpsm/edn-java/issues/49 -- 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/d/optout.