Re: reading to learn and acquire the skill of writing optinal Clojure code

2014-09-26 Thread Linus Ericsson
Andy, I would go for quantity over quality here. There's really a lot of
libraries but only some applications (where I think LightTable is one of
the most polished applications).


Don't miss the quite good catalogue http://www.clojure-toolbox.com/
some things are a bit outdated, but it doesn't matter!

Some nice libraries and applications to skim through would be

https://github.com/flatland/useful

everything in the Clojure's github repo

https://github.com/clojure/

LightTable (although mostly using ClojureScript)

https://github.com/LightTable/LightTable

There are small examples of web applications here and there, but really
most things are parts that is meant to be put together, which is not eas to
begin with.

Pedestal is a quite complete web-framework, but abandoned its frontend
because of a more promising road ahead with Om (which is based on React.js
but still quite alpha).

https://github.com/pedestal/pedestal

https://github.com/swannodette/om

Riemann is partly a complete Clojure application, but with a web frontend
in Ruby, I think.

https://github.com/aphyr/riemann

Overtone is a quite large music synthesizer project

https://github.com/overtone/overtone

be sure to checkout at-at as well:

https://github.com/overtone/at-at

Apart from that, read all source code you can, most that is put up is quite
good, and usually very concise!

/Linus



2014-09-26 3:41 GMT+02:00 Andy Gibraltar :

>
> Hi everyone,
>
> I am learning Clojure. I finished reading the book Clojure Programming. I
> think reading the source code of a Clojure project would help me accelerate
> acquiring the skill. Which codebase do you think is the most appropriate
> for a starter. A code base that I can use as a reference, something concise
> yet has almost all the best practices. Small enough that I can internalize
> and use it as a reference for my own projects. Sorry for asking such an
> open ended question.
>
> Thanks,
> Andy
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


ANN: ClojureScript 0.0-2356

2014-09-26 Thread David Nolen
ClojureScript, the Clojure compiler that emits JavaScript source code.

README and source code: https://github.com/clojure/clojurescript

New release version: 0.0-2356

Leiningen dependency information:

[org.clojure/clojurescript "0.0-2356"]

### Fixes
* fix var analysis so that some.ns/foo.bar is handled correctly
* CLJS-854: cljs.reader could not read numbers under IE8

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PSA] Clojars scp disabled until further notice

2014-09-26 Thread Jony Hudson
FWIW, I followed the "lein deploy clojars" instructions (around March this 
year) and it did work for me. I recall being a bit confused by the GPG 
stuff, but following the notes on the wiki did do the trick.


Jony

On Friday, 26 September 2014 04:21:41 UTC+1, Phil Hagelberg wrote:
>
> Carlos Fontes > writes: 
>
> > Some immemorial time ago I tried `lein deploy clojars` which lead me to 
> > read complex security stuff. I really tried to make it work, I did.. but 
> it 
> > didn't "just work", it didn't "work with some work" and even with "more 
> > work", so now I just use `lein push`. 
>
> I see. Perhaps if you could use more detail than "it didn't work" we 
> might be able to help get this working. 
>
> > Btw, is Clojars still down for SCP uploads? Still having trouble here: 
> > com.jcraft.jsch.JSchException: Auth fail 
>
> Yes, the vulnerability has not been patched. 
>
> -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/d/optout.


Re: {ANN} defun: A beautiful macro to define clojure functions with pattern match.

2014-09-26 Thread dennis zhuang
I will add supporting for clojurescript this weekend.Thanks for your
suggestion.

2014-09-26 1:09 GMT+08:00 Ivan L :

> Is this clojurescript ready?  This looks amazing, I would also love to
> have it in core.
>
> On Sunday, September 14, 2014 2:47:28 AM UTC-4, dennis wrote:
>>
>>
>> Hi , i am pleased to introduce defun
>> : a beautiful macro to define
>> clojure functions with pattern match.
>>
>> Some examples:
>>
>>
>> (defun say-hi
>>
>>   ([:dennis] "Hi,good morning, dennis.")
>>
>>   ([:catty] "Hi, catty, what time is it?")
>>
>>   ([:green] "Hi,green, what a good day!")
>>
>>   ([other] (str "Say hi to " other)))
>>
>>
>> (say-hi :dennis)
>>
>> ;;  "Hi,good morning, dennis."
>>
>> (say-hi :catty)
>>
>> ;;  "Hi, catty, what time is it?"
>>
>> (say-hi :green)
>>
>> ;;  "Hi,green, what a good day!"
>>
>> (say-hi "someone")
>>
>> ;;  "Say hi to someone"
>>
>>
>> Recursive function? It's all right:
>>
>> (defun count-down
>>
>>   ([0] (println "Reach zero!"))
>>
>>   ([n] (println n)
>>
>>  (recur (dec n
>>
>> (defun fib
>>
>> ([0] 0)
>>
>> ([1] 1)
>>
>> ([n] (+ (fib (- n 1)) (fib (- n 2)
>>
>>
>>
>> Guard functions? it's all right:
>>
>> (defun valid-geopoint?
>>
>> ([(_ :guard #(and (> % -180) (< % 180)))
>>
>>   (_ :guard #(and (> % -90) (< % 90)))] true)
>>
>> ([_ _] false))
>>
>>
>> (valid-geopoint? 30 30)
>>
>> ;; true
>>
>> (valid-geopoint? -181 30)
>>
>> ;; false
>>
>>
>> It's really cool,all the magic are from core.match, much more details
>> please see
>> https://github.com/killme2008/defun
>>
>>
>> --
>> 庄晓丹
>> Email:killm...@gmail.com xzh...@avos.com
>> Site:   http://fnil.net
>> Twitter:  @killme2008
>>
>>
>>   --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
庄晓丹
Email:killme2...@gmail.com xzhu...@avos.com
Site:   http://fnil.net
Twitter:  @killme2008

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[ANN] PossibleDB 0.1 - Serverside DataScript

2014-09-26 Thread Kelker Ryan
PossibleDBPossibleDB is a Datomic Database Server clone built with DataScript, RethinkDB, Clojure, ClojureScript, and NodeJS.warning: highly alphaYou can see PossibleDB in action @ http://vimeo.com/107237345PossibleDB Server1) git clone https://github.com/runexec/PossibleDB2) cd PossibleDB/possibledb/3) npm install rethinkdb4) chmod +x possibledb.js5) ./possibledb.js {optional port}Clojure Client(:require [possibledb-client.core :as db])

(db/connect! [host port])

(db/q [^:String db-name query-coll])

(db/transact! [^:String db-name data-coll])

(db/create-db! [^:String db-name])
Leiningen[possibledb-client "1.0"]Gradlecompile "possibledb-client:possibledb-client:1.0"Maven
possibledb-client
possibledb-client
1.0

DocumentationPossibleDB is the bridge between DataScript and RethinkDB. Please refer to https://github.com/tonsky/datascript



-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: reading to learn and acquire the skill of writing optinal Clojure code

2014-09-26 Thread Leon Grapenthin
I highly recommend the clojure.core namespace.

On Friday, September 26, 2014 3:41:31 AM UTC+2, Andy Gibraltar wrote:
>
>
> Hi everyone,
>
> I am learning Clojure. I finished reading the book Clojure Programming. I 
> think reading the source code of a Clojure project would help me accelerate 
> acquiring the skill. Which codebase do you think is the most appropriate 
> for a starter. A code base that I can use as a reference, something concise 
> yet has almost all the best practices. Small enough that I can internalize 
> and use it as a reference for my own projects. Sorry for asking such an 
> open ended question. 
>
> Thanks,
> Andy
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: {ANN} defun: A beautiful macro to define clojure functions with pattern match.

2014-09-26 Thread Andre Richards
Don't think Rich Hickey is a fan of pattern matching, which is probably why 
it is not in core to begin with.

If you watch his "Simple made easy" talk, pattern matching is one of the 
items listed under *Complexity Toolkit*, with this description: "Complects 
multiple who/what pairs".

I'm not sure where core.match is positioned - might have a better change to 
get added there?

On Thursday, 25 September 2014 19:09:03 UTC+2, Ivan L wrote:
>
> Is this clojurescript ready?  This looks amazing, I would also love to 
> have it in core.
>
> On Sunday, September 14, 2014 2:47:28 AM UTC-4, dennis wrote:
>>
>>
>> Hi , i am pleased to introduce defun 
>> : a beautiful macro to define 
>> clojure functions with pattern match.
>>
>> Some examples:
>>
>>
>> (defun say-hi
>>
>>   ([:dennis] "Hi,good morning, dennis.")
>>
>>   ([:catty] "Hi, catty, what time is it?")
>>
>>   ([:green] "Hi,green, what a good day!")
>>
>>   ([other] (str "Say hi to " other)))
>>
>>
>> (say-hi :dennis)
>>
>> ;;  "Hi,good morning, dennis."
>>
>> (say-hi :catty)
>>
>> ;;  "Hi, catty, what time is it?"
>>
>> (say-hi :green)
>>
>> ;;  "Hi,green, what a good day!"
>>
>> (say-hi "someone")
>>
>> ;;  "Say hi to someone"
>>
>>
>> Recursive function? It's all right:
>>
>> (defun count-down
>>
>>   ([0] (println "Reach zero!"))
>>
>>   ([n] (println n)
>>
>>  (recur (dec n
>>
>> (defun fib
>>
>> ([0] 0)
>>
>> ([1] 1)
>>
>> ([n] (+ (fib (- n 1)) (fib (- n 2)
>>
>>
>>
>> Guard functions? it's all right:
>>
>> (defun valid-geopoint?
>>
>> ([(_ :guard #(and (> % -180) (< % 180)))
>>
>>   (_ :guard #(and (> % -90) (< % 90)))] true)
>>
>> ([_ _] false))
>>
>>
>> (valid-geopoint? 30 30)
>>
>> ;; true
>>
>> (valid-geopoint? -181 30)
>>
>> ;; false
>>
>>
>> It's really cool,all the magic are from core.match, much more details 
>> please see 
>> https://github.com/killme2008/defun
>>
>>
>> -- 
>> 庄晓丹 
>> Email:killm...@gmail.com xzh...@avos.com
>> Site:   http://fnil.net
>> Twitter:  @killme2008
>>
>>
>> 

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Calling the main static method of a class

2014-09-26 Thread paracomunicacionesinformales
hi,

I've got a "traditional" java class invoked from the command line: 

public class Aclass

  public static void main(String[] a)
throws Exception {

}

java -Doneoption=onevalue Aclass

and I want to invoke THAT main class from the command line and to simulate
the options from the command line ( -Doneption...) ,

how can I achieve this in clojure ?


greetings 

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: reading to learn and acquire the skill of writing optinal Clojure code

2014-09-26 Thread Josh Kamau
This is how i did it.

I tried to solve https://www.4clojure.com/  problems and look at
corresponding clojure.core functions for solutions.

E.g  look at this https://www.4clojure.com/problem/21   Note the special
restriction (i.e do not use 'nth' function)

The solution to that is actually the implementation of the nth function in
clojure core. So you can go to clojure.core/nth to see how it is
implemented.

Josh

Josh

On Fri, Sep 26, 2014 at 4:28 PM, Leon Grapenthin 
wrote:

> I highly recommend the clojure.core namespace.
>
> On Friday, September 26, 2014 3:41:31 AM UTC+2, Andy Gibraltar wrote:
>>
>>
>> Hi everyone,
>>
>> I am learning Clojure. I finished reading the book Clojure Programming. I
>> think reading the source code of a Clojure project would help me accelerate
>> acquiring the skill. Which codebase do you think is the most appropriate
>> for a starter. A code base that I can use as a reference, something concise
>> yet has almost all the best practices. Small enough that I can internalize
>> and use it as a reference for my own projects. Sorry for asking such an
>> open ended question.
>>
>> Thanks,
>> Andy
>>
>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Calling the main static method of a class

2014-09-26 Thread Linus Ericsson
You can set system properties with System/setProperty.

See more here:
http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

/Linus
Den 26 sep 2014 15:58 skrev :

> hi,
>
> I've got a "traditional" java class invoked from the command line:
>
> public class Aclass
>
>   public static void main(String[] a)
> throws Exception {
> 
> }
>
> java -Doneoption=onevalue Aclass
>
> and I want to invoke THAT main class from the command line and to simulate
> the options from the command line ( -Doneption...) ,
>
> how can I achieve this in clojure ?
>
>
> greetings
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PSA] Clojars scp disabled until further notice

2014-09-26 Thread Nelson Morris
Clojars has become a critical part of the clojure ecosystem. As a small
sample, it hosts artifacts for:

* Web development - ring, compojure, hoplon, hiccup, enlive, friend,
immutant
* Tooling - lein templates/plugins, cider-nrepl, clojure-complete,
gorilla-repl
* Clojurescript - lein-cljsbuild, austin, om, reagent, sente
* Misc - Clojurewerkz projects, storm, incanter, clj-time, cheshire,
clj-http,
* Company projects - pedestal, dommy, schema

Vulnerabilities like shellshock and heartbleed always require quick
response. An insecure clojars service could lead to compromised systems in
multiple companies, potentially any project that used an artifact from it.
A similar situation exist for maven central, rubygems, apt, and other
repositories.

There are other administration tasks such as verifying backups, server
updates, better response time to deletion requests, and potentially the
need to handle unexpected downtime. Additionally, development time is
needed for the releases repo w/ signatures, CDN deployments, additional UI
work, and more.

Currently clojars is maintained by a collaboration between 3 very spare
time people. Vulnerabilities get attention due to the damage potential.
However, being a spare time project many of the other tasks languish until
required, or wait behind the queue of life's requirements. I'd love to
change that.

I've been a co-maintainer for clojars for two years. I implemented the
https deployment, better search, and download statistics for clojars. I've
handled most of the deletion requests over the past year. I've also got
work in leiningen including almost everything related to dependency
resolution and trees.

I want your help.

Do you work at a company that runs clojure in production?  Does it have a
financial interest in a well maintained and secure clojars service? Would
it be interested in sponsorships, business features, or another arrangement
that produces value? Then I request you email me. I want to create a
sustainable path for this critical piece of the clojure ecosystem.

Thanks,
Nelson Morris

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PSA] Clojars scp disabled until further notice

2014-09-26 Thread Mark
I'm not very familiar with Clojars so please forgive the naive question: 
 Why not host jar files themsevles on Maven central and Clojars becomes a 
catalog of Clojure related artifacts?

On Friday, September 26, 2014 8:09:55 AM UTC-7, Nelson Morris wrote:
>
> Clojars has become a critical part of the clojure ecosystem. As a small 
> sample, it hosts artifacts for:
>
> * Web development - ring, compojure, hoplon, hiccup, enlive, friend, 
> immutant
> * Tooling - lein templates/plugins, cider-nrepl, clojure-complete, 
> gorilla-repl
> * Clojurescript - lein-cljsbuild, austin, om, reagent, sente
> * Misc - Clojurewerkz projects, storm, incanter, clj-time, cheshire, 
> clj-http, 
> * Company projects - pedestal, dommy, schema
>
> Vulnerabilities like shellshock and heartbleed always require quick 
> response. An insecure clojars service could lead to compromised systems in 
> multiple companies, potentially any project that used an artifact from it. 
> A similar situation exist for maven central, rubygems, apt, and other 
> repositories.
>
> There are other administration tasks such as verifying backups, server 
> updates, better response time to deletion requests, and potentially the 
> need to handle unexpected downtime. Additionally, development time is 
> needed for the releases repo w/ signatures, CDN deployments, additional UI 
> work, and more.
>
> Currently clojars is maintained by a collaboration between 3 very spare 
> time people. Vulnerabilities get attention due to the damage potential. 
> However, being a spare time project many of the other tasks languish until 
> required, or wait behind the queue of life's requirements. I'd love to 
> change that.
>
> I've been a co-maintainer for clojars for two years. I implemented the 
> https deployment, better search, and download statistics for clojars. I've 
> handled most of the deletion requests over the past year. I've also got 
> work in leiningen including almost everything related to dependency 
> resolution and trees.
>
> I want your help.
>
> Do you work at a company that runs clojure in production?  Does it have a 
> financial interest in a well maintained and secure clojars service? Would 
> it be interested in sponsorships, business features, or another arrangement 
> that produces value? Then I request you email me. I want to create a 
> sustainable path for this critical piece of the clojure ecosystem.
>
> Thanks,
> Nelson Morris
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Monroe 0.1.0 - nrepl client for Emacs

2014-09-26 Thread John Louis Del Rosario
Thanks!

Just installed it and disabled CIDER. Hmm first things I miss are no syntax 
highlighting and no paredit.
I think I can just add a hook for paredit, but not sure about syntax 
highlighting. Any ideas?

On Thursday, September 25, 2014 8:32:05 PM UTC+8, Sanel Zukan wrote:
>
> Thanks for reply with the details, Bastien :)
>
> > As someone new to CIDER (probably only use 10% of its features), what's 
> the difference between this and CIDER?
>
> I think you already answered it :) I find Cider amazing project, but is a 
> bit biggish for my taste, especially if you would like to get the extension 
> and start working on Clojure code, instead of setting up the details. Also, 
> I prefer keeping REPL and all REPL related stuff (erorrs and exceptions) 
> _inside_ REPL buffer and window, just like many Emacs modes works.
>
> Now, a little bit internals: Monroe REPL is using comint-mode, which means 
> that many comint keys and variables should work out of the box. In Emacs, 
> comint-mode is used by default for interaction with external programs like 
> shell, ielm, inferior-[lisp, scheme, python] and many of them are sharing 
> similar shortcuts.
>
> > i.e. why would I want to use this over CIDER? (could be good to put in 
> the README as well)
>
> I think README summarize the goals behind the project. If you find it 
> confusing, I'll try to clarify the things a little bit.
>
> Best,
> Sanel
>
> On Thursday, September 25, 2014 6:41:52 AM UTC+2, Bastien Guerry wrote:
>>
>> John Louis Del Rosario  writes: 
>>
>> > Looks neat. As someone new to CIDER (probably only use 10% of its 
>> > features), what's the difference between this and CIDER? i.e. why 
>> > would I want to use this over CIDER? (could be good to put in the 
>> > README as well) 
>>
>> Copying what's on the reddit page: 
>>
>>
>> http://www.reddit.com/r/Clojure/comments/2hde6w/monroe_new_nrepl_client_for_emacs/
>>  
>>
>> "Some features: 
>>
>> - lightweight 
>> 
>> - focused only on nrepl protocol so you can easily combine it with 
>>   favorite libraries (e.g. company-mode) 
>> 
>> - single buffer for interaction, which behaves like inferior 
>>   modes. Errors and results will be shown in that buffer, instead 
>>   poping out new buffers. 
>> 
>> - works on older Emacs versions 
>> 
>> - history in repl that actually works" 
>>
>> -- 
>>  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/d/optout.


Re: [PSA] Clojars scp disabled until further notice

2014-09-26 Thread Nelson Morris
Many of the projects already deployed are not compatible with central's
requirements, including group-ids and signatures. There are other reasons,
but that one already makes it impossible.
On Sep 26, 2014 10:18 AM, "Mark"  wrote:

> I'm not very familiar with Clojars so please forgive the naive question:
>  Why not host jar files themsevles on Maven central and Clojars becomes a
> catalog of Clojure related artifacts?
>
> On Friday, September 26, 2014 8:09:55 AM UTC-7, Nelson Morris wrote:
>>
>> Clojars has become a critical part of the clojure ecosystem. As a small
>> sample, it hosts artifacts for:
>>
>> * Web development - ring, compojure, hoplon, hiccup, enlive, friend,
>> immutant
>> * Tooling - lein templates/plugins, cider-nrepl, clojure-complete,
>> gorilla-repl
>> * Clojurescript - lein-cljsbuild, austin, om, reagent, sente
>> * Misc - Clojurewerkz projects, storm, incanter, clj-time, cheshire,
>> clj-http,
>> * Company projects - pedestal, dommy, schema
>>
>> Vulnerabilities like shellshock and heartbleed always require quick
>> response. An insecure clojars service could lead to compromised systems in
>> multiple companies, potentially any project that used an artifact from it.
>> A similar situation exist for maven central, rubygems, apt, and other
>> repositories.
>>
>> There are other administration tasks such as verifying backups, server
>> updates, better response time to deletion requests, and potentially the
>> need to handle unexpected downtime. Additionally, development time is
>> needed for the releases repo w/ signatures, CDN deployments, additional UI
>> work, and more.
>>
>> Currently clojars is maintained by a collaboration between 3 very spare
>> time people. Vulnerabilities get attention due to the damage potential.
>> However, being a spare time project many of the other tasks languish until
>> required, or wait behind the queue of life's requirements. I'd love to
>> change that.
>>
>> I've been a co-maintainer for clojars for two years. I implemented the
>> https deployment, better search, and download statistics for clojars. I've
>> handled most of the deletion requests over the past year. I've also got
>> work in leiningen including almost everything related to dependency
>> resolution and trees.
>>
>> I want your help.
>>
>> Do you work at a company that runs clojure in production?  Does it have a
>> financial interest in a well maintained and secure clojars service? Would
>> it be interested in sponsorships, business features, or another arrangement
>> that produces value? Then I request you email me. I want to create a
>> sustainable path for this critical piece of the clojure ecosystem.
>>
>> Thanks,
>> Nelson Morris
>>
>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PSA] Clojars scp disabled until further notice

2014-09-26 Thread Howard M. Lewis Ship
There's a number of options out there for collecting small recurring 
payments.  I already make regular payments to Wikipedia and a couple of 
others (including GitHub), and would be willing to kick in some money 
towards Clojars.

The question is: what is a reasonable amount?  This is tricky; I'm 
comfortable, as a self-employed, individual developer, to kick in $3-$5 per 
month. What kind of numbers are you looking at for the more corporate users 
of Clojars?  What would you expect for an organization that simply pulls 
for Clojars, vs. one that distributes code via Clojars?

On Friday, 26 September 2014 08:09:55 UTC-7, Nelson Morris wrote:
>
> Clojars has become a critical part of the clojure ecosystem. As a small 
> sample, it hosts artifacts for:
>
> * Web development - ring, compojure, hoplon, hiccup, enlive, friend, 
> immutant
> * Tooling - lein templates/plugins, cider-nrepl, clojure-complete, 
> gorilla-repl
> * Clojurescript - lein-cljsbuild, austin, om, reagent, sente
> * Misc - Clojurewerkz projects, storm, incanter, clj-time, cheshire, 
> clj-http, 
> * Company projects - pedestal, dommy, schema
>
> Vulnerabilities like shellshock and heartbleed always require quick 
> response. An insecure clojars service could lead to compromised systems in 
> multiple companies, potentially any project that used an artifact from it. 
> A similar situation exist for maven central, rubygems, apt, and other 
> repositories.
>
> There are other administration tasks such as verifying backups, server 
> updates, better response time to deletion requests, and potentially the 
> need to handle unexpected downtime. Additionally, development time is 
> needed for the releases repo w/ signatures, CDN deployments, additional UI 
> work, and more.
>
> Currently clojars is maintained by a collaboration between 3 very spare 
> time people. Vulnerabilities get attention due to the damage potential. 
> However, being a spare time project many of the other tasks languish until 
> required, or wait behind the queue of life's requirements. I'd love to 
> change that.
>
> I've been a co-maintainer for clojars for two years. I implemented the 
> https deployment, better search, and download statistics for clojars. I've 
> handled most of the deletion requests over the past year. I've also got 
> work in leiningen including almost everything related to dependency 
> resolution and trees.
>
> I want your help.
>
> Do you work at a company that runs clojure in production?  Does it have a 
> financial interest in a well maintained and secure clojars service? Would 
> it be interested in sponsorships, business features, or another arrangement 
> that produces value? Then I request you email me. I want to create a 
> sustainable path for this critical piece of the clojure ecosystem.
>
> Thanks,
> Nelson Morris
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PSA] Clojars scp disabled until further notice

2014-09-26 Thread Nelson Morris
I have no expectations for anyone. Clojars has been free to use
(push/pull,individual/corp) since it started. I have no intentions of
changing that. My belief is there is value to maintenance/dev, and hope
that it can financed in a sustainable way.  If it can be done by being
spread out among people deriving that value, then even better.

I'll plan to set up something for individuals in the future, though that
will wait until after I talk to businesses. As for numbers, I don't have a
direct answer for you. It comes down to the value the company can get back.
I'm starting with conversations with businesses that are interested, and
will determine from there.

On Fri, Sep 26, 2014 at 1:44 PM, Howard M. Lewis Ship 
wrote:

> There's a number of options out there for collecting small recurring
> payments.  I already make regular payments to Wikipedia and a couple of
> others (including GitHub), and would be willing to kick in some money
> towards Clojars.
>
> The question is: what is a reasonable amount?  This is tricky; I'm
> comfortable, as a self-employed, individual developer, to kick in $3-$5 per
> month. What kind of numbers are you looking at for the more corporate users
> of Clojars?  What would you expect for an organization that simply pulls
> for Clojars, vs. one that distributes code via Clojars?
>
>
> On Friday, 26 September 2014 08:09:55 UTC-7, Nelson Morris wrote:
>>
>> Clojars has become a critical part of the clojure ecosystem. As a small
>> sample, it hosts artifacts for:
>>
>> * Web development - ring, compojure, hoplon, hiccup, enlive, friend,
>> immutant
>> * Tooling - lein templates/plugins, cider-nrepl, clojure-complete,
>> gorilla-repl
>> * Clojurescript - lein-cljsbuild, austin, om, reagent, sente
>> * Misc - Clojurewerkz projects, storm, incanter, clj-time, cheshire,
>> clj-http,
>> * Company projects - pedestal, dommy, schema
>>
>> Vulnerabilities like shellshock and heartbleed always require quick
>> response. An insecure clojars service could lead to compromised systems in
>> multiple companies, potentially any project that used an artifact from it.
>> A similar situation exist for maven central, rubygems, apt, and other
>> repositories.
>>
>> There are other administration tasks such as verifying backups, server
>> updates, better response time to deletion requests, and potentially the
>> need to handle unexpected downtime. Additionally, development time is
>> needed for the releases repo w/ signatures, CDN deployments, additional UI
>> work, and more.
>>
>> Currently clojars is maintained by a collaboration between 3 very spare
>> time people. Vulnerabilities get attention due to the damage potential.
>> However, being a spare time project many of the other tasks languish until
>> required, or wait behind the queue of life's requirements. I'd love to
>> change that.
>>
>> I've been a co-maintainer for clojars for two years. I implemented the
>> https deployment, better search, and download statistics for clojars. I've
>> handled most of the deletion requests over the past year. I've also got
>> work in leiningen including almost everything related to dependency
>> resolution and trees.
>>
>> I want your help.
>>
>> Do you work at a company that runs clojure in production?  Does it have a
>> financial interest in a well maintained and secure clojars service? Would
>> it be interested in sponsorships, business features, or another arrangement
>> that produces value? Then I request you email me. I want to create a
>> sustainable path for this critical piece of the clojure ecosystem.
>>
>> Thanks,
>> Nelson Morris
>>
>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.

Re: [ANN] Monroe 0.1.0 - nrepl client for Emacs

2014-09-26 Thread Bozhidar Batsov
Btw, you’re using CIDER’s old bencode parser, which was flawed (big requests 
break it due to deep recursive calls). We recently reworked it and the new 
version is much more robust.

—
Cheers, 
Bozhidar

On September 25, 2014 at 4:32:12 PM, Sanel Zukan (san...@gmail.com) wrote:

Thanks for reply with the details, Bastien :)

> As someone new to CIDER (probably only use 10% of its features), what's the 
>difference between this and CIDER?

I think you already answered it :) I find Cider amazing project, but is a bit 
biggish for my taste, especially if you would like to get the extension and 
start working on Clojure code, instead of setting up the details. Also, I 
prefer keeping REPL and all REPL related stuff (erorrs and exceptions) _inside_ 
REPL buffer and window, just like many Emacs modes works.

Now, a little bit internals: Monroe REPL is using comint-mode, which means that 
many comint keys and variables should work out of the box. In Emacs, 
comint-mode is used by default for interaction with external programs like 
shell, ielm, inferior-[lisp, scheme, python] and many of them are sharing 
similar shortcuts.

> i.e. why would I want to use this over CIDER? (could be good to put in the 
> README as well)

I think README summarize the goals behind the project. If you find it 
confusing, I'll try to clarify the things a little bit.

Best,
Sanel

On Thursday, September 25, 2014 6:41:52 AM UTC+2, Bastien Guerry wrote:
John Louis Del Rosario  writes:

> Looks neat. As someone new to CIDER (probably only use 10% of its
> features), what's the difference between this and CIDER? i.e. why
> would I want to use this over CIDER? (could be good to put in the
> README as well)

Copying what's on the reddit page:

http://www.reddit.com/r/Clojure/comments/2hde6w/monroe_new_nrepl_client_for_emacs/

"Some features:

- lightweight
   
- focused only on nrepl protocol so you can easily combine it with
  favorite libraries (e.g. company-mode)
   
- single buffer for interaction, which behaves like inferior
  modes. Errors and results will be shown in that buffer, instead
  poping out new buffers.
   
- works on older Emacs versions
   
- history in repl that actually works"

--
 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/d/optout.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PSA] Clojars scp disabled until further notice

2014-09-26 Thread David Pollak
Please count me in for $500 this month. Contact me off-list user d, domain 
athena dot com with info where I should send money.

I ran the scala-tools.org Scala JAR repo for many years with the help of a few 
other folks. I understand the challenges of running a repo... the expectation 
that everything is done perfectly *and* that folks shouldn't have to pay for 
any of it.

Happy to chat off-list about my experience and lend some insights that you may 
or may not find valuable.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Monroe 0.1.0 - nrepl client for Emacs

2014-09-26 Thread Sanel Zukan
True; Monroe for now is focused only on providing stable nrepl connection 
with usable REPL, but you should be able to use any *clojure-mode.el* that 
floats around the net. AFAIK, Cider comes with *clojure-mode.el* and you 
could try it. If you find issues please let me know.

Also, there is clojure-mode.el on EmacsWiki 
 or you can use the one 
from my repository 
 
(warning, it is a bit outdated and I'm using it mainly for syntax 
highlighting).

Best,
Sanel

On Friday, September 26, 2014 5:28:58 PM UTC+2, John Louis Del Rosario 
wrote:
>
> Thanks!
>
> Just installed it and disabled CIDER. Hmm first things I miss are no 
> syntax highlighting and no paredit.
> I think I can just add a hook for paredit, but not sure about syntax 
> highlighting. Any ideas?
>
> On Thursday, September 25, 2014 8:32:05 PM UTC+8, Sanel Zukan wrote:
>>
>> Thanks for reply with the details, Bastien :)
>>
>> > As someone new to CIDER (probably only use 10% of its features), what's 
>> the difference between this and CIDER?
>>
>> I think you already answered it :) I find Cider amazing project, but is a 
>> bit biggish for my taste, especially if you would like to get the extension 
>> and start working on Clojure code, instead of setting up the details. Also, 
>> I prefer keeping REPL and all REPL related stuff (erorrs and exceptions) 
>> _inside_ REPL buffer and window, just like many Emacs modes works.
>>
>> Now, a little bit internals: Monroe REPL is using comint-mode, which 
>> means that many comint keys and variables should work out of the box. In 
>> Emacs, comint-mode is used by default for interaction with external 
>> programs like shell, ielm, inferior-[lisp, scheme, python] and many of them 
>> are sharing similar shortcuts.
>>
>> > i.e. why would I want to use this over CIDER? (could be good to put in 
>> the README as well)
>>
>> I think README summarize the goals behind the project. If you find it 
>> confusing, I'll try to clarify the things a little bit.
>>
>> Best,
>> Sanel
>>
>> On Thursday, September 25, 2014 6:41:52 AM UTC+2, Bastien Guerry wrote:
>>>
>>> John Louis Del Rosario  writes: 
>>>
>>> > Looks neat. As someone new to CIDER (probably only use 10% of its 
>>> > features), what's the difference between this and CIDER? i.e. why 
>>> > would I want to use this over CIDER? (could be good to put in the 
>>> > README as well) 
>>>
>>> Copying what's on the reddit page: 
>>>
>>>
>>> http://www.reddit.com/r/Clojure/comments/2hde6w/monroe_new_nrepl_client_for_emacs/
>>>  
>>>
>>> "Some features: 
>>>
>>> - lightweight 
>>> 
>>> - focused only on nrepl protocol so you can easily combine it with 
>>>   favorite libraries (e.g. company-mode) 
>>> 
>>> - single buffer for interaction, which behaves like inferior 
>>>   modes. Errors and results will be shown in that buffer, instead 
>>>   poping out new buffers. 
>>> 
>>> - works on older Emacs versions 
>>> 
>>> - history in repl that actually works" 
>>>
>>> -- 
>>>  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/d/optout.


Re: [ANN] Monroe 0.1.0 - nrepl client for Emacs

2014-09-26 Thread Sanel Zukan
Thanks for the tip!

Actually, I was using the one from *nrepl.el*, but I will check your fixed 
version and see how to adapt it :) Do you a sample that will break the 
current parser (so I can use it for validation and testing)?

Best,
Sanel

On Friday, September 26, 2014 9:34:11 PM UTC+2, Bozhidar Batsov wrote:
>
> Btw, you’re using CIDER’s old bencode parser, which was flawed (big 
> requests break it due to deep recursive calls). We recently reworked it and 
> the new version is much more robust.
>
> —
> Cheers, 
> Bozhidar
>
> On September 25, 2014 at 4:32:12 PM, Sanel Zukan (san...@gmail.com 
> ) wrote:
>
> Thanks for reply with the details, Bastien :)
>
> > As someone new to CIDER (probably only use 10% of its features), what's 
> the difference between this and CIDER? 
>
> I think you already answered it :) I find Cider amazing project, but is a 
> bit biggish for my taste, especially if you would like to get the extension 
> and start working on Clojure code, instead of setting up the details. Also, 
> I prefer keeping REPL and all REPL related stuff (erorrs and exceptions) 
> _inside_ REPL buffer and window, just like many Emacs modes works.
>
> Now, a little bit internals: Monroe REPL is using comint-mode, which means 
> that many comint keys and variables should work out of the box. In Emacs, 
> comint-mode is used by default for interaction with external programs like 
> shell, ielm, inferior-[lisp, scheme, python] and many of them are sharing 
> similar shortcuts.
>
> > i.e. why would I want to use this over CIDER? (could be good to put in 
> the README as well)
>
> I think README summarize the goals behind the project. If you find it 
> confusing, I'll try to clarify the things a little bit.
>
> Best,
> Sanel
>
> On Thursday, September 25, 2014 6:41:52 AM UTC+2, Bastien Guerry wrote: 
>>
>> John Louis Del Rosario  writes:
>>
>> > Looks neat. As someone new to CIDER (probably only use 10% of its
>> > features), what's the difference between this and CIDER? i.e. why
>> > would I want to use this over CIDER? (could be good to put in the
>> > README as well)
>>
>> Copying what's on the reddit page:
>>
>>  
>> http://www.reddit.com/r/Clojure/comments/2hde6w/monroe_new_nrepl_client_for_emacs/
>>
>> "Some features:
>>
>> - lightweight
>>
>> - focused only on nrepl protocol so you can easily combine it with
>>   favorite libraries (e.g. company-mode)
>>
>> - single buffer for interaction, which behaves like inferior
>>   modes. Errors and results will be shown in that buffer, instead
>>   poping out new buffers.
>>
>> - works on older Emacs versions
>>
>> - history in repl that actually works"
>>
>> --
>>  Bastien
>>
>  --
> 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/d/optout.
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Re: Handling java streams..

2014-09-26 Thread José Ricardo
Hi, I'm not sure if resurrecting this thread is the right approach, but 
what about Java 8 Streams (java.util.stream)?

Are there any libraries out there for making java 8 streams handling nicer? 
:)

On Tuesday, June 28, 2011 2:18:13 PM UTC-4, Sean Corfield wrote:
>
> On Tue, Jun 28, 2011 at 10:40 AM, Ken Wesson  > wrote:
> > How else do you propose to explain the observation that "if it isn't
> > in clojure.core, it tends to be underused"? :)
>
> Well, that's your observation so it's rather circular logic :)
> -- 
> Sean A Corfield -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
> World Singles, LLC. -- http://worldsingles.com/
> Railo Technologies, Inc. -- http://www.getrailo.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/d/optout.


Re: Calling the main static method of a class

2014-09-26 Thread M Guti
=>(AClass/main ( into-array String ["23"] ))

and if the AClass is in the same dir of the invocation then include it in 
the class path : 

 java -cp clojure-1.6.0.jar:.  clojure.main


El viernes, 26 de septiembre de 2014 11:12:41 UTC+2, 
paracomunicaci...@gmail.com escribió:
>
> hi,
>
> I've got a "traditional" java class invoked from the command line: 
>
> public class Aclass
>
>   public static void main(String[] a)
> throws Exception {
> 
> }
>
> java -Doneoption=onevalue Aclass
>
> and I want to invoke THAT main class from the command line and to simulate
> the options from the command line ( -Doneption...) ,
>
> how can I achieve this in clojure ?
>
>
> greetings 
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


core.async | compojure ... odd error ... help!!

2014-09-26 Thread mond
My first core.async program ... all works outside of the web app but barfs 
once I put the functions inside a web container. I hope somebody in the 
group can point to my obvious mistake...

The idea is that the function 'respond-within-sla' will give back a result 
or a come back later message after N milliseconds. It is passed a number of 
ms, three functions and the arguments for the final function ... which is 
the one that should operate within the SLA.

(defn respond-within-sla [expected-result-milliseconds respond-ok 
respond-later data-fetcher & args]
  (let [data-channel (timeout expected-result-milliseconds)]
(go (if-let [data (! data-channel (apply data-fetcher args)

To keep the volume of code to parse to a minimum I have made a few toy 
functions that demonstrate the failure...

; test funcs

(defn ok [data]
  (prn (str "send HTTP 200 ... got data " data)))

(defn later []
  (prn (str "send HTTP 202 ... request received, come back later")))

(defn fetcher [arg1 arg2 arg3]
  (prn (str "fetching data with args " arg1 " " arg2 " " arg3))
  "response-data")

(defn failer [& args]
  (Thread/sleep 1000)
  (str "never gets here " args))

; test funcs

(defn ok [data]
  (prn (str "send HTTP 200 ... got data " data)))

(defn later []
  (prn (str "send HTTP 202 ... request received, come back later")))

(defn fetcher [arg1 arg2 arg3]
  (prn (str "fetching data with args " arg1 " " arg2 " " arg3))
  "response-data")

(defn failer [& args]
  (Thread/sleep 1000)
  (str "never gets here " args))

(defn generate-response [brand country resource]
  (let [sla (or (env :sla-milliseconds) 100)]
(respond-within-sla sla ok later fetcher brand country resource)))

(defn generate-fail [brand country resource]
  (let [sla (or (env :sla-milliseconds) 100)]
(respond-within-sla sla ok later failer brand country resource)))

>From within the REPL it all works fine...

(generate-response "A" "B" "C")
=> #
"fetching data with args A B C"
"send HTTP 200 ... got data response-data"
(generate-fail "A" "B" "C")
=> #
"send HTTP 202 ... request received, come back later"

Here is the compojure route..

(defroutes app
   (GET "/:brand/:country/*" [brand country *]
(generate-response brand country *))

   (ANY "*" []
(route/not-found "You must use a REST style to specify 
brand and country keys in the URL")))

If I now start it up 'lein run' and try to exercise the functions from the 
web server...

$ curl -I http://localhost:5000/A/B/D.jpg
HTTP/1.1 500 Server Error
Date: Fri, 26 Sep 2014 23:02:03 GMT
Content-Length: 0
Connection: close
Server: Jetty(7.6.8.v20121106)

And on the server I see this:

$ lein run
Compiling redirector.web
2014-09-27 01:01:48.426:INFO:oejs.Server:jetty-7.6.8.v20121106
2014-09-27 01:01:48.458:INFO:oejs.AbstractConnector:Started 
SelectChannelConnector@0.0.0.0:5000
2014-09-27 01:02:03.535:WARN:oejs.AbstractHttpConnection:/A/B/D.jpg
java.lang.IllegalArgumentException: No implementation of method: :render of 
protocol: #'compojure.response/Renderable found for class: 
clojure.core.async.impl.channels.ManyToManyChannel
at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:544)
at compojure.response$fn__213$G__208__220.invoke(response.clj:9)
at compojure.core$make_route$fn__332.invoke(core.clj:100)
at compojure.core$if_route$fn__320.invoke(core.clj:46)
at compojure.core$if_method$fn__313.invoke(core.clj:33)
at compojure.core$routing$fn__338.invoke(core.clj:113)
at clojure.core$some.invoke(core.clj:2515)
at compojure.core$routing.doInvoke(core.clj:113)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invoke(core.clj:626)
at compojure.core$routes$fn__342.invoke(core.clj:118)
at clojure.lang.Var.invoke(Var.java:379)
at 
ring.middleware.keyword_params$wrap_keyword_params$fn__534.invoke(keyword_params.clj:35)
at 
ring.middleware.nested_params$wrap_nested_params$fn__576.invoke(nested_params.clj:84)
at ring.middleware.params$wrap_params$fn__507.invoke(params.clj:64)
at 
ring.middleware.multipart_params$wrap_multipart_params$fn__612.invoke(multipart_params.clj:118)
at ring.middleware.flash$wrap_flash$fn__1286.invoke(flash.clj:35)
at ring.middleware.session$wrap_session$fn__1273.invoke(session.clj:98)
at ring.adapter.jetty$proxy_handler$fn__1426.invoke(jetty.clj:18)
at 
ring.adapter.jetty.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown
 
Source)
at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:363)
at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)
at 
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:920)
at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:982)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)
"fetching data with args A B D.jpg"
at 

Re: core.async | compojure ... odd error ... help!!

2014-09-26 Thread James Reeves
Hi Ray,

I don't entirely understand why you expected this to work. Channels aren't
a valid Ring response body. The error message is essentially telling you
that Compojure has no way of turning the channel object you've returned
into a valid response.

The other problem you have is that the Ring Jetty adapter doesn't have any
support for asynchronous operations.

Another small point. You're using "*" as an argument name, but this isn't
really recommended. This only works by coincidence, and it may be removed
in future versions. Instead use something like:

(GET ["/:brand/:country/:resource" :resource #".*"] [brand country
resource] ...)

- James

On 27 September 2014 00:14, mond  wrote:

> My first core.async program ... all works outside of the web app but barfs
> once I put the functions inside a web container. I hope somebody in the
> group can point to my obvious mistake...
>
> The idea is that the function 'respond-within-sla' will give back a result
> or a come back later message after N milliseconds. It is passed a number of
> ms, three functions and the arguments for the final function ... which is
> the one that should operate within the SLA.
>
> (defn respond-within-sla [expected-result-milliseconds respond-ok
> respond-later data-fetcher & args]
>   (let [data-channel (timeout expected-result-milliseconds)]
> (go (if-let [data (   ((async/close! data-channel)
>(respond-ok data))
>   (respond-later)))
> (go
>   (>! data-channel (apply data-fetcher args)
>
> To keep the volume of code to parse to a minimum I have made a few toy
> functions that demonstrate the failure...
>
> ; test funcs
>
> (defn ok [data]
>   (prn (str "send HTTP 200 ... got data " data)))
>
> (defn later []
>   (prn (str "send HTTP 202 ... request received, come back later")))
>
> (defn fetcher [arg1 arg2 arg3]
>   (prn (str "fetching data with args " arg1 " " arg2 " " arg3))
>   "response-data")
>
> (defn failer [& args]
>   (Thread/sleep 1000)
>   (str "never gets here " args))
>
> ; test funcs
>
> (defn ok [data]
>   (prn (str "send HTTP 200 ... got data " data)))
>
> (defn later []
>   (prn (str "send HTTP 202 ... request received, come back later")))
>
> (defn fetcher [arg1 arg2 arg3]
>   (prn (str "fetching data with args " arg1 " " arg2 " " arg3))
>   "response-data")
>
> (defn failer [& args]
>   (Thread/sleep 1000)
>   (str "never gets here " args))
>
> (defn generate-response [brand country resource]
>   (let [sla (or (env :sla-milliseconds) 100)]
> (respond-within-sla sla ok later fetcher brand country resource)))
>
> (defn generate-fail [brand country resource]
>   (let [sla (or (env :sla-milliseconds) 100)]
> (respond-within-sla sla ok later failer brand country resource)))
>
> From within the REPL it all works fine...
>
> (generate-response "A" "B" "C")
> => # clojure.core.async.impl.channels.ManyToManyChannel@4b7ae3f7>
> "fetching data with args A B C"
> "send HTTP 200 ... got data response-data"
> (generate-fail "A" "B" "C")
> => # clojure.core.async.impl.channels.ManyToManyChannel@4eb8b5a9>
> "send HTTP 202 ... request received, come back later"
>
> Here is the compojure route..
>
> (defroutes app
>(GET "/:brand/:country/*" [brand country *]
> (generate-response brand country *))
>
>(ANY "*" []
> (route/not-found "You must use a REST style to specify
> brand and country keys in the URL")))
>
> If I now start it up 'lein run' and try to exercise the functions from the
> web server...
>
> $ curl -I http://localhost:5000/A/B/D.jpg
> HTTP/1.1 500 Server Error
> Date: Fri, 26 Sep 2014 23:02:03 GMT
> Content-Length: 0
> Connection: close
> Server: Jetty(7.6.8.v20121106)
>
> And on the server I see this:
>
> $ lein run
> Compiling redirector.web
> 2014-09-27 01:01:48.426:INFO:oejs.Server:jetty-7.6.8.v20121106
> 2014-09-27 01:01:48.458:INFO:oejs.AbstractConnector:Started
> SelectChannelConnector@0.0.0.0:5000
> 2014-09-27 01:02:03.535:WARN:oejs.AbstractHttpConnection:/A/B/D.jpg
> java.lang.IllegalArgumentException: No implementation of method: :render
> of protocol: #'compojure.response/Renderable found for class:
> clojure.core.async.impl.channels.ManyToManyChannel
> at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:544)
> at compojure.response$fn__213$G__208__220.invoke(response.clj:9)
> at compojure.core$make_route$fn__332.invoke(core.clj:100)
> at compojure.core$if_route$fn__320.invoke(core.clj:46)
> at compojure.core$if_method$fn__313.invoke(core.clj:33)
> at compojure.core$routing$fn__338.invoke(core.clj:113)
> at clojure.core$some.invoke(core.clj:2515)
> at compojure.core$routing.doInvoke(core.clj:113)
> at clojure.lang.RestFn.applyTo(RestFn.java:139)
> at clojure.core$apply.invoke(core.clj:626)
> at compojure.core$routes$fn__342.invoke(core.clj:118)
> at clojure.lang.Var.invoke(Var.java:379)
> at
> ring.middleware.keyword_params$wrap_keyword_params$fn__534.invoke(keyword_params.clj:35)
> at
> ring

Re: [ANN] New release 0.28.0 of Counterclockwise

2014-09-26 Thread Alexander Igdalov
Hi Laurent,

Thanks for the great work!
Regarding Counterclockwise 0.28.0 - I can see that now it is pulling git 
plugin dependencies. Can you please making this dependency optional?

Thanks,
- Alex.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PSA] Clojars scp disabled until further notice

2014-09-26 Thread Sean Corfield
I grumbled about the GPG stuff when it came up but after a chat with
Phil I decided this was something I just needed to learn as a
developer. Sure, it means you have to "read complex security stuff"
but we have to read lots of complex stuff as developers - that's just
part of our job.

I switched to lein deploy clojars a long time ago and, frankly, after
that initial hour or two for a one-off setup, I never had to worry
about GPG again.

Perhaps #shellshock is a good opportunity for a lot more developers to
learn some better "security health"?

If Clojars' scp remains unavailable, will that pain be sufficient to
switch library maintainers to https deploy? Or will those maintainers
just stop making releases and abandon their libraries?

Sean

On Thu, Sep 25, 2014 at 7:04 PM, Carlos Fontes  wrote:
> I second Michael Klishin.
> Some immemorial time ago I tried `lein deploy clojars` which lead me to read
> complex security stuff. I really tried to make it work, I did.. but it
> didn't "just work", it didn't "work with some work" and even with "more
> work", so now I just use `lein push`.
>
> Btw, is Clojars still down for SCP uploads? Still having trouble here:
> com.jcraft.jsch.JSchException: Auth fail
>
> Carlos
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



-- 
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/d/optout.


Clojure REPL shell on CodeBunk

2014-09-26 Thread Code Bunk
Hi Guys,

Just wanted to let you all know that CodeBunk(http://codebunk.com) now 
supports REPL shell for Clojure. Do check it out.

--
Yousuf Fauzan
CodeBunk

CodeBunk provides a Realtime Collaborative Editor with Compile/Run and REPL
shells. CodeBunk is an Online Compiler/Interpreter for *Rust*, R,
Coffeescript, Scala, PHP, Python, Ruby, Perl, Lua, Javascript, C, C++,
Java, Erlang, Haskell, Julia, *Clojure*, Go. CodeBunk also has Peer-to-Peer
Video/Audio chat facility. CodeBunk is ideal for Online Interview of
Developers as well as Learning to code from Friends.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Re: Handling java streams..

2014-09-26 Thread Sean Corfield
On Fri, Sep 26, 2014 at 11:51 AM, José Ricardo  wrote:
> Hi, I'm not sure if resurrecting this thread is the right approach, but what
> about Java 8 Streams (java.util.stream)?
>
> Are there any libraries out there for making java 8 streams handling nicer?
> :)

Well, this thread is certainly a blast from the past :)

Can you be a bit more specific about what you'd like to see "nicer"
with Java 8 streams, and what you'd like to see in a Clojure wrapper?

I ask because Java 8 is the first version that I've been interested in
since I felt it went off the rails with Java 5 - and streams are part
of what makes Java 8 attractive again :)
-- 
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/d/optout.


Where can one find low hanging fruit for open source contribution?

2014-09-26 Thread kurofune
I am an looking for a good, active, open source Clojure library/project to 
contribute to, but am not sure where to start. Could somebody give an 
intermediate level programmer a  few pointers as to where to begin? 

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Where can one find low hanging fruit for open source contribution?

2014-09-26 Thread Michael Klishin
On 27 September 2014 at 10:34:28, kurofune (jesseluisd...@gmail.com) wrote:
> I am an looking for a good, active, open source Clojure library/project 
> to contribute to, but am not sure where to start. Could somebody 
> give an intermediate level programmer a few pointers as to where 
> to begin?

Leiningen has issues tagged "newbie" and its maintainers are some of the nicest
people you'll find in open source:

https://github.com/technomancy/leiningen/labels/Newbie

Some (unfortunately, only a few to date) ClojureWerkz projects use a similar
tag:
https://github.com/clojurewerkz/elastisch/labels/low-hanging%20fruit

Ultimately I'd recommend contributing to either what you can easily see yourself
using or something that sounds really interesting. Leiningen is something
you will use if you use Clojure, which makes it a no-brainer.
-- 
@michaelklishin, github.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/d/optout.