Out of Memory Error
hi , guys I wrote the following codes to parse log files. it's alright to parse small one. But with big log files , i got the following error: OutOfMemoryError GC overhead limit exceeded clojure.core/line-seq (core.clj:2679) (defn parse-file [file] (with-open [rdr (io/reader file)] (println Statistic result : (parse-recur rdr (defn parse-recur [rdr] (let [lines (line-seq rdr) counts (count lines)] (loop [len counts res {}] (if (zero? len) res (recur (dec len) (update-res res (nth lines (- counts len (defn update-res [res line] (let [params (string/split line #,) id (if ( (count params) 1) (params 0) 0)] (if (res id) (update-in res [id] inc) (assoc res id 1 How can fix this bug ? and how to optimize this produce to run faster ? Any suggestion will be appreciated~ BR 刘家齐 (Jacky Liu) 手机:15201091195邮箱:liujiaq...@gmail.com Skype:jacky_liu_1987 QQ:406229156 -- -- 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: SuperShuttle sharing, 7 pm 11/13 from IAD?
Hi, Am Dienstag, 12. November 2013 03:18:55 UTC+1 schrieb Rich Morin: Does anyone want to split a SuperShuttle ticket from IAD to the Embassy Suites in Alexandria, VA, about 7 pm on 11/13? While I do not need one for IAD-Embassy Suites, I would split one the other way round on. My flight departs on Sat 11/16 at 18:15 so timing is a bit tight. Contact me at the conj :-) -billy. -- -- 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: Out of Memory Error
Yeah, rewrite that to not hold the head of lines. In particular, get rid of counts entirely, get rid of (nth lines ...), and use something like (loop [lines (seq lines) res {}] (if lines (recur (next lines) (update-res res (first lines))) res)) as your loop. On Tue, Nov 12, 2013 at 3:19 AM, Jiaqi Liu liujiaq...@gmail.com wrote: hi , guys I wrote the following codes to parse log files. it's alright to parse small one. But with big log files , i got the following error: OutOfMemoryError GC overhead limit exceeded clojure.core/line-seq (core.clj:2679) (defn parse-file [file] (with-open [rdr (io/reader file)] (println Statistic result : (parse-recur rdr (defn parse-recur [rdr] (let [lines (line-seq rdr) counts (count lines)] (loop [len counts res {}] (if (zero? len) res (recur (dec len) (update-res res (nth lines (- counts len (defn update-res [res line] (let [params (string/split line #,) id (if ( (count params) 1) (params 0) 0)] (if (res id) (update-in res [id] inc) (assoc res id 1 How can fix this bug ? and how to optimize this produce to run faster ? Any suggestion will be appreciated~ BR 刘家齐 (Jacky Liu) 手机:15201091195邮箱:liujiaq...@gmail.com Skype:jacky_liu_1987 QQ:406229156 -- -- 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: [ANN] Yesql 0.2.1 - Clojure SQL queries rethought.
Hi Kris, I am not sure about that. On the other hand, it will be boring to write 20 query in 20 different files. Could you please check: https://developers.google.com/closure/templates/docs/helloworld_js Here comment contains meta data for core part. Similarly, query'd contain meta data in comment part. Query will be identified based on meta data (def query {:name-of-the-file {:name named-of-the-query :query query-body :doc doc}}) Please find sql file example in bellow: -- {:doc Counts the users in a given country. :name by_controry_code :query SELECT count(*) AS count FROM user WHERE country_code = :country_code -- } -- {:doc Counts the users in a given country. :name by_id :query SELECT count(*) AS count FROM user WHERE id = :id -- } Hi Mamun, Hmm...I hadn't planned on it, but I could see it would suit some people's development style. (It could get messy, but so can Clojure namespaces if you're undisciplined. The developer should be allowed to take responsibility.) The tricky parts would be: - How would you delimit the various queries? In a clear, portable way that allowed for docstrings? - How would you refer to the individual queries? Some kind of mandatory '-- NAME: foo-query' syntax? Any thoughts? Kris On Monday, 11 November 2013 14:46:55 UTC, Mamun wrote: Hi Kris, It's look fine. Is is possible to to add more query in one sql file? I mean- I'd like to create one sql file and store all query on that file. BR, Mamun On Monday, November 11, 2013 2:38:27 PM UTC+1, Kris Jenkins wrote: Thanks David, that's nice of you to say. I know exactly what you mean - I didn't want to be the guy to write yet another Clojure/SQL library - but when I figured out why none of the existing ones was working for me, I had no choice. :-D There's still plenty that can be done with the implementation, but hopefully the world will look kindly on the design, and it can evolve from there... Kris On Monday, 11 November 2013 11:45:21 UTC, David Della Costa wrote: I was about to be like, oh no, not another one! and then I read the README and I thought, oh, interesting... So, kudos on thinking outside the box. I certainly agree with a lot of the points you've made. I'll definitely be playing around with this. Cheers, DD (2013/11/11 20:10), Kris Jenkins wrote: https://github.com/krisajenkins/yesql Yesql is a simple library for blending SQL Clojure together, cleanly. Here's how it works https://github.com/krisajenkins/yesql#rationale, and how to use it https://github.com/krisajenkins/yesql#example-usage. Feedback welcomed, Kris -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@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+u...@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+u...@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: [ANN] Yesql 0.2.1 - Clojure SQL queries rethought.
My primary motivation is for smoother development. Both the editors I use have good SQL modes that do more than just highlighting - they take care of schema exploration, autocomplete, indentation, memorising bind parameters, previewing results, etc. I want to use them to develop a SQL query as a separate entity, check it, and then wire it into the app later. (I also like keeping the file separate so that down the line I can easily do things like add EXPLAIN as the first line, and see what the query plan is.) Syntax highlighting is a nice to have. And I've looked in that directionhttps://github.com/krisajenkins/vim-java-sql in earlier explorations https://github.com/krisajenkins/vim-clojure-sql of the problem. For my money it's left wanting. It's better to make both languages first class citizens. There's no getting away from the fact that they're separate languages which are strong in their own domains, and are just begging for a cleaner connection point. On Monday, 11 November 2013 23:01:19 UTC, Brian Craft wrote: What prevents you from formatting the example with the clojure string of sql like the example with the separate file of sql? Is the separate file just for the sake of syntax highlighting? -- -- 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] Yesql 0.2.1 - Clojure SQL queries rethought.
It depends on which kind of composability you mean. If we're talking about a SELECT ... FROM ... here with a WHERE ... there, I don't see why not. It's a down-the-road feature, but I'm open to it. But the kind of composability that would get me excited is the cascalog/datalog kind. Where you could say, SELECT * FROM employee and mix that with SELECT * FROM deparment and get an automatic, sensibly-optimised join. That's real composibility, beyond mere string concatenation. No, I don't see Yesql ever supporting that. (There again, I haven't seen it from any of the Clojure-SQL-DSLs either. If you have, please point me to them. I'd be interested!) Cheers, Kris On Tuesday, 12 November 2013 03:35:46 UTC, John Hume wrote: For me, the one feature that can justify an internal DSL for generating SQL is the ability to compose queries. I assume that's not on the Yesql roadmap. On Nov 11, 2013 5:10 AM, Kris Jenkins krisaj...@gmail.com javascript: wrote: https://github.com/krisajenkins/yesql Yesql is a simple library for blending SQL Clojure together, cleanly. Here's how it works https://github.com/krisajenkins/yesql#rationale, and how to use it https://github.com/krisajenkins/yesql#example-usage. Feedback welcomed, Kris -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@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+u...@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+u...@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.
Do (should?) these core.async utilities exist?
I've been playing with core.async, and have come across a couple of things that it seemed would probably be common use cases, but can't find anything in the library that addresses them. I'd be grateful for pointers if any of these do exist and I'm just missing them, or suggestions for reasons why I don't really want them and should be tackling the problem in a different way: A way to convert a channel to a lazy sequence (i.e. build the sequence by repeatedly reading from a channel until it's closed). It seems odd that core.async provides a means to turn a lazy sequence into a channel (to-chan) but not the inverse? An equivalent of doseq for a channel, which repeatedly reads from the channel and calls its body with the result of doing so, terminating when the channel is closed. Of course, both of these are easy enough to write, but I'm wondering whether the fact that they aren't provided as standard is telling me something? -- paul.butcher-msgCount++ Silverstone, Brands Hatch, Donington Park... Who says I have a one track mind? http://www.paulbutcher.com/ LinkedIn: http://www.linkedin.com/in/paulbutcher Skype: paulrabutcher -- -- 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: How to interrupt execution and open a debugger/REPL?
On Nov 12, 2013, at 1:58 AM, juan.facorro wrote: Hi Alexandru, As Andy pointed out there's the emacs+Ritz option which has quite a few features, but if the main thing you want to do is inspect the locals and the current stack trace, you could use a macro as the one presented in the book The Joy of Clojure (Chapter 8: Macros). The macro that's presented there is called break. What it does is it traps the existing locals in a Clojure map when the macro is called and uses their values to eval the forms you input in the breaking repl. The version in the book uses clojure.main/repl with some options to cange the prompt, the reader and the evaler. This is exciting but is there any way to get (break) to be called when an unexpected exception is raised (in the context in which it is raised)? That would be my own #1 wish for Clojure debugging. Also nice, and FWIW also common in Common Lisp environments from ancient times, would be the ability to force a within-context call to (break) from the keyboard, e.g. when your code might be stuck in an infinite loop and you want to know why. -Lee -- -- 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.
Autocomplete for new dependency - counterclockwise
Hi there ; I have a counterclockwise project on eclipse. I have just added a new library dependency to project.clj. What do i need to do so that the the namespaces provided by the new library are available during autocomplet.. especially on the repl. Regards. Josh -- -- 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: Autocomplete for new dependency - counterclockwise
You only need to restart the REPL since the new library needs to be on the classpath. On Tuesday, November 12, 2013 2:48:21 PM UTC+1, Josh Kamau wrote: Hi there ; I have a counterclockwise project on eclipse. I have just added a new library dependency to project.clj. What do i need to do so that the the namespaces provided by the new library are available during autocomplet.. especially on the repl. Regards. Josh -- -- 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.
Regarding Clojure's license
To Rich Hickey: Why did you choose the Eclipse Public License for Clojure? 1. How did you make your license selection? 2. What advantages does the EPL have over other free/open-source software licenses such as GPL, LGPL, BSD, MIT, Apache, at least for the Clojure project? -- -- 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.
[ANN] friend-oauth2 0.1.1
friend-oauth2 0.1.1 is out. https://github.com/ddellacosta/friend-oauth2 This is small fix release: Kevin Lynagh's credential-fn addition in there for real, this time. Thanks to Jérémie Campari (https://github.com/jeremieca) for testing it out and discovering this issue. DD (2013/11/07 21:43), Dave Della Costa wrote: Hi folks, friend-oauth2 0.1.0 is out. https://github.com/ddellacosta/friend-oauth2 Changes: - adds credential-fn for injecting your own functionality in the post-3rd-party-authentication stage. Thanks go to Kevin Lynagh (https://github.com/lynaghk) for this feature. - More refactoring of entire codebase. Tests and code re-written to be more idiomatic Clojure. Examples have been updated to reflect these changes: https://github.com/ddellacosta/friend-oauth2-examples ...with additional thanks to Ken Restivo (https://github.com/kenrestivo) for code improvements which were incorporated both into the friend-oauth2 lib and the examples. Please feel free to drop me a line if you have questions or comments. And of course bug reports/feature requests/patches/etc. welcome. Cheers, Dave -- -- 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: Autocomplete for new dependency - counterclockwise
Thanks. I had tried that. I guess i was doing something wrong. Let me try again. Josh On Tue, Nov 12, 2013 at 4:53 PM, Niels van Klaveren niels.vanklave...@gmail.com wrote: You only need to restart the REPL since the new library needs to be on the classpath. On Tuesday, November 12, 2013 2:48:21 PM UTC+1, Josh Kamau wrote: Hi there ; I have a counterclockwise project on eclipse. I have just added a new library dependency to project.clj. What do i need to do so that the the namespaces provided by the new library are available during autocomplet.. especially on the repl. Regards. Josh -- -- 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: Regarding Clojure's license
You may wish to look at this post: https://groups.google.com/d/msg/clojure/bpnKr88rvt8/VIeYR6vFztAJ - James On 12 November 2013 09:55, musicdenotat...@gmail.com wrote: To Rich Hickey: Why did you choose the Eclipse Public License for Clojure? 1. How did you make your license selection? 2. What advantages does the EPL have over other free/open-source software licenses such as GPL, LGPL, BSD, MIT, Apache, at least for the Clojure project? -- -- 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: Autocomplete for new dependency - counterclockwise
After saving the edited project.clj, the dependencies should be downloaded, placed in the local repository, and linked inside the Leiningen Dependencies section of your project. Be sure to check if the jar is inside the Leiningen Dependencies before starting the REPL anew. On Tuesday, November 12, 2013 3:25:35 PM UTC+1, Josh Kamau wrote: Thanks. I had tried that. I guess i was doing something wrong. Let me try again. Josh On Tue, Nov 12, 2013 at 4:53 PM, Niels van Klaveren niels.va...@gmail.comjavascript: wrote: You only need to restart the REPL since the new library needs to be on the classpath. On Tuesday, November 12, 2013 2:48:21 PM UTC+1, Josh Kamau wrote: Hi there ; I have a counterclockwise project on eclipse. I have just added a new library dependency to project.clj. What do i need to do so that the the namespaces provided by the new library are available during autocomplet.. especially on the repl. Regards. Josh -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@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+u...@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+u...@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.
Re: Regarding Clojure's license
There are answers to some related questions that have been discussed in previous discussions in this group. For example, the last time the question of the license arose, Sean Corfield pointed at the following discussion involving Rich Hickey from 2008: https://groups.google.com/forum/#!topic/clojure/bpnKr88rvt8 Andy On Tue, Nov 12, 2013 at 1:55 AM, musicdenotat...@gmail.com wrote: To Rich Hickey: Why did you choose the Eclipse Public License for Clojure? 1. How did you make your license selection? 2. What advantages does the EPL have over other free/open-source software licenses such as GPL, LGPL, BSD, MIT, Apache, at least for the Clojure project? -- -- 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.
cider status
The last (non-authoritative) word on cider on this mailing list[1] was that it is unstable. Is that really the case? Is it just a matter of many packages that depend on it not being updated? I tried checking the official mailing list[2] and was surprised to find that it's private. I'm trying to understand this because I submitted a recipe to MELPA, and they will no longer accept packages that depend on nrepl.el. Thanks. -hume. [1] https://groups.google.com/forum/#!searchin/clojure/cider/clojure/JfS7ZzePtA4/ZAPHHn1zS5gJ Tim Visher: Also, Cider is _unstable_ at this point. I'm still using nrepl 0.2.0 and it's working fine. I would _not_ recommend upgrading to Cider at this point. [2] https://groups.google.com/forum/#!forum/cider-emacs -- -- 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.
[ANN] Pocheshiro 0.1.1 (wrapper for Apache Shiro)
Pocheshiro (https://github.com/inventiLT/Pocheshiro) is a Clojure wrapper for the Apache Shiro[1] security library tailored for use with Ring/Compojure. Pocheshiro is a viable alternative for Friend if you're running in a servlet container and/or already know Apache Shiro. It's a thin wrapper over Apache Shiro, the only external addition being a password hashing service with Bcrypt. This is the first public release. Any comments, reviews or pull requests are welcome! :) See https://github.com/inventiLT/Pocheshiro for more information and a user guide. [1] http://shiro.apache.org/ -- -- 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: cider status
I have tried it a couple of times and keep reverting back to nrepl. One of the biggest issues is nrepl-ritz which depends on nrepl and not nrepl-client. So switching to cider appears to mean ditching ritz. Name changes always cause a significant amount of distruption. I understand the rationale but only a short time after the slime/swank split it's a little unwelcome. Especially as I have code (https://github.com/phillord/tawny-owl/blob/master/emacs/tawny-mode.el) that I use daily and which depends on nrepl. Phil John D. Hume duelin.mark...@gmail.com writes: The last (non-authoritative) word on cider on this mailing list[1] was that it is unstable. Is that really the case? Is it just a matter of many packages that depend on it not being updated? I tried checking the official mailing list[2] and was surprised to find that it's private. I'm trying to understand this because I submitted a recipe to MELPA, and they will no longer accept packages that depend on nrepl.el. Thanks. -hume. [1] https://groups.google.com/forum/#!searchin/clojure/cider/clojure/JfS7ZzePtA4/ZAPHHn1zS5gJ Tim Visher: Also, Cider is _unstable_ at this point. I'm still using nrepl 0.2.0 and it's working fine. I would _not_ recommend upgrading to Cider at this point. [2] https://groups.google.com/forum/#!forum/cider-emacs -- -- Phillip Lord, Phone: +44 (0) 191 222 7827 Lecturer in Bioinformatics, Email: phillip.l...@newcastle.ac.uk School of Computing Science, http://homepages.cs.ncl.ac.uk/phillip.lord Room 914 Claremont Tower, skype: russet_apples Newcastle University, twitter: phillord NE1 7RU -- -- 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: Regarding Clojure's license
I think his main intention was to keep the traffic up on the Clojure mailing list. It's important for any new(ish) language to have good stats on mailing list traffic, and the decision to use EPL results in regular why, why, why? threads. While we are talking, does anyone know why (contains? [:a :b :c] :b) returns false? Phil musicdenotat...@gmail.com writes: To Rich Hickey: Why did you choose the Eclipse Public License for Clojure? 1. How did you make your license selection? 2. What advantages does the EPL have over other free/open-source software licenses such as GPL, LGPL, BSD, MIT, Apache, at least for the Clojure project? -- -- Phillip Lord, Phone: +44 (0) 191 222 7827 Lecturer in Bioinformatics, Email: phillip.l...@newcastle.ac.uk School of Computing Science, http://homepages.cs.ncl.ac.uk/phillip.lord Room 914 Claremont Tower, skype: russet_apples Newcastle University, twitter: phillord NE1 7RU -- -- 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: Regarding Clojure's license
As James said, you've misunderstood the rationale. It's also worth pointing out that a lot of US companies won't use GPL-licensed software (and won't pay for a closed source version), and many aren't comfortable with LGPL either. EPL, Apache and others are more acceptable to many commercial organizations. And, yes, I speak as someone who has had to endure the legal team of a large corporation conducting open source software audits across projects I've worked on. If you Google for differences between EPL and GPL you'll find several interesting discussions since this seems to crop up for almost every EPL-licensed project... The differences between EPL and LGPL are more subtle but still important. Sean On Tue, Nov 12, 2013 at 7:17 AM, Kalinni Gorzkis musicdenotat...@gmail.com wrote: I will not be dual licensing with GPL or LGPL. Both licenses allow the creation of derived works under GPL, a license I cannot use in my work. Allowing derived works I cannot use is not reciprocal and make no sense for me. 1. First, the license allow proprietary derivative works anyway. 2. That's also the point of the GPL. It is intended to make any derivative work available to the author usable to the author. Thus, Rich Hickey's choice of the EPL has the same rationale as the GPL. That violates the principle of free software. License incompatibilities like this divide the open-source community. Please change. -- -- 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. -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- -- 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: Regarding Clojure's license
On 12 November 2013 16:26, Phillip Lord phillip.l...@newcastle.ac.ukwrote: While we are talking, does anyone know why (contains? [:a :b :c] :b) returns false? This would be better placed in its own thread I think, but it's because the contains? function checks for the presence of keys, not values. In a vector, the keys are the indexes: (contains? [:a :b :c] 1) = true. - James -- -- 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: Regarding Clojure's license
2013/11/12 Kalinni Gorzkis musicdenotat...@gmail.com That violates the principle of free software. License incompatibilities like this divide the open-source community. Please change. Said principle of free software is not well defined. The open source community is already widely divided in case you did not notice: there are 4-5 commonly used open source licenses, and no common agreement about what free is supposed to mean. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -- -- 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] Parkour: Hadoop MapReduce in idiomatic Clojure
Great stuff! Just as a note, Cascalog 2.0 has a lower-level DSL that lets you write Cascading in idiomatic clojure. Here are some test examples: https://github.com/nathanmarz/cascalog/blob/develop/cascalog-core/test/cascalog/cascading/operations_test.clj Marshall Bockrath-Vandegrift wrote: ronennark...@gmail.com writes: Thanks for releasing this, I personally had to re-invent such functionality over clojure-hadoop Glad to do so. If you’ve been exploring a similar software space, would be very interested in additional specific feedback. And PRs :-). Did you happen to test this over AWS EMR? I have not run it live on EMR, but the unit test matrix includes Hadoop versions 0.20.205, 1.0.3, and 2.2.0, which are the sufficiently-recent Hadoop releases EMR’s documentation claims are supported. -- Sam Ritchie, Twitter Inc 703.662.1337 @sritchie -- -- 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: Regarding Clojure's license
Le mardi 12 novembre 2013, James Reeves a écrit : On 12 November 2013 16:26, Phillip Lord phillip.l...@newcastle.ac.ukjavascript:_e({}, 'cvml', 'phillip.l...@newcastle.ac.uk'); wrote: While we are talking, does anyone know why (contains? [:a :b :c] :b) returns false? This would be better placed in its own thread I think, but it's because the contains? function checks for the presence of keys, not values. In a vector, the keys are the indexes: (contains? [:a :b :c] 1) = true. Shhh, you're killing the purpose of the question to maintain high volume on the mailing list by unveiling the result too early ! As far as I'm concerned, I support Philip request. Please fix the behavior of the contains? function. - James -- -- 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:_e({}, 'cvml', '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 javascript:_e({}, 'cvml', 'clojure%2bunsubscr...@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 javascript:_e({}, 'cvml', 'clojure%2bunsubscr...@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: [ANN] Pocheshiro 0.1.1 (wrapper for Apache Shiro)
2013/11/12 dm3 deadmo...@gmail.com See https://github.com/inventiLT/Pocheshiro for more information and a user guide. Thank you for producing the guide! -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -- -- 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: Regarding Clojure's license
James Reeves ja...@booleanknot.com writes: On 12 November 2013 16:26, Phillip Lord phillip.l...@newcastle.ac.ukwrote: While we are talking, does anyone know why (contains? [:a :b :c] :b) returns false? This would be better placed in its own thread I think, but it's because the contains? function checks for the presence of keys, not values. In a vector, the keys are the indexes: (contains? [:a :b :c] 1) = true. (defn joke? Returns true if an attempt at humour is present in the given collection of words, otherwise returns false. Note that for internet based collections of words, 'joke?' operates in polynomial time, and often returns the wrong answer anyway. {:added 1.6} [content] (. clojure.lang.RT (joke content))) Phil -- -- 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: Regarding Clojure's license
sorry for nitpicking but Richard Stallman has spent some 35 years explaining/defining what is meant by free. I will not pretend that I know what all these licences say or even that I spend too much time deciding what license to use for my own code but at least a philosophical level, I stand by Stallman's definition. Jim On 12/11/13 16:40, Michael Klishin wrote: 2013/11/12 Kalinni Gorzkis musicdenotat...@gmail.com mailto:musicdenotat...@gmail.com That violates the principle of free software. License incompatibilities like this divide the open-source community. Please change. Said principle of free software is not well defined. The open source community is already widely divided in case you did not notice: there are 4-5 commonly used open source licenses, and no common agreement about what free is supposed to mean. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -- -- 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: cider status
On Tue, Nov 12, 2013 at 10:22 AM, Phillip Lord phillip.l...@newcastle.ac.uk wrote: I have tried it a couple of times and keep reverting back to nrepl. One of the biggest issues is nrepl-ritz which depends on nrepl and not nrepl-client. So switching to cider appears to mean ditching ritz. Although I don't understand why anyone thought it was a good idea to change package names, I can confirm that for my daily clojure development, the transition was fairly painless (uninstall/reinstall packages and update some init.el configuration) and has not caused any problems with the set of emacs clojure tools I use. (which does not include ritz) I don't remember when I made the move, but it's been at least a week. -- -- 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: cider status
Stable for me, the only outside tool I use that relies on it is ac-nrepl, but switching the hooks over for cider was painless. On Tue, Nov 12, 2013 at 12:35 PM, Norman Richards o...@nostacktrace.comwrote: On Tue, Nov 12, 2013 at 10:22 AM, Phillip Lord phillip.l...@newcastle.ac.uk wrote: I have tried it a couple of times and keep reverting back to nrepl. One of the biggest issues is nrepl-ritz which depends on nrepl and not nrepl-client. So switching to cider appears to mean ditching ritz. Although I don't understand why anyone thought it was a good idea to change package names, I can confirm that for my daily clojure development, the transition was fairly painless (uninstall/reinstall packages and update some init.el configuration) and has not caused any problems with the set of emacs clojure tools I use. (which does not include ritz) I don't remember when I made the move, but it's been at least a week. -- -- 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.
ANN Machine Head 1.0.0-beta4
Machine Head [1] is a minimalistic Clojure MQTT client. beta4 is a development release that works around a bug in the underlying library (Eclipse Paho Java). Release notes: http://blog.clojurewerkz.org/blog/2013/11/12/machine-head-1-dot-0-0-beta4-is-released/ 1. http://clojuremqtt.info/ -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -- -- 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: Regarding Clojure's license
I'm afraid your jokes are a little too subtle for me, Phillip :) - James On 12 November 2013 17:01, Phillip Lord phillip.l...@newcastle.ac.ukwrote: James Reeves ja...@booleanknot.com writes: On 12 November 2013 16:26, Phillip Lord phillip.l...@newcastle.ac.uk wrote: While we are talking, does anyone know why (contains? [:a :b :c] :b) returns false? This would be better placed in its own thread I think, but it's because the contains? function checks for the presence of keys, not values. In a vector, the keys are the indexes: (contains? [:a :b :c] 1) = true. (defn joke? Returns true if an attempt at humour is present in the given collection of words, otherwise returns false. Note that for internet based collections of words, 'joke?' operates in polynomial time, and often returns the wrong answer anyway. {:added 1.6} [content] (. clojure.lang.RT (joke content))) Phil -- -- 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.
ANN Neocons 2.0 is released
Neocons [1] is a Clojure client for Neo4J server (REST API). 2.0 is a major release that focuses on the new features in Neo4J 2.0. Release notes: http://blog.clojurewerkz.org/blog/2013/11/12/neocons-2-dot-0-0-is-released/ Documentation is updated for 2.0 and covers all the new stuff: http://clojureneo4j.info I'd like to thank Rohit Aggarwal who contributed most of the improvements in this release. 1. http://clojureneo4j.info -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -- -- 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] Parkour: Hadoop MapReduce in idiomatic Clojure
Sam Ritchie sritchi...@gmail.com writes: Great stuff! Thanks! Just as a note, Cascalog 2.0 has a lower-level DSL that lets you write Cascading in idiomatic clojure. Here are some test examples: https://github.com/nathanmarz/cascalog/blob/develop/cascalog-core/test/cascalog/cascading/operations_test.clj Cool. I did not know about that part of the API, which does look nifty. I’m working on a blog post digging into this some, and I’m hoping to snag one of the lightning talk spots at the Conj, but – I do think there’s a big difference between writing job-flows which use a `map`-like `map*` function and literally calling `map` in a literal plain function[1]. Want a state-bearing sequence-mapping transformation? With Parkour, you can just grab bbloom’s `transduce` library[2] and it works just as well in a remote task as it does in local code, because it does in fact do literally the same thing in both scenarios. You can get similar results in Cascalog/Cascading, but need to first re-express the functionality in terms of Cascalog/Cascading’s abstractions vs just leaning directly on Clojure’s. The algebraic execution planners backing Cascading- and FlumeJava-likes allow powerful optimization of cross-task operations, but do require all transformations to be expressed in terms of primitives the planners understand. Parkour loses the cross-task awareness, but allows MapReduce tasks to do anything which can be expressed as operations on a Clojure reducible collection. This can include repeated partial reductions (even map-side), full task-partition reductions, and arbitrary numbers of disjoint task outputs. It’s not a perfect example of what I’m talking about, but Parkour does include an example implementation of the MapReduce algorithm for transforming a graph into a sparse matrix of absolute-indexed cells: https://github.atl.damballa/rnd/parkour/blob/master/examples/parkour/examples/matrixify.clj I’ll see if I can distill out a more compelling example from some real jobs prior to the Conj :-). [1] It admittedly hurts this point a bit that Parkour exclusively uses reducers instead of lazy sequences, but I’m hoping shortly to add the necessary glue to allow tasks to work via seqs too when desired. [2] https://github.com/brandonbloom/transduce -- Marshall Bockrath-Vandegrift llas...@damballa.com Principal Software Engineer, Damballa RD -- -- 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: gemacl: Scientific computing application written in Clojure
It is hard to say where the root of your problem lies without looking at the code more. I would look closely at laziness. I find that lazy evaluation really kills parallelization. On Friday, November 8, 2013 4:42:11 PM UTC-5, Jose M. Perez Sanchez wrote: Hello everyone: This is my first post here. I'm a researcher writing a numerical simulation software in Clojure. Actually, I'm porting an app a coworker and I wrote in C/Python (called GEMA) to Clojure: The app has been in use for a while at our group, but became very difficult to maintain due to outgrowing its initial design and being very monolithic and at the same time I wanted to learn Functional Programming, so I've been working in the port for a few weeks. The simulations are embarrassingly parallel Random Walk calculations used to study gas diffusion and Helium-3 Magnetic Resonance diffusion measurements in the lungs. At the core of the simulations we do there is a 3D geometrical model of the pulmonary acinus. The new application is designed in a modular fashion, I'm including part of the current README file with :browse confirm wa a description. I've approached my institution's Technology Transfer Office to request authorization to release the software under an Open Source license, and if everything goes well the code will be published soon. I'm very happy in my Clojure trip so far and all the things I'm learning in the process. One of the things I've observed is poor scaling with the number of threads for more than 4 threads in an 8-core Intel i7 CPU, as follows: NTTime cpu%x8 1 101.9 108 2 54.9 220 4 36.0 430 6 33.9 570 8 32.5 700 10 32.5 720 Computing times reported are just the time spent in the computation of the NT futures (not total program execution time). CPU x8 percent is measured with top in Linux and the % values are approximate, just to give an idea. I'm running on Debian Wheezy with the following Java platform: JRE: OpenJDK Runtime Environment 1.6.0_27-b27 on Linux 3.2.0-4-amd64 (amd64) JVM: OpenJDK 64-Bit Server VM (build 20.0-b12 mixed mode) I'll try in a 16 core (4-way Opteron) soon and see what happens there. The computing happens over an infinite lazy sequence of random walk steps generated with (iterate move particle), when an extraction function gets values from zero to the highest number of random walk steps and adds (conj) the values to be kept to a vector. The resulting vector for each particle is then added (conj) to a global vector for latter storage. I've read the previous post about concurrent performance in AMD processors: https://groups.google.com/forum/#!topic/clojure/48W2eff3caU%5B1-25-false%5D. Have to do it again with more time though, to check whether any of the explanations presented there applies to my application. Best regards, Jose Manuel. -- -- 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: gemacl: Scientific computing application written in Clojure
Sounds like some form of overhead is dominating the computation. How are the infinite sequences being consumed? Is it 1 thread per sequence? How compute-intensive is (move particle) ? What kind of numbers of are talking about in terms of steps, particles? If move is fast, you probably need to batch up your computation. If move is a simple arithmetic operation or otherwise something without an inner loop, I'd make it perform at least 100 iterations per invocation. If you have many particles, I'd pay attention to how the threads are switching between them, and eliminate any switching if possible. I'd definitely recommend removing the global recording to reduce complexity for now. On Fri, Nov 8, 2013 at 4:42 PM, Jose M. Perez Sanchez m...@josemperez.com wrote: Hello everyone: This is my first post here. I'm a researcher writing a numerical simulation software in Clojure. Actually, I'm porting an app a coworker and I wrote in C/Python (called GEMA) to Clojure: The app has been in use for a while at our group, but became very difficult to maintain due to outgrowing its initial design and being very monolithic and at the same time I wanted to learn Functional Programming, so I've been working in the port for a few weeks. The simulations are embarrassingly parallel Random Walk calculations used to study gas diffusion and Helium-3 Magnetic Resonance diffusion measurements in the lungs. At the core of the simulations we do there is a 3D geometrical model of the pulmonary acinus. The new application is designed in a modular fashion, I'm including part of the current README file with :browse confirm wa a description. I've approached my institution's Technology Transfer Office to request authorization to release the software under an Open Source license, and if everything goes well the code will be published soon. I'm very happy in my Clojure trip so far and all the things I'm learning in the process. One of the things I've observed is poor scaling with the number of threads for more than 4 threads in an 8-core Intel i7 CPU, as follows: NTTime cpu%x8 1 101.9 108 2 54.9 220 4 36.0 430 6 33.9 570 8 32.5 700 10 32.5 720 Computing times reported are just the time spent in the computation of the NT futures (not total program execution time). CPU x8 percent is measured with top in Linux and the % values are approximate, just to give an idea. I'm running on Debian Wheezy with the following Java platform: JRE: OpenJDK Runtime Environment 1.6.0_27-b27 on Linux 3.2.0-4-amd64 (amd64) JVM: OpenJDK 64-Bit Server VM (build 20.0-b12 mixed mode) I'll try in a 16 core (4-way Opteron) soon and see what happens there. The computing happens over an infinite lazy sequence of random walk steps generated with (iterate move particle), when an extraction function gets values from zero to the highest number of random walk steps and adds (conj) the values to be kept to a vector. The resulting vector for each particle is then added (conj) to a global vector for latter storage. I've read the previous post about concurrent performance in AMD processors: https://groups.google.com/forum/#!topic/clojure/48W2eff3caU%5B1-25-false%5D. Have to do it again with more time though, to check whether any of the explanations presented there applies to my application. Best regards, Jose Manuel. -- -- 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.
Last chance 2013 State of Clojure ClojureScript survey
This is the final call to participate in the 2013 State of Clojure ClojureScript survey; no more responses will be accepted after noon EST *tomorrow*. http://cemerick.com/2013/11/05/2013-state-of-clojure-clojurescript-survey/ Please take 5 minutes to participate: doing so is very important in assessing the Clojure/ClojureScript community on a number of important topics, and in guiding the efforts of all of the contributors to the languages, tools, and libraries that support it. Cheers, - Chas -- -- 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: Regarding Clojure's license
On Tuesday, November 12, 2013 11:30:23 AM UTC-5, Sean Corfield wrote: It's also worth pointing out that a lot of US companies won't use GPL-licensed software (and won't pay for a closed source version), and many aren't comfortable with LGPL either. I don't see why a company would have any problem at all with *using* LGPL'd software, even in a product. However, I can see the possible complaints if they wanted to *modify* it and then distribute their modified version (since that would then require distributing the modified source along with it). -- -- 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: Regarding Clojure's license
On Tuesday, November 12, 2013 11:40:53 AM UTC-5, Michael Klishin wrote: 2013/11/12 Kalinni Gorzkis musicde...@gmail.com javascript: That violates the principle of free software. License incompatibilities like this divide the open-source community. Please change. Said principle of free software is not well defined. The open source community is already widely divided in case you did not notice: there are 4-5 commonly used open source licenses, and no common agreement about what free is supposed to mean. At http://docs.python-guide.org/en/latest/writing/license/, you'll find what I think is a good and very brief summary of the overall situation. And, as Jim alludes to, lots more specifics are available at http://www.fsf.org/licensing/ and http://www.gnu.org/philosophy/, where this stuff has been well-defined for ages. :) -- -- 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.
How could you solve this problem
Can anyone help me solving this problem in clojure 1196 - Ring of Primes http://coj.uci.cu/24h/problem.xhtml?abb=1196 -- -- 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: Do (should?) these core.async utilities exist?
Hi Paul, Two different reasons: The channel-to-sequence conversion seems like a questionable idea, making seqs that block. The doseq over a channel is easily enough implemented, and was not considered important enough to be on the core API. Stu On Tue, Nov 12, 2013 at 4:48 AM, Paul Butcher p...@paulbutcher.com wrote: I've been playing with core.async, and have come across a couple of things that it seemed would probably be common use cases, but can't find anything in the library that addresses them. I'd be grateful for pointers if any of these do exist and I'm just missing them, or suggestions for reasons why I don't really want them and should be tackling the problem in a different way: - A way to convert a channel to a lazy sequence (i.e. build the sequence by repeatedly reading from a channel until it's closed). It seems odd that core.async provides a means to turn a lazy sequence into a channel (to-chan) but not the inverse? - An equivalent of doseq for a channel, which repeatedly reads from the channel and calls its body with the result of doing so, terminating when the channel is closed. Of course, both of these are easy enough to write, but I'm wondering whether the fact that they aren't provided as standard is telling me something? -- paul.butcher-msgCount++ Silverstone, Brands Hatch, Donington Park... Who says I have a one track mind? http://www.paulbutcher.com/ LinkedIn: http://www.linkedin.com/in/paulbutcher Skype: paulrabutcher -- -- 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: How to interrupt execution and open a debugger/REPL?
On Tuesday, November 12, 2013 4:21:26 AM UTC-8, Lee wrote: On Nov 12, 2013, at 1:58 AM, juan.facorro wrote: Hi Alexandru, As Andy pointed out there's the emacs+Ritz option which has quite a few features, but if the main thing you want to do is inspect the locals and the current stack trace, you could use a macro as the one presented in the book The Joy of Clojure (Chapter 8: Macros). The macro that's presented there is called break. What it does is it traps the existing locals in a Clojure map when the macro is called and uses their values to eval the forms you input in the breaking repl. The version in the book uses clojure.main/repl with some options to cange the prompt, the reader and the evaler. This is exciting but is there any way to get (break) to be called when an unexpected exception is raised (in the context in which it is raised)? That would be my own #1 wish for Clojure debugging. Also nice, and FWIW also common in Common Lisp environments from ancient times, would be the ability to force a within-context call to (break) from the keyboard, e.g. when your code might be stuck in an infinite loop and you want to know why. -Lee Here is a clojure webapp that you run and connect to another clojure process. When an exception happens, the stack trace will appear in the browser, and you can use a repl to examine things in the context of that stack frame. https://github.com/prismofeverything/schmetterling it is very young, but it works, and doesn't require emacs or even any change to the codebase you want to debug (except you need a dt_socket opened and you probably want to disable hotspot or your locals may get optimized away, making inspection more difficult -- -- 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: Regarding Clojure's license
My last post: Humorously, Rich Hickey's choice of the EPL reminds me of the GPL. Both licenses (EPL as used in Clojure and GPL as written) are intended to make modifications usable by the original author. However: 1. You can already create proprietary versions of Clojure; 2. Rich avoided the GPL's words and legal effects, but used one of the GPL's principle. Even the Free Software Foundation says that the GPL is to promote the creation of free/open-source software. Rich has no reason except making derivative works usable by him. The current Clojure license, which is incompatible with the GPL, is effectively the GPL, in spirit and purpose. It's true that authors of FOSS want to get contribution from others, but you can't force others to work for you, or to do something that would potentially benefit you. Rich Hickey says that it does not make sense to allow the creation of derivative works that he can't use. Not so free software. He is like Richard Stallman now. Rich Hickey should visit http://copyfree.org/ to -- -- 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.
[ANN] lein-sphinx - Generate documentation from reStructuredText using Sphinx
I'm happy to announce, just in time for all the great documentation that will be written at Clojure/conj, the initial release of the lein-sphinx plugin. https://github.com/SnootyMonkey/lein-sphinx lein-sphinx makes it easy to configure the build(s) of your Sphinx [1] documentation in your Leiningen project, and then generate docs with the 'lein sphinx' command. No more nasty shell scripts for you! No sir. Feedback, issues, and pull requests are all welcome. Cheers, Sean [1] http://sphinx-doc.org/ -- -- 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: Reactive Programming in Clojure
+1 On Saturday, November 9, 2013 9:28:17 PM UTC, Marco Manzi wrote: Hi all, I'm a young clojure developer. I work as Java developer, but I've falled in love with this fantastic language and I would like to help in some way. Actually I'm following Principles of Reactive Programminghttps://www.coursera.org/course/reactive on Coursera. It is all written in Scala, but I'm not that proficent on Scala, so I'm following it in Clojure, I'm writing some posts on how I'll following it. If anyone has the same need can follow me at http://reactiveclojure.blogspot.it, there is also a github repository where I'm posting the code to make the same assigment as in the coursera. I appreciate any hint you can give. See you :) -- -- 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: cider status
While I'm glad to hear that there are users out there for whom cider is working great, I would still say based on following the project on GitHub that there are far too many issues being filed based on function names not being defined etc. to consider the current release stable. As always, YMMV. On Tue, Nov 12, 2013 at 12:37 PM, Gary Trakhman gary.trakh...@gmail.com wrote: Stable for me, the only outside tool I use that relies on it is ac-nrepl, but switching the hooks over for cider was painless. On Tue, Nov 12, 2013 at 12:35 PM, Norman Richards o...@nostacktrace.com wrote: On Tue, Nov 12, 2013 at 10:22 AM, Phillip Lord phillip.l...@newcastle.ac.uk wrote: I have tried it a couple of times and keep reverting back to nrepl. One of the biggest issues is nrepl-ritz which depends on nrepl and not nrepl-client. So switching to cider appears to mean ditching ritz. Although I don't understand why anyone thought it was a good idea to change package names, I can confirm that for my daily clojure development, the transition was fairly painless (uninstall/reinstall packages and update some init.el configuration) and has not caused any problems with the set of emacs clojure tools I use. (which does not include ritz) I don't remember when I made the move, but it's been at least a week. -- -- 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. -- -- 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: Regarding Clojure's license
On Wed, 13 Nov 2013, musicdenotat...@gmail.com wrote: spirit and purpose. It's true that authors of FOSS want to get contribution from others, but you can't force others to work for you, or to do something that would potentially benefit you. Rich Hickey says that it does not make sense to allow the creation of derivative works that he can't use. Not so free software. He is like Richard Stallman now. Rich Hickey should visit http://copyfree.org/ too I am personally a big proponent of the GPL, but this is NOT the way to do advocacy. Please stop embarrassing yourself and aggravating others by continuing this approach. Paul Snyder -- -- 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: Regarding Clojure's license
Vote for you, Man!!! On Tuesday, November 12, 2013 5:55:00 PM UTC+8, Kalinni Gorzkis wrote: To Rich Hickey: Why did you choose the Eclipse Public License for Clojure? 1. How did you make your license selection? 2. What advantages does the EPL have over other free/open-source software licenses such as GPL, LGPL, BSD, MIT, Apache, at least for the Clojure project? -- -- 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: Step by step debugging
Sounds like a fun project, but probably non-trivial. Too bad... unless someone wants to have that fun and then share it with the rest of us :-) I have started a project that does this: a browser based debugger that breaks on exceptions (it attaches to a dt_socket port): https://github.com/prismofeverything/schmetterling I should have locals displaying this week sometime (you can currently get their value, it just doesn't show them to you by default yet). I am planning on adding breakpoints, stepping and source viewing. Just started this... looking for feedback! On Thursday, November 7, 2013 1:16:17 AM UTC-8, Bastien Guerry wrote: I'm a big fan of edebug, the Emacs debugger, which allows step through debugging (and breakpoints, and some more fun.) Is there anything similar for Clojure? For example, from an Emacs (cider) REPL, I'd evaluate some Clojure expression, then a window would let me go through a buffer containing a copy of the function being evaluated, while allowing me to stop at any step, and to show the result of each step in the minibuffer. (I'm aware of LightTable live REPL, but this is not exactly what I describe above.) Thanks for any hints/pointers, -- Bastien -- -- 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.
Releasing Caribou today: Open Source Clojure Web Ecosystem
Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- 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: Do (should?) these core.async utilities exist?
I think the whole idea is event-driven and async. On Tuesday, November 12, 2013 3:11:50 PM UTC-8, stuart@gmail.com wrote: Hi Paul, Two different reasons: The channel-to-sequence conversion seems like a questionable idea, making seqs that block. The doseq over a channel is easily enough implemented, and was not considered important enough to be on the core API. Stu On Tue, Nov 12, 2013 at 4:48 AM, Paul Butcher pa...@paulbutcher.comjavascript: wrote: I've been playing with core.async, and have come across a couple of things that it seemed would probably be common use cases, but can't find anything in the library that addresses them. I'd be grateful for pointers if any of these do exist and I'm just missing them, or suggestions for reasons why I don't really want them and should be tackling the problem in a different way: - A way to convert a channel to a lazy sequence (i.e. build the sequence by repeatedly reading from a channel until it's closed). It seems odd that core.async provides a means to turn a lazy sequence into a channel (to-chan) but not the inverse? - An equivalent of doseq for a channel, which repeatedly reads from the channel and calls its body with the result of doing so, terminating when the channel is closed. Of course, both of these are easy enough to write, but I'm wondering whether the fact that they aren't provided as standard is telling me something? -- paul.butcher-msgCount++ Silverstone, Brands Hatch, Donington Park... Who says I have a one track mind? http://www.paulbutcher.com/ LinkedIn: http://www.linkedin.com/in/paulbutcher Skype: paulrabutcher -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@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+u...@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+u...@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.
Re: Releasing Caribou today: Open Source Clojure Web Ecosystem
Wow... That's pretty impressive for an initial alpha release! Sean On Tue, Nov 12, 2013 at 3:52 PM, Ryan Spangler ryan.spang...@gmail.com wrote: Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- 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. -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- -- 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: Releasing Caribou today: Open Source Clojure Web Ecosystem
Very nice, Ryan! Is there a company that’s shepherding the product? Best, Marcus On Nov 12, 2013, at 5:02 PM, Sean Corfield seancorfi...@gmail.com wrote: Wow... That's pretty impressive for an initial alpha release! Sean On Tue, Nov 12, 2013 at 3:52 PM, Ryan Spangler ryan.spang...@gmail.com wrote: Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- 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. -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- -- 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. marcus blankenship \\\ Partner, Problem Solver, Linear Thinker \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo -- -- 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.
Re: Releasing Caribou today: Open Source Clojure Web Ecosystem
Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ On Tue, Nov 12, 2013 at 5:03 PM, Marcus Blankenship mar...@creoagency.com wrote: Very nice, Ryan! Is there a company that’s shepherding the product? Best, Marcus On Nov 12, 2013, at 5:02 PM, Sean Corfield seancorfi...@gmail.com wrote: Wow... That's pretty impressive for an initial alpha release! Sean On Tue, Nov 12, 2013 at 3:52 PM, Ryan Spangler ryan.spang...@gmail.com wrote: Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- 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. -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- -- 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. marcus blankenship \\\ Partner, Problem Solver, Linear Thinker \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo -- -- 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
Re: Releasing Caribou today: Open Source Clojure Web Ecosystem
Oh, sweet! We’re down here in Klamath Falls, and have a total ManCrush on Instrument. :-) I had no idea you are a clojure shop, but am thrilled to see you on the bandwagon. Thanks again for releasing this, it looks amazing! Best, Marcus On Nov 12, 2013, at 5:21 PM, Sean Corfield seancorfi...@gmail.com wrote: Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ On Tue, Nov 12, 2013 at 5:03 PM, Marcus Blankenship mar...@creoagency.com wrote: Very nice, Ryan! Is there a company that’s shepherding the product? Best, Marcus On Nov 12, 2013, at 5:02 PM, Sean Corfield seancorfi...@gmail.com wrote: Wow... That's pretty impressive for an initial alpha release! Sean On Tue, Nov 12, 2013 at 3:52 PM, Ryan Spangler ryan.spang...@gmail.com wrote: Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- 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. -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- -- 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. marcus blankenship \\\ Partner, Problem Solver, Linear Thinker \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group,
[ANN] Lambda Lounge Utah
Hi all, For you those of you living in the Salt Lake City area I am starting up a Lambda Lounge chapter. SLC doesn't have a Clojure user group but already this group is showing a big interest in Clojure so if you are in Utah please join us! http://www.meetup.com/Lambda-Lounge-Utah/ https://groups.google.com/forum/?hl=en#!forum/lambda-lounge-ut For the 99.99% of you who don't live in SLC, carry on... but please come visit us on your next ski trip. ;) -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: Releasing Caribou today: Open Source Clojure Web Ecosystem
Marcus, Great to hear! You never know when building something like this. Let me know if you have any trouble getting things up and running with the docs. On Tuesday, November 12, 2013 5:22:44 PM UTC-8, Marcus Blankenship wrote: Oh, sweet! We’re down here in Klamath Falls, and have a total ManCrush on Instrument. :-) I had no idea you are a clojure shop, but am thrilled to see you on the bandwagon. Thanks again for releasing this, it looks amazing! Best, Marcus On Nov 12, 2013, at 5:21 PM, Sean Corfield seanco...@gmail.comjavascript: wrote: Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ On Tue, Nov 12, 2013 at 5:03 PM, Marcus Blankenship mar...@creoagency.com javascript: wrote: Very nice, Ryan! Is there a company that’s shepherding the product? Best, Marcus On Nov 12, 2013, at 5:02 PM, Sean Corfield seanco...@gmail.comjavascript: wrote: Wow... That's pretty impressive for an initial alpha release! Sean On Tue, Nov 12, 2013 at 3:52 PM, Ryan Spangler ryan.s...@gmail.comjavascript: wrote: Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@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+u...@googlegroups.com javascript: For more options, visit this group at
Re: Step by step debugging
Very excited by this. Thanks also to Justin for the pointer. From my perspective a particularly nice additional would be to provide minimal instructions on how to get this running for people who don't know (or necessarily want to have to know) what a dt_socket is. On Nov 12, 2013, at 7:11 PM, Ryan Spangler wrote: Sounds like a fun project, but probably non-trivial. Too bad... unless someone wants to have that fun and then share it with the rest of us :-) I have started a project that does this: a browser based debugger that breaks on exceptions (it attaches to a dt_socket port): https://github.com/prismofeverything/schmetterling I should have locals displaying this week sometime (you can currently get their value, it just doesn't show them to you by default yet). I am planning on adding breakpoints, stepping and source viewing. Just started this... looking for feedback! -- -- 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: SuperShuttle sharing, 7 pm 11/13 from IAD?
So far, it's just two of us (Juan Martin Facorro and me), but we'd be happy to have others join in. Here's some contact information: Juan: Virgin (VX) 84, getting in (nominally) at 5:30 pm Rich: UNITED (UA) 727, getting in (nominally) at 6:39 pm Juan and I will meet at the Washington Flyer Shared Van kiosk (on the Ground Transportation level). There are two of these, so we'll meet at the one near the low-numbered baggage areas (eg, 4). We're taking SuperShuttle straight to the Alexandria Embassy Suites. My cell number is +1 650-291-8332. Calling it won't do much good until I land, but SMS might work well... Juan's cell number is (+54 11) 53769362 (where 54 is Argentina's code and 11 is the Buenos Aires' code). Once Juan and I meet up (about 7 pm), we'll be ready to check in and get on a shuttle. So, be there or be elsewhere... -r On Nov 11, 2013, at 18:18, Rich Morin wrote: Does anyone want to split a SuperShuttle ticket from IAD to the Embassy Suites in Alexandria, VA, about 7 pm on 11/13? The only economical alternative is taking Metrobus Route 5A, transferring to the Metro Blue line at Rosslyn, riding South to King St, and walking a block or so to the hotel. Meanwhile, the average cost for SuperShuttle approaches the cost of taking Metro as the number of sharing riders goes up: user= (defn cost [n] (str US$ (/ (+ 25.0 (* 10 n)) n))) #'user/cost user= (cost 1) US$ 35.0 user= (cost 2) US$ 22.5 user= (cost 4) US$ 16.25 user= (cost 8) US$ 13.125 It also sounds like a lot less hassle (and more fun :-). Contact me offlist if you're interested... -r -- http://www.cfcl.com/rdm Rich Morin r...@cfcl.com http://www.cfcl.com/rdm/resumeSan Bruno, CA, USA +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.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: How to interrupt execution and open a debugger/REPL?
The debug-repl library (https://github.com/georgejahad/debug-repl) is what you want. I believe the macros from Joy of Clojure are based on it if I remember correctly. I just used it earlier this week on a project so I know it works. Let me know if you can't get it working and I can provide assistance. -- -- 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: How to interrupt execution and open a debugger/REPL?
Gah! Thank you, thank you, thank you. That was one thing I was dying for in Clojure (coming from Pry in Ruby). That just made my day. Mark On Wed, Nov 13, 2013 at 1:56 PM, Jason Gilman ja...@element84.com wrote: The debug-repl library (https://github.com/georgejahad/debug-repl) is what you want. I believe the macros from Joy of Clojure are based on it if I remember correctly. I just used it earlier this week on a project so I know it works. Let me know if you can't get it working and I can provide assistance. -- -- 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. -- E: mark.man...@gmail.com T: http://www.twitter.com/neurotic W: www.compoundtheory.com 2 Devs from Down Under Podcast http://www.2ddu.com/ -- -- 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: Step by step debugging
Colin (or anyone), for a Clojure newbie, could you spell out what you're saying about *compiler-options* and -Dblahblah a little bit further? I think you're saying that if *compiler-options* is set to :disable-locals-clearing , then values of local variables are available, somehow. Can I see them from the lein REPL, somehow? If not, what do I get from :disable-locals-clearing ? It also sounds as if the only way to set *compiler-options* to :disable-locals-clearing is to use -Dclojure.compile.disable-locals-clearing=true . Where would I put that in a Leiningen project file? After :jvm-opts or :javac-options? Somewhere else? (I experimented with both, and with trying to set *command-options* in various ways, but I'm not what effect I should see.) Thanks- Marshall (Also, another big +1 for Lee's original comments, and thanks for all of the debugger suggestions from others. Locals are especially important when there's no state. I just recently started rewriting a Common Lisp application. The code had gotten too convoluted; parts of it are very old, with many layers of accretions. I've been doing the rewrite in Clojure as my first Clojure project. I'm seriously wondering at this moment, though, whether I should stop and do the rewrite in CL instead, despite several advantages of Clojure for me. Being able to easily look at any data structure at any time in the CL version of this application has been absolutely crucial in the past.) On Friday, November 8, 2013 11:13:01 PM UTC-6, Colin Fleming wrote: One quick clarification about -Dclojure.compile.disable-locals-clearing=true which bit me - this is actually read in clojure.main, which uses it to initialise the *compiler-options* var. This means that if you start your app in any other way (I'm not sure if lein duplicates the clojure.main functionality) setting this system property doesn't do anything. On 8 November 2013 10:22, Alex Miller al...@puredanger.com javascript:wrote: I believe the locals are actually *not* available because they are proactively cleared to help GC. Setting the *compiler-options* var with :disable-locals-clearing can turn that off. Which is probably what you often want in dev, but is not the default. You can also set this via command line with -Dclojure.compile.disable-locals-clearing=true On Thursday, November 7, 2013 11:32:29 AM UTC-6, Lee wrote: I'd like to chime in here from a background that involved a lot of Common Lisping back in the day. I have been continually dismayed, as I've moved further from Common Lisp, that debugging facilities that are so basic and ubiquitous and helpful in that world are considered exotic or specialized or necessarily tied to particular IDEs or tool chains in other language ecosystems. Even more basic (and useful, in my experience) than things like steppers or the ability to set break points is the ability just to see the values of locals when an error occurs. This is so obviously useful, and so obviously doable (for decades), that I'm really quite stunned that it's so complicated to do in Clojure and tied to a particular toolset if you can do it at all. In Common Lisp when you hit an error you're thrown into a break loop REPL in which you can view locals, move up and down the stack, and do lots of other fancier things (re-binding things, restarting...) that are probably useful in some situations, but just being able to see the locals is, in my experience, the really huge win. It doesn't matter what IDE you're using or if you're running it from a command line or whatever -- it's part of the language and easy to access no matter how you write and run your code. And my guess is that every Common Lisper takes advantage of this frequently. Different implementations/environments provide different modes of access to this information (e.g. some are GUI-based, and in emacs you can have interactive access to it using interaction conventions that seemed like a good idea in the 1970s :-), but there's always some way to get the information. By contrast in Clojure this information seems really hard to come by. I saw and was excited by a Ritz video -- and I note the enthusiastic applause from the crowd when it was shown that you could see locals (gasp!) -- but my understanding is that this functionality requires commitment to an Emacs-based tool set with all that that implies (which is a lot, IMHO). When I hit an error running my code from lein run or from Clooj or from Eclipse/CCW (or I think from any other way that I might run it) I get (or can easily get) a backtrace that shows the function call stack at the time of the error... which is good, but surely (?) the locals are also available when the backtrace is produced and I really also want to see those. The ability to browse and navigate this information dynamically, as in a Common Lisp break loop, is cool but I
Re: Releasing Caribou today: Open Source Clojure Web Ecosystem
This is really cool. Very easy to get up and running for first try. I have a few questions on the architecture. Why Immutant instead of plain ring as the default? I think the number of dependencies could be much lower with it. I know it's only alpha.. but I'm asking this on behalf of others who might be thinking the same. And, are there plans for NoSQL database support, like MongoDB, MapDB (http://www.mapdb.org/ - I just found out about it myself but this is the only decent in-memory NoSQL solution other than Berkeley DB)? On Tuesday, November 12, 2013 6:52:10 PM UTC-5, Ryan Spangler wrote: Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- 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: Step by step debugging
On Tuesday, November 12, 2013 11:15:11 PM UTC-6, Mars0i wrote: ... I'm seriously wondering at this moment, though, whether I should stop and do the rewrite in CL instead, despite several advantages of Clojure for me. Being able to easily look at any data structure at any time in the CL version of this application has been absolutely crucial in the past.) Sorry, that didn't make sense. The right thing to say was I guess I'd better go investigate the debugger options that have been mentioned. -- -- 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: Reactive Programming in Clojure
This is interesting. I'm taking the same course and was planning to do the Scala versions and port to Clojure eventually! I *used* to know decent amount of Scala but the library ecosystem has advanced a fair bit now to keep track now. Would be happy to help wherever possible. On Saturday, November 9, 2013 4:28:17 PM UTC-5, Marco Manzi wrote: Hi all, I'm a young clojure developer. I work as Java developer, but I've falled in love with this fantastic language and I would like to help in some way. Actually I'm following Principles of Reactive Programminghttps://www.coursera.org/course/reactive on Coursera. It is all written in Scala, but I'm not that proficent on Scala, so I'm following it in Clojure, I'm writing some posts on how I'll following it. If anyone has the same need can follow me at http://reactiveclojure.blogspot.it, there is also a github repository where I'm posting the code to make the same assigment as in the coursera. I appreciate any hint you can give. See you :) -- -- 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: Step by step debugging
Sorry to keep replying to my own posts with corrections: Rereading previous posts, I think I understand now that Colin's comments about retaining locals were intended to be relevant only to possible future facilities (which would go beyond my current knowledge). But I'm still curious about where the -Dblahblah goes, etc. Thanks. On Tuesday, November 12, 2013 11:15:11 PM UTC-6, Mars0i wrote: Colin (or anyone), for a Clojure newbie, could you spell out what you're saying about *compiler-options* and -Dblahblah a little bit further? I think you're saying that if *compiler-options* is set to :disable-locals-clearing , then values of local variables are available, somehow. Can I see them from the lein REPL, somehow? If not, what do I get from :disable-locals-clearing ? It also sounds as if the only way to set *compiler-options* to :disable-locals-clearing is to use -Dclojure.compile.disable-locals-clearing=true . Where would I put that in a Leiningen project file? After :jvm-opts or :javac-options? Somewhere else? (I experimented with both, and with trying to set *command-options* in various ways, but I'm not what effect I should see.) Thanks- Marshall (Also, another big +1 for Lee's original comments, and thanks for all of the debugger suggestions from others. Locals are especially important when there's no state. I just recently started rewriting a Common Lisp application. The code had gotten too convoluted; parts of it are very old, with many layers of accretions. I've been doing the rewrite in Clojure as my first Clojure project. I'm seriously wondering at this moment, though, whether I should stop and do the rewrite in CL instead, despite several advantages of Clojure for me. Being able to easily look at any data structure at any time in the CL version of this application has been absolutely crucial in the past.) On Friday, November 8, 2013 11:13:01 PM UTC-6, Colin Fleming wrote: One quick clarification about -Dclojure.compile.disable-locals-clearing=true which bit me - this is actually read in clojure.main, which uses it to initialise the *compiler-options* var. This means that if you start your app in any other way (I'm not sure if lein duplicates the clojure.main functionality) setting this system property doesn't do anything. On 8 November 2013 10:22, Alex Miller al...@puredanger.com wrote: I believe the locals are actually *not* available because they are proactively cleared to help GC. Setting the *compiler-options* var with :disable-locals-clearing can turn that off. Which is probably what you often want in dev, but is not the default. You can also set this via command line with -Dclojure.compile.disable-locals-clearing=true On Thursday, November 7, 2013 11:32:29 AM UTC-6, Lee wrote: I'd like to chime in here from a background that involved a lot of Common Lisping back in the day. I have been continually dismayed, as I've moved further from Common Lisp, that debugging facilities that are so basic and ubiquitous and helpful in that world are considered exotic or specialized or necessarily tied to particular IDEs or tool chains in other language ecosystems. Even more basic (and useful, in my experience) than things like steppers or the ability to set break points is the ability just to see the values of locals when an error occurs. This is so obviously useful, and so obviously doable (for decades), that I'm really quite stunned that it's so complicated to do in Clojure and tied to a particular toolset if you can do it at all. In Common Lisp when you hit an error you're thrown into a break loop REPL in which you can view locals, move up and down the stack, and do lots of other fancier things (re-binding things, restarting...) that are probably useful in some situations, but just being able to see the locals is, in my experience, the really huge win. It doesn't matter what IDE you're using or if you're running it from a command line or whatever -- it's part of the language and easy to access no matter how you write and run your code. And my guess is that every Common Lisper takes advantage of this frequently. Different implementations/environments provide different modes of access to this information (e.g. some are GUI-based, and in emacs you can have interactive access to it using interaction conventions that seemed like a good idea in the 1970s :-), but there's always some way to get the information. By contrast in Clojure this information seems really hard to come by. I saw and was excited by a Ritz video -- and I note the enthusiastic applause from the crowd when it was shown that you could see locals (gasp!) -- but my understanding is that this functionality requires commitment to an Emacs-based tool set with all that that implies (which is a lot, IMHO). When I hit an error running my code from lein run or from Clooj or
Re: Step by step debugging
Lee, Thank you for pointing that out! The README has been updated with more explicit instructions. For those who don't know, to open a dt_socket from your project.clj simply add this line: :jvm-opts [-agentlib:jdwp=transport=dt_socket,server=y,suspend=n] Schmetterling is still very new (I just started it last week!) and not really meant to be released yet, but it is still useful. And actually the earlier people start using it the earlier I can start improving it in ways that are relevant to people. I'll have an official announcement once it is ready to be released, but until then I welcome any feedback. On Tuesday, November 12, 2013 8:33:57 PM UTC-8, Lee wrote: Very excited by this. Thanks also to Justin for the pointer. From my perspective a particularly nice additional would be to provide minimal instructions on how to get this running for people who don't know (or necessarily want to have to know) what a dt_socket is. On Nov 12, 2013, at 7:11 PM, Ryan Spangler wrote: Sounds like a fun project, but probably non-trivial. Too bad... unless someone wants to have that fun and then share it with the rest of us :-) I have started a project that does this: a browser based debugger that breaks on exceptions (it attaches to a dt_socket port): https://github.com/prismofeverything/schmetterling I should have locals displaying this week sometime (you can currently get their value, it just doesn't show them to you by default yet). I am planning on adding breakpoints, stepping and source viewing. Just started this... looking for feedback! -- -- 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: Releasing Caribou today: Open Source Clojure Web Ecosystem
Typically my first step making a caribou app is to remove the immutant dependency. It's pretty straightforward to take it out. On Tuesday, November 12, 2013 9:19:27 PM UTC-8, Prasanna Gautam wrote: This is really cool. Very easy to get up and running for first try. I have a few questions on the architecture. Why Immutant instead of plain ring as the default? I think the number of dependencies could be much lower with it. I know it's only alpha.. but I'm asking this on behalf of others who might be thinking the same. And, are there plans for NoSQL database support, like MongoDB, MapDB ( http://www.mapdb.org/ - I just found out about it myself but this is the only decent in-memory NoSQL solution other than Berkeley DB)? On Tuesday, November 12, 2013 6:52:10 PM UTC-5, Ryan Spangler wrote: Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- 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: Releasing Caribou today: Open Source Clojure Web Ecosystem
Prasanna, It supports Ring as well. You should be able to just lein ring server in the root of your new project and it will boot up. The ring options are in the project.clj so you can change the port etc. It also supports Immutant, Tomcat, HTTPKit, Heroku and Beanstalk. If you know of another good target let me know and we'll support that too! As for NoSQL, a lot of the Model and Association stuff in Caribou is naturally relational, but all of the db interactions are abstracted by a DbAdapter protocol, so we (or someone) would just have to write an adapter for it. Maybe some of the Association stuff would be trickier, but there's no reason it couldn't be done. We are planning to support many more backends in the future, but for now it just supports Postgres, Mysql and H2. There has been talk of supporting Datomic as well, we will see what the future holds. All that said, there is no reason why you couldn't put a NoSQL db in front of the various model queries right now as a kind of caching layer. As a primary data store, that would take some work. I will see how much interest there is! On Tuesday, November 12, 2013 9:19:27 PM UTC-8, Prasanna Gautam wrote: This is really cool. Very easy to get up and running for first try. I have a few questions on the architecture. Why Immutant instead of plain ring as the default? I think the number of dependencies could be much lower with it. I know it's only alpha.. but I'm asking this on behalf of others who might be thinking the same. And, are there plans for NoSQL database support, like MongoDB, MapDB ( http://www.mapdb.org/ - I just found out about it myself but this is the only decent in-memory NoSQL solution other than Berkeley DB)? On Tuesday, November 12, 2013 6:52:10 PM UTC-5, Ryan Spangler wrote: Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- 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: Releasing Caribou today: Open Source Clojure Web Ecosystem
Justin, As far as I know, Immutant is not a dependency, but an option. Let me know if that is not true however. On Tuesday, November 12, 2013 10:13:17 PM UTC-8, Justin Smith wrote: Typically my first step making a caribou app is to remove the immutant dependency. It's pretty straightforward to take it out. On Tuesday, November 12, 2013 9:19:27 PM UTC-8, Prasanna Gautam wrote: This is really cool. Very easy to get up and running for first try. I have a few questions on the architecture. Why Immutant instead of plain ring as the default? I think the number of dependencies could be much lower with it. I know it's only alpha.. but I'm asking this on behalf of others who might be thinking the same. And, are there plans for NoSQL database support, like MongoDB, MapDB ( http://www.mapdb.org/ - I just found out about it myself but this is the only decent in-memory NoSQL solution other than Berkeley DB)? On Tuesday, November 12, 2013 6:52:10 PM UTC-5, Ryan Spangler wrote: Hello Clojure, Excited to announce today the release of Caribou! http://let-caribou.in/ We have been building web sites and web applications with it for over two years now and improving it every day. Currently we have four people working on it and another ten using it to build things, so it is getting a lot of real world testing. It has been designed as a collection of independent libraries that could each be useful on their own, but which come together as a meaningful whole. We have been spending the last couple months getting it ready for a full open source release, and I am happy to say it is finally ready. Funded and supported by Instrument in Portland, OR: http://weareinstrument.com/ We have four projects using it in production, and several more about to be launched (as well as over a dozen internal things). Documentation is here: http://caribou.github.io/caribou/docs/outline.html Source is here: http://github.com/caribou/caribou (use this for issues, you don't actually need the source as it is installed through a lein template). Some of the independently useful libraries Caribou is built on are: * Polaris -- Routing with data (not macros) and reverse routing! : https://github.com/caribou/polaris * Lichen -- Image resizing to and from s3 or on disk: https://github.com/caribou/lichen * Schmetterling -- Debugging Clojure processes from the browser: https://github.com/prismofeverything/schmetterling * Antlers -- Useful extensions to mustache templating (helpers and blocks, among other things): https://github.com/caribou/antlers * Groundhog -- Replay http requests: https://github.com/noisesmith/groundhog And many others. Basically this is an Alpha release, and I am announcing it here first in order to get as much feedback from the community as possible. We have made it as useful as we can for our purposes and recognize that for it to improve from here, we really need as many people using it and building things with it as possible. The documentation also needs to be put through its paces: we need to see how well people are able to use it who know nothing about it, based only on the existing docs. All feedback welcome! Thanks for reading! I hope you find it useful. -- -- 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: Do (should?) these core.async utilities exist?
Hi Paul, I have implemented at least the doseq equivalent in a library of my own called state-node: https://github.com/lgrapenthin/state-node. It implements gochan and gochan-and. gochan lets you bind a binding-form to a channel but also lets you recur (if you bind things aside from the channel). It terminates the loop when the channel is closed. With gochan-and you can specify one form that will be evaluated after the channel is closed (e. g. close a target channel). E. g.: (gochan-and (close! out-chan) [taken-val in-chan] (println Value read from in-chan: taken-val) (! out-chan taken-val)) Please feel free to copy the macro directly from the library if you have any use for it :) Maybe also have a look at reducep-hidden (adapted from hidden automatons from ELM) which kinda lets you do the same if you aren't going for side-effects or custom looping conditions. One problem with the lazy-sequence thing would be that such sequences would only work in go-blocks if I my thinking is right this morning. Best regards, Leon. On Tuesday, November 12, 2013 11:48:09 AM UTC+1, Paul Butcher wrote: I've been playing with core.async, and have come across a couple of things that it seemed would probably be common use cases, but can't find anything in the library that addresses them. I'd be grateful for pointers if any of these do exist and I'm just missing them, or suggestions for reasons why I don't really want them and should be tackling the problem in a different way: - A way to convert a channel to a lazy sequence (i.e. build the sequence by repeatedly reading from a channel until it's closed). It seems odd that core.async provides a means to turn a lazy sequence into a channel (to-chan) but not the inverse? - An equivalent of doseq for a channel, which repeatedly reads from the channel and calls its body with the result of doing so, terminating when the channel is closed. Of course, both of these are easy enough to write, but I'm wondering whether the fact that they aren't provided as standard is telling me something? -- paul.butcher-msgCount++ Silverstone, Brands Hatch, Donington Park... Who says I have a one track mind? http://www.paulbutcher.com/ LinkedIn: http://www.linkedin.com/in/paulbutcher Skype: paulrabutcher -- -- 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.
[ANN] Clojure RETE algorithm implementation (CLIPS-like expert system shell)
Dear Clojure users, For those interested in the Clojure RETE algorithm implementation or CLIPS-like expert system shells, on https://github.com/rururu/rete4frames published a simple version. Leiningen integration is [rete 4.0.0-SNAPSHOT] Sincerely, Ru -- -- 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.
[ANN] Troncle: Emacs convenience functions for tracing clojure code
troncle Troncle https://github.com/coventry/troncle is a proof-of-concept integration of clojure's tracing tools with emacs, built around technomancy's innovative nrepl-discoverhttps://github.com/technomancy/nrepl-discover and a robust (very simple) code-walking/wrapping macrohttps://github.com/coventry/troncle/blob/master/src/troncle/macroshka.clj I've developed. It's available for download at https://github.com/coventry/troncle clojure.tools.trace is super-handy for exploring how code is executing, but wrapping and unwrapping subforms with (ctt/trace ...) gets tedious. The main idea with troncle is to take most of that tedium away by letting you use emacs to point at the forms you want to wrap and then doing the wrapping for you automatically during compilation. In the end, I hope to turn this into a stepping debugger, in the spirit of elisp's edebughttp://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug.html . This release is a very rough first cut, which I've published mostly because I'm hoping to talk to people at the Clojure Conj about what directions to take it in. If this seems like an interesting project to you, please take a look at the roadmap https://github.com/coventry/troncle#roadmap and let me know what you think. (Whether you're at the Conj or not, of course.) If it seems useless or otherwise misguided, please also let me know what you think. :-) All feedback is welcome. https://github.com/coventry/troncle#usageUsage Currently, troncle has one function: You mark a region of your code, hitM-x troncle-trace-region(C-c t R), and troncle sends the top-level defun containing point to clojure for compilation. Any forms contained in the marked region, as well as any forms generated by their macroexpansion, are wrapped in a call to clojure.tools.trace/trace so that the results of their evaluation during execution are reported in the repl buffer. In order to do this, you have to let troncle know how to execute the code it's compiled. You tell it using the function troncle.traces/st (for set test.) For instance, suppose that you have the following code in tst.clj open in emacs and have selected the cyan region: (ns troncle.tst) (defn ^String capitalize [^CharSequence s] (let [s (.toString s)] (if ( (count s) 2) (.toUpperCase s) (str (.toUpperCase (subs s 0 1)) (.toLowerCase (subs s 1)) After installing https://github.com/coventry/troncle#installation troncle and compiling this file with C-c C-k, type the following into the nrepl buffer to tell troncle how you want to test this function: user (troncle.traces/st #(println (troncle.tst/capitalize foo))) Now go to the tst.clj buffer, and highlight the region with the cyan background shown above. TypeC-c t R, and the following should appear in the nrepl buffer: TRACE [4 11] (.toString s): fooTRACE [5 12] (count s): 3TRACE [5 9] ( (count s) 2): falseFoo [4 11] gives the line/column position of the form (.toString s) in the buffer.foo` is the result of its evaluation. Only three forms are traced, because those are the only forms in the selected region. https://github.com/coventry/troncle#installationRoadmaphttps://github.com/coventry/troncle#extended-functionalityExtended functionality This is a very simple application at the moment, but I think it has a lot of potential. The core functionality is introncle.macroshka, which is a very robust code-walking scheme. (I've run it over the entire clojure source code.) These are the directions I'd like to move it in: 1. Emacs convenience functions for passing load this file and run this test functions totronce.traces/st. 2. Tracing instrumentation for multiple regions within a top-level form. 3. Filtered tracing: Only report a trace when a given predicate returns true. Predicate can be specified in terms of return values of the forms under consideration. 4. Save and restore current tracing configuration. 5. Tracing of bindings to local variables. 6. Send trace reports to a clojure list, rather than/as well as the repl, so that they can be queried programmatically. 7. Replay a series of trace reports using emacs overlays (nrepl-discover's overlay facility should make this easy.) 8. Replace the tracing with source-level step debugging. See you all at the conj! -- -- 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