Out of Memory Error

2013-11-12 Thread Jiaqi Liu
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?

2013-11-12 Thread Philipp Meier
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

2013-11-12 Thread Cedric Greevey
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.

2013-11-12 Thread Mamun
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.

2013-11-12 Thread Kris Jenkins
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.

2013-11-12 Thread Kris Jenkins
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?

2013-11-12 Thread Paul Butcher
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?

2013-11-12 Thread Lee Spector

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

2013-11-12 Thread Josh Kamau
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

2013-11-12 Thread Niels van Klaveren
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

2013-11-12 Thread musicdenotation
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

2013-11-12 Thread Dave Della Costa
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

2013-11-12 Thread Josh Kamau
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

2013-11-12 Thread James Reeves
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

2013-11-12 Thread Niels van Klaveren
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

2013-11-12 Thread Andy Fingerhut
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

2013-11-12 Thread John D. Hume
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)

2013-11-12 Thread dm3
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

2013-11-12 Thread Phillip Lord


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

2013-11-12 Thread Phillip Lord

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

2013-11-12 Thread Sean Corfield
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

2013-11-12 Thread James Reeves
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 Thread Michael Klishin
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

2013-11-12 Thread Sam Ritchie
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

2013-11-12 Thread Laurent PETIT
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 Thread Michael Klishin
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

2013-11-12 Thread Phillip Lord
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

2013-11-12 Thread Jim - FooBar();
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

2013-11-12 Thread Norman Richards
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

2013-11-12 Thread Gary Trakhman
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

2013-11-12 Thread Michael Klishin
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

2013-11-12 Thread James Reeves
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

2013-11-12 Thread Michael Klishin
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

2013-11-12 Thread Marshall Bockrath-Vandegrift
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

2013-11-12 Thread cej38
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

2013-11-12 Thread kovas boguta
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

2013-11-12 Thread Chas Emerick
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

2013-11-12 Thread John Gabriele
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

2013-11-12 Thread John Gabriele
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

2013-11-12 Thread Round Robin
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?

2013-11-12 Thread Stuart Halloway
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?

2013-11-12 Thread Justin Smith


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

2013-11-12 Thread musicdenotation
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

2013-11-12 Thread Sean Johnson

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

2013-11-12 Thread Paddy Gallagher
+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

2013-11-12 Thread Tim Visher
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

2013-11-12 Thread Paul L. Snyder
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

2013-11-12 Thread cojure
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

2013-11-12 Thread Ryan Spangler
 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

2013-11-12 Thread Ryan Spangler
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?

2013-11-12 Thread Gary Zhao
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

2013-11-12 Thread Sean Corfield
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

2013-11-12 Thread Marcus Blankenship
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

2013-11-12 Thread Sean Corfield
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

2013-11-12 Thread Marcus Blankenship
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

2013-11-12 Thread Ben Mabey

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

2013-11-12 Thread Ryan Spangler
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

2013-11-12 Thread Lee Spector

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?

2013-11-12 Thread Rich Morin
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?

2013-11-12 Thread Jason Gilman
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?

2013-11-12 Thread Mark Mandel
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

2013-11-12 Thread Mars0i
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

2013-11-12 Thread Prasanna Gautam
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

2013-11-12 Thread Mars0i
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

2013-11-12 Thread Prasanna Gautam
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

2013-11-12 Thread Mars0i
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

2013-11-12 Thread Ryan Spangler
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

2013-11-12 Thread Justin Smith
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

2013-11-12 Thread Ryan Spangler
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

2013-11-12 Thread Ryan Spangler
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?

2013-11-12 Thread Leon Grapenthin
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)

2013-11-12 Thread ru
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

2013-11-12 Thread Alex Coventry
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