Re: Evaluation of metadata by reader

2013-07-25 Thread Jozef Wagner
Your post is nice but does not at all talk about the issue I am presenting. 
I know metadata is attached to the form reader reads and not to the evaled 
result of that form. My issue is of the evaluation of the metadata map 
itself.

Best,
Jozef

On Thursday, July 25, 2013 2:50:38 AM UTC+2, spencer wrote:
>
> I wrote a blog post about this last year: 
> http://spencertipping.com/posts/2012.0819.clojure-metadata.html
>
> On Wednesday, July 24, 2013 3:09:11 PM UTC-7, Jozef Wagner wrote:
>>
>> I have a hard time understanding the rules for the evaluation of the 
>> metadata in the reader. Following example illustrates this:
>>
>> (let [x :foo
>> v1 (quote ^{x 4} [1 2 3])
>> v2 ^{x 4} [1 2 3]] 
>>   (println (meta v1) v1)
>>   (println (meta v2) v2))
>>
>> prints
>>
>> {x 4} [1 2 3]
>> {:foo 4} [1 2 3].
>>
>> Is it a desired behavior that reader is influenced by whether it reads 
>> inside a quoted form? Even strangely, 
>>
>> (let [x :foo
>> v1 (quote ^{x 4} [])
>> v2 ^{x 4} []] 
>>   (println (meta v1) v1)
>>   (println (meta v2) v2))
>>
>> prints 
>>
>> nil []
>> {:foo 4} []
>>
>> Best,
>> JW
>>
>>

-- 
-- 
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: Can we please deprecate the :use directive ?

2013-07-25 Thread Philippe Guillebert
Hi list,

Just a thought, I usually limit my usage of (:use) to DSL-like functions,
like for instance cascalog :

  (?<- (stdout) [?a ?b] (generator :> ?a ?b))

Without a use, or (:require :refer :all), this would become very
cumbersome to read :

  (cascalog/?<- (cascalog/stdout) [?a ?b] (generator :> ?a ?b))

The same applies to SQL DSLs like korma.

So, IMHO there are cases where (:use) simplifies things.

-- 

Philippe Guillebert

-- 
-- 
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: Evaluation of metadata by reader

2013-07-25 Thread Meikel Brandmeyer (kotarak)
Hi,

my understanding is, that the metadata is evaluated when the literal is 
evaluated. In the first case this means to just strip the surrounding 
quote. So nothing happens to the metadata. In the second case upon 
evaluation the literal vector is traversed and its elements are evaluated. 
During this process also the metadata gets evaluated.

The reader does no evaluation whatsoever (modulo "#=" and such 
specialities). You can see the effect by doing something like this: 
{(gensym) :a (gensym) :b}.

I think the issue with the empty vector in the quote is a bug.

Meikel

-- 
-- 
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: Evaluation of metadata by reader

2013-07-25 Thread Jozef Wagner
Hi,

I was just going to post exactly the same. I've looked in the Compiler.java 
and the evaluation of metadata happens together with evaluation of the 
form. So it is a desired behavior after all.

Regarding empty vector, I've already created a ticket for it, 
http://dev.clojure.org/jira/browse/CLJ-1235

Thank you,
Jozef

On Thursday, July 25, 2013 11:15:17 AM UTC+2, Meikel Brandmeyer (kotarak) 
wrote:
>
> Hi,
>
> my understanding is, that the metadata is evaluated when the literal is 
> evaluated. In the first case this means to just strip the surrounding 
> quote. So nothing happens to the metadata. In the second case upon 
> evaluation the literal vector is traversed and its elements are evaluated. 
> During this process also the metadata gets evaluated.
>
> The reader does no evaluation whatsoever (modulo "#=" and such 
> specialities). You can see the effect by doing something like this: 
> {(gensym) :a (gensym) :b}.
>
> I think the issue with the empty vector in the quote is a bug.
>
> Meikel
>
>

-- 
-- 
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: Can we please deprecate the :use directive ?

2013-07-25 Thread Mikera
On Tuesday, 23 July 2013 21:55:12 UTC+1, Sean Corfield wrote:

> On Tue, Jul 23, 2013 at 1:53 PM, Ben Wolfson > 
> wrote: 
> > On Tue, Jul 23, 2013 at 1:50 PM, Stefan Kamphausen 
> > > 
>
> > wrote: 
> >> It complects require and refer ;-) 
> > How so? 
>
> Because use = require + refer (essentially). 
>

That's more like "composing" rather than"complecting" IMHO.

Composing is perfectly good practice: once you've made things "simple" 
(require and refer) then it's perfectly legitimate to compose them again in 
order to make things "easy" for users (use). Clojure does this all over the 
place in the name of user convenience (e.g. empty? = not + seq ).

-- 
-- 
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.




sorted-set-by with custom comparator frauds equality

2013-07-25 Thread gixxi
Hi all,

please consider the following record definition

(defrecord RDistance
  [node dist visited])

as well as an instance and a tree set with a custom comparator ordering 
content first by :visited and after that by :dist

(def d (RDistance. "foo" 1 0))
(def tree (sorted-set-by (comparator (juxt :visited :dist)) d))

The set tree is prefilled with d

user=> d
#user.RDistance{:node "foo", :dist 1, :visited 0}

I expect the set to remain the same when conj'oining d again, but repl 
states 

user=> (conj tree d)
#{#user.RDistance{:node "foo", :dist 1, :visited 0} #user.RDistance{:node 
"foo", :dist 1, :visited 0}}


What is the problem?

Thanks
Christian




-- 
-- 
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] byte-transforms: methods for hashing, compressing, and encoding bytes

2013-07-25 Thread Zach Tellman
This is just a thin wrapper over byte-streams [1] and some best-in-class 
hash and compression algorithms, but I figure there are at least a few 
people out there who'd like to use Snappy or MurmurHash but don't want to 
crawl through javadocs.  Enjoy.

Zach

[1] https://github.com/ztellman/byte-streams

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




distinction of defrecord instances in sorted-set-by does not work

2013-07-25 Thread gixxi
Hi all,

Consider the following record definition, a respective record instance as 
well as a sorted tree set with a custom comparator sorting first the 
:visited property and the by the :dist property of the record.

(defrecord RDistance
  [node dist visited])

(def d (RDistance. "foo" 1 0))

(def tree (sorted-set-by (comparator (juxt :visited :dist)) d))


I expect conj d again to the set would change the set, but doing so in the 
repl results in the set containing two equal elements

user=> (conj tree d)
#{#user.RDistance{:node "foo", :dist 1, :visited 0} #user.RDistance{:node 
"foo", :dist 1, :visited 0}}

What is the problem?


Thanks for your help
Best regards

-- 
-- 
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: Can we please deprecate the :use directive ?

2013-07-25 Thread Laurent PETIT
2013/7/25 Philippe Guillebert :
> Hi list,
>
> Just a thought, I usually limit my usage of (:use) to DSL-like functions,
> like for instance cascalog :
>
>   (?<- (stdout) [?a ?b] (generator :> ?a ?b))
>
>
>
> Without a use, or (:require :refer :all), this would become very cumbersome
> to read :
>
>   (cascalog/?<- (cascalog/stdout) [?a ?b] (generator :> ?a ?b))
>
>
>
> The same applies to SQL DSLs like korma.
>
> So, IMHO there are cases where (:use) simplifies things.

Again, it's not about getting rid of (:use) functionality, but rather
let everything be declared through (:require), and deprecating the use
of :use

(:use foo :only [a b c]) will become (:require foo :refer [a b c])
(:use foo) will become (:require foo :refer :all)

This will save lots of time and frustration among people trying to
remember why (:use :only) somewhere, why (:require :refer :all)
somewhere else, etc.

This is, IMHO, and it seems that Phil & other agree with that, the
simplest thing that has a chance to work, and maximizes cost/benefit
ratio.

>
>
>
> --
>
> Philippe Guillebert
>
>
>
> --
> --
> 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: Can we please deprecate the :use directive ?

2013-07-25 Thread Mikera
On Tuesday, 23 July 2013 16:50:50 UTC+1, Greg Slepak wrote:

> I think I read somewhere that :use is no longer encouraged, but I could be 
> mistaken. 
>
> From what I've read, it seems like most people agree that Clojure has too 
> many ways of including/importing/referencing/requiring/using things: 
>
>
> http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html
>  
>
> The above gives a very nice explanation of all the various difference, but 
> it also acknowledges their complexity. 
>
> Since :use uses :require, and since :require can do everything that :use 
> can, can we simplify Clojure programming a bit for newcomers by deprecating 
> the use of :use? The situation in ClojureScript is even worse because it 
> adds :require-macros on top of all the other ways of including files. 
>
> Ideally, it would be awesome if there was just a single directive for 
> everything, but perhaps there's some complicated low-level reason why 
> that's not possible. :-\ 
>
> Thoughts? 
>
> Thanks, 
> Greg 
>

I don't think :use should be deprecated. Reasons:
- It's already out there in a lot of production code (most important 
reason!)
- It's a convenient feature: it saves typing out :require [ :refer 
:all]. Not that this matters much in ns declarations, but it would annoy me 
when :use was perfectly functional for this case.
- It's consistent with "use", which is a very helpful short command for 
setting up a REPL session quickly. And saving typing definitely *does* 
matter in REPL sessions.
- There's no technical/logical problem with it (it's just a simple 
composition of require + refer)
- I personally find it a helpful pattern : often I want an entire namespace 
available, and I don't want to be manually requiring specific functions 
every time I need something new from the namespace. That's just pointless 
boilerplate to maintain.

I guess removing it would be a slight simplification to the 
already-complicated ns syntax, but to me that is vastly outweighed by the 
above.

If people want to write code-style tools that auto-convert :use into 
equivalent :require clauses then that is obviously fine. I wouldn't use 
such tools myself, but I'm all for people having flexibility to determine 
their own coding style.

But let's not get into the habit of making breaking changes that remove 
useful features without very good reasons.
 

-- 
-- 
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: sorted-set-by with custom comparator frauds equality

2013-07-25 Thread Meikel Brandmeyer (kotarak)
Hi,

you are using comparator incorrectly. The function you pass there should 
return true, when x is to the left of y when called as (f x y). See the 
following example.

user=> (defrecord Foo [a b])
user.Foo
; Wrong usage: your example (The new element is always smaller!)
user=> (-> (sorted-set-by (comparator (juxt :a :b))) (conj (Foo. 1 2)) 
(conj (Foo. 1 3)))
#{#user.Foo{:a 1, :b 3} #user.Foo{:a 1, :b 2}}
user=> (-> (sorted-set-by (comparator (juxt :a :b))) (conj (Foo. 1 2)) 
(conj (Foo. 1 1)))
#{#user.Foo{:a 1, :b 1} #user.Foo{:a 1, :b 2}}
user=> (-> (sorted-set-by (comparator (juxt :a :b))) (conj (Foo. 1 2)) 
(conj (Foo. 1 2)))
#{#user.Foo{:a 1, :b 2} #user.Foo{:a 1, :b 2}}
; Correct usage: lexicographic ordering
user=> (-> (sorted-set-by (comparator #(or (< (:a %1) (:a %2)) (< (:b %1) 
(:b %2) (conj (Foo. 1 2)) (conj (Foo. 1 1)))
#{#user.Foo{:a 1, :b 1} #user.Foo{:a 1, :b 2}}
user=> (-> (sorted-set-by (comparator #(or (< (:a %1) (:a %2)) (< (:b %1) 
(:b %2) (conj (Foo. 1 2)) (conj (Foo. 1 3)))
#{#user.Foo{:a 1, :b 2} #user.Foo{:a 1, :b 3}}
user=> (-> (sorted-set-by (comparator #(or (< (:a %1) (:a %2)) (< (:b %1) 
(:b %2) (conj (Foo. 1 2)) (conj (Foo. 1 2)))
#{#user.Foo{:a 1, :b 2}}

HTH.

Meikel

-- 
-- 
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: Can we please deprecate the :use directive ?

2013-07-25 Thread Mikera
On Tuesday, 23 July 2013 19:17:02 UTC+1, Jozef Wagner wrote:

> +1, :use is IMO an antipattern. 
>
> I hate it mainly in blogs, where they explain some new API. They :use like 
> 3 namespaces and you have to guess which fn is from which ns :)
>

Hmmm perhaps I'm guilty of this.

But I find code much more readable when it isn't full of aliases and I 
assume many other readers do too. Aliases IMHO add noise that distracts 
from the logic that you are trying to express.

Personally, it has never particularly bothered me which namespace a 
function is from while reading a blog post. I might need to know at some 
point in the future, but by then I'll actually be coding in an editor or a 
REPL, and then my editor/REPL will tell me.


-- 
-- 
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: core.matrix 0.9.0 / vectorz-clj 0.13.1

2013-07-25 Thread Mikera
Two more releases in the ongoing crusade to bring top-class numerical 
computing facilities to Clojure:
https://github.com/mikera/matrix-api
https://github.com/mikera/vectorz-clj

Key contents:
- New API function "fill!"
- First version of Dmitry's generic NDArray implementation (GSoC project)
- Lots of performance enhancements in vectorz-clj
- Various bug fixes
- Improved test suites

I've also been adding to the Wiki, including a new examples page to help 
people get started:
https://github.com/mikera/vectorz-clj/wiki/Examples

Feedback / ideas welcome! For more detailed discussion on these and related 
topics, you can visit the Numerical Clojure group:
https://groups.google.com/forum/#!forum/numerical-clojure


-- 
-- 
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: Can we please deprecate the :use directive ?

2013-07-25 Thread Moritz Ulrich

Philippe Guillebert writes:

> Hi list,
>
> Just a thought, I usually limit my usage of (:use) to DSL-like functions,
> like for instance cascalog :
>
>   (?<- (stdout) [?a ?b] (generator :> ?a ?b))
>
> Without a use, or (:require :refer :all), this would become very
> cumbersome to read :
>
>   (cascalog/?<- (cascalog/stdout) [?a ?b] (generator :> ?a ?b))
>
> The same applies to SQL DSLs like korma.
>
> So, IMHO there are cases where (:use) simplifies things.
>
> -- 
>
> Philippe Guillebert
>
> --

Just use (:require [foo.bar.cascalog :refer :all]).


-- 
Moritz Ulrich

-- 
-- 
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: querying a clojure data structure

2013-07-25 Thread Alexander Solovyov
On Wed, Jul 24, 2013 at 3:16 PM, Phillip Lord
wrote:

> What I'd really want to be able to do is to use some sort of query; so I'd
> write a data structure like so:
>
> {:annotation
>  #{(label ? "it")}}
>

Some time ago I wrote a little library to act as a model layer for browser
apps:

https://github.com/piranha/mesto

While I don't use it that much, it's got a simple query abilities, and
while it's no Datalog, it's of course much simpler. You could reuse the
code if you want.

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




Re: [ANN] byte-transforms: methods for hashing, compressing, and encoding bytes

2013-07-25 Thread Mikera
This looks very useful - thanks Zach!

On Thursday, 25 July 2013 03:05:05 UTC+1, Zach Tellman wrote:
>
> https://github.com/ztellman/byte-transforms
>
> This is just a thin wrapper over byte-streams [1] and some best-in-class 
> hashing and compression algorithms, but I figure there are at least a few 
> people who, like me, have put off using Snappy or MurmurHash because they 
> didn't feel like crawling through the javadocs.  Enjoy!
>
> Zach
>
> [1] https://github.com/ztellman/byte-streams
>

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




Re: Looking for Clojure freelancers

2013-07-25 Thread Tosin Oguntuase
Hi everyone,

I am the technical lead for a sport betting platform based in Nigeria. 

We are in the process of re-writing our community site (fanalysis.net) and 
betting platform(playcenter.fanalysis.net).

We intend to use clojure for the development. So far we have recruited two 
local developers but need at least three other developers to work on the 
project. We are also working with a designer based in Sweden.

Kindly send me a mail if you are interested; links to past works, area of 
expertise/interest,hourly rate would be highly appreciated.

Thank you.

On Monday, June 3, 2013 12:38:20 PM UTC+1, Peter Taoussanis wrote:
>
> Hi all,
>
> From time to time I have need for one or two extra hands (or, would that 
> be pairs of hands?) on larger projects. Specifically, am looking for 
> Clojure developers that'd be interested in occasional adhoc/freelance 
> development work.
>
> Most of my work is on the web application side, but it can vary.
>
> What I'd like to ask is this: if anyone's interested, drop me an email 
> (*ptaoussanis 
> at taoensso.com*) with some basic info including:
>
>- Contact details (would prefer an international telephone number also 
>if possible).
>- Your experience / informal CV (open-source stuff is my preferred 
>reference, especially if it's Clojure-based).
>- Any particular areas of interest/expertise (e.g. you especially want 
>to work with Datomic, backend services, Clojurescript, whatever).
>- Your rate + how negotiable it'd be and/or how it'd scale with 
>longer-term jobs.
>
> I can then keep your details on file and give an occasional shout if 
> something comes up that I could potentially use you for.
>
> Whole thing'd be about as informal as it gets: terms will vary based on 
> the particular job, but I'll include all of that in the email so you can 
> decide if/when something grabs your fancy.
>
> Cheers!
>
> - Peter (taoensso.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: querying a clojure data structure

2013-07-25 Thread Phillip Lord

Timothy Baldridge  writes:

> I think the first hint to an answer is found in your question. You are
> dealing with complex data, simplify the data, and querying the data is much
> simpler.

Part of the problem is that the data structure that I have is
intrinsically fairly complex; I have already simplified it from it's
original form some what. Having said that, the "schema" is predefined,
so, although the rules are fairly complex, there are rules about what
can appear inside what.


> For instance, if you have a tree, you could flatten the tree into a hash
> map like this:
>
> {parent-id {:children [child-id1 child-id2]}
>  child-id1 {:children [child-id3 child-id4]}
>  child-id2 ...}
>
> Now it's very simple to say things like "who are the parents of this child
> node?". Cedric is right, once you get a somewhat normalized data structure
> it's fairly trivial to query it with core.logic (using hash maps like the
> one above). You just have to write some code to get it into a format that
> core.logic can consume.

I had a go with core.match. It does allow me to write stuff like this 

(defn match-only-label [entity]
  (match [entity]
 [{:annotation a}]
 (map
  (fn [annotation]
(match
 [annotation]
 [(['label l "it"] :seq)] l
 :else nil
 )) a)))

This still leaves me handling all the nil catching myself. The outer
part of this query is, essentially this:

(defn match-annotation [entity]
  (match [entity]
 [{:annotation a}] a
 :else nil))

which is a complex way of saying (get entity :annotation).

As far as I can see, there is now way with core.match to query at
arbitrary level (my data structures can be quite highly nested). So I
can't say "match anything that is a list starting with 'label and ending
in "it". I guess I could use core.match with clojure.core.walk to get this.

Still, it think it is worth pursing; core.match can match on any Java
object which is what I am handling here. My clojure data structure is
actually generating by a recursive rendering of Java objects into some
clojure objects.

> However, to be honest, this is where I reach for Datomic. It has a wicked
> fast query engine (datalog), you can run it in-memory (no disk access
> required), it has an excellent Clojure interface, the free version should
> do everything you need, and it has many many other features. For instance,
> given a child node in Datomic, you can find it's parents via:
>
> (let [parents (:_children child-node)]
>   ...)
>
> Not to mention that you can also create Datalog rules that allow you to
> create pre-defined queries that simplify your code quite a bit.

I think that this is more than I would want to pull into my application
at the moment. Probably core.match with some macros at do things like
add an automatic :else nil, and do the map that I have used above would
be enough.

Thanks for the feedback

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: querying a clojure data structure

2013-07-25 Thread Phillip Lord
Timothy Washington  writes:
> Like Tim, I was thinking about the Datomic query language. Before you do
> that though, remember that there's some basic relational algebra functions
> in clojure.set .

I did think about clojure.set, but as far as I can see, there is no way
to express a "wildcard", which is problematic in this context.

Having said that, I don't know the API that well, so I will look
further. 

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: querying a clojure data structure

2013-07-25 Thread Phillip Lord

Okay, this is worth poking into.



Ben Wolfson  writes:

> On Wed, Jul 24, 2013 at 5:16 AM, Phillip Lord
> wrote:
>
>>
>>
>> So, with this case, say I want the Italian label, in the set which is the
>> value of the annotation key, find any list with the first element 'label,
>> and
>> third element "it", and return the second element. Of course, this can be
>> done
>> in Clojure, but the code gets complex very quickly.
>>
>> What I'd really want to be able to do is to use some sort of query; so I'd
>> write a data structure like so:
>>
>> {:annotation
>>  #{(label ? "it")}}
>>
>> and have this match and return
>>
>> {:annotation
>>  #{(label "Ingredienti di Pizza" "it")}}
>>
>> which is the bit that matches.
>>
>
> This is considerably more complicated than the query given, but I have lib
> which (when I push an update for better set, string, and map handling) will
> allow you to do something not entirely unlike that:
>
> macroparser.parsers> (run (map (both (keyword
> :annotation)
>
>  (set (seq (parseq (symbol 'label)
> (expression) (string
> "it"))
>
>   '({:annotation #{(label "pizza" "it")}}))
> {:annotation #{(label "pizza" "it")}}
> macroparser.parsers>
>
> i.e., match a map with one value whose key is :annotation and whose value
> is a set containing a seq of 'label, anything, and "it".
>
> -- 
> Ben Wolfson
> "Human kind has used its intelligence to vary the flavour of drinks, which
> may be sweet, aromatic, fermented or spirit-based. ... Family and social
> life also offer numerous other occasions to consume drinks for pleasure."
> [Larousse, "Drink" entry]
>
> -- 

-- 
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.




clojure maven plugin starts a server when compiling

2013-07-25 Thread Horace
 

I am using the clojure maven plugin to build a project. The projects 
contains a test, let us *mytest.clj*, that looks like the following:

(def ^:dynamic *server*
  (create-server "tcp://bla.bla:"))
(deftest1...)(deftest2...)

If I run mvn clojure:compile or *mvn clojure:test* , the build runs 
successfully.

But If I run *mvn compile* and also configured in POM to skip the tests, 
the server declared in the test is then started. After that start, nothing 
happens: Program seems to be frozen and compilation cannot be continued.

Does somebody know how to solve this problem? And why the server starts? I 
actually just want to compile.

Any help will be appreciated. Thx in advance Regards

Horace

P.S: I can use the standard *mvn compile* to compile the clojure sources 
because my project's packaging is configured as a 'clojure' one in *pom.xml*. 
The consequence of it, is that the clojure maven plugin and its goals are 
then automatically bound to the maven phases.

-- 
-- 
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: Can we please deprecate the :use directive ?

2013-07-25 Thread Phillip Lord
Laurent PETIT  writes:
> (:use foo :only [a b c]) will become (:require foo :refer [a b c])
> (:use foo) will become (:require foo :refer :all)

The same logic could suggest we remove "or" because we can express it
with "and" and "not". 

> This will save lots of time and frustration among people trying to
> remember why (:use :only) somewhere, why (:require :refer :all)
> somewhere else, etc.

And cause frustration for people who find typing

(:require clojure.test :refer :all) 

when they used to type

(:use clojure.test)

To me, the discussion seems to be confused; I understand why making an
implementation simpler is important. But removing a simple declaration
to replace it with a more complex one doesn't seem to make things
simpler to me.


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: clojure maven plugin starts a server when compiling

2013-07-25 Thread Plínio Balduino
try

mvn compile -Dmaven.test.skip=true

On Thu, Jul 25, 2013 at 12:24 PM, Horace  wrote:
> I am using the clojure maven plugin to build a project. The projects
> contains a test, let us mytest.clj, that looks like the following:
>
> (def ^:dynamic *server*
>   (create-server "tcp://bla.bla:"))
>
> (deftest1...)
> (deftest2...)
>
> If I run mvn clojure:compile or mvn clojure:test , the build runs
> successfully.
>
> But If I run mvn compile and also configured in POM to skip the tests, the
> server declared in the test is then started. After that start, nothing
> happens: Program seems to be frozen and compilation cannot be continued.
>
> Does somebody know how to solve this problem? And why the server starts? I
> actually just want to compile.
>
> Any help will be appreciated. Thx in advance Regards
>
> Horace
>
> P.S: I can use the standard mvn compile to compile the clojure sources
> because my project's packaging is configured as a 'clojure' one in pom.xml.
> The consequence of it, is that the clojure maven plugin and its goals are
> then automatically bound to the maven phases.
>
> --
> --
> 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: Can we please deprecate the :use directive ?

2013-07-25 Thread Gary Trakhman
You could also do (use 'clojure.test) below the ns form.  One thing that
generally annoys me with 'ns' is that people feel it's some magical thing
that has to be in the head of every file, like java imports, but it's
really just a macro.

It just goes to show that conventions are important.

Curiously, and off-topic, why does core.clj have an 'ns' form and then
proceeds to define the ns macro?


On Thu, Jul 25, 2013 at 11:32 AM, Phillip Lord  wrote:

> Laurent PETIT  writes:
> > (:use foo :only [a b c]) will become (:require foo :refer [a b c])
> > (:use foo) will become (:require foo :refer :all)
>
> The same logic could suggest we remove "or" because we can express it
> with "and" and "not".
>
> > This will save lots of time and frustration among people trying to
> > remember why (:use :only) somewhere, why (:require :refer :all)
> > somewhere else, etc.
>
> And cause frustration for people who find typing
>
> (:require clojure.test :refer :all)
>
> when they used to type
>
> (:use clojure.test)
>
> To me, the discussion seems to be confused; I understand why making an
> implementation simpler is important. But removing a simple declaration
> to replace it with a more complex one doesn't seem to make things
> simpler to me.
>
>
> 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.




Re: Can we please deprecate the :use directive ?

2013-07-25 Thread Nicola Mometto

Gary Trakhman writes:

> You could also do (use 'clojure.test) below the ns form.  One thing that
> generally annoys me with 'ns' is that people feel it's some magical thing
> that has to be in the head of every file, like java imports, but it's
> really just a macro.
>
> It just goes to show that conventions are important.
>
> Curiously, and off-topic, why does core.clj have an 'ns' form and then
> proceeds to define the ns macro?

The ns form used when loading core.clj the first time is bootNamespace
from clojure.lang.RT

>
>
> On Thu, Jul 25, 2013 at 11:32 AM, Phillip Lord > wrote:
>
>> Laurent PETIT  writes:
>> > (:use foo :only [a b c]) will become (:require foo :refer [a b c])
>> > (:use foo) will become (:require foo :refer :all)
>>
>> The same logic could suggest we remove "or" because we can express it
>> with "and" and "not".
>>
>> > This will save lots of time and frustration among people trying to
>> > remember why (:use :only) somewhere, why (:require :refer :all)
>> > somewhere else, etc.
>>
>> And cause frustration for people who find typing
>>
>> (:require clojure.test :refer :all)
>>
>> when they used to type
>>
>> (:use clojure.test)
>>
>> To me, the discussion seems to be confused; I understand why making an
>> implementation simpler is important. But removing a simple declaration
>> to replace it with a more complex one doesn't seem to make things
>> simpler to me.
>>
>>
>> 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.




Re: Can we please deprecate the :use directive ?

2013-07-25 Thread Steven Degutis
I think that's a good thing. I like to think of (ns) like a magical thing
that has to be at the head of every file. It gives me consistency and
predictability. It lets me not have to think. I almost wish it were just
some magical required thing.

-Steven


On Thu, Jul 25, 2013 at 10:43 AM, Gary Trakhman wrote:

> You could also do (use 'clojure.test) below the ns form.  One thing that
> generally annoys me with 'ns' is that people feel it's some magical thing
> that has to be in the head of every file, like java imports, but it's
> really just a macro.
>
> It just goes to show that conventions are important.
>
> Curiously, and off-topic, why does core.clj have an 'ns' form and then
> proceeds to define the ns macro?
>
>
> On Thu, Jul 25, 2013 at 11:32 AM, Phillip Lord <
> phillip.l...@newcastle.ac.uk> wrote:
>
>> Laurent PETIT  writes:
>> > (:use foo :only [a b c]) will become (:require foo :refer [a b c])
>> > (:use foo) will become (:require foo :refer :all)
>>
>> The same logic could suggest we remove "or" because we can express it
>> with "and" and "not".
>>
>> > This will save lots of time and frustration among people trying to
>> > remember why (:use :only) somewhere, why (:require :refer :all)
>> > somewhere else, etc.
>>
>> And cause frustration for people who find typing
>>
>> (:require clojure.test :refer :all)
>>
>> when they used to type
>>
>> (:use clojure.test)
>>
>> To me, the discussion seems to be confused; I understand why making an
>> implementation simpler is important. But removing a simple declaration
>> to replace it with a more complex one doesn't seem to make things
>> simpler to me.
>>
>>
>> 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.
>
>
>

-- 
-- 
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: Can we please deprecate the :use directive ?

2013-07-25 Thread Laurent PETIT
2013/7/25 Phillip Lord :
> Laurent PETIT  writes:
>> (:use foo :only [a b c]) will become (:require foo :refer [a b c])
>> (:use foo) will become (:require foo :refer :all)
>
> The same logic could suggest we remove "or" because we can express it
> with "and" and "not".

Except nobody complains about "or", "and" or "not" ;-)

>
>> This will save lots of time and frustration among people trying to
>> remember why (:use :only) somewhere, why (:require :refer :all)
>> somewhere else, etc.
>
> And cause frustration for people who find typing
>
> (:require clojure.test :refer :all)
>
> when they used to type
>
> (:use clojure.test)

Code is read more often than written.
Clojure makes default choices "easy", and non default choices "harder"
for a reason: to guide people.

It's like the mantra "if you find it hard to write, you may be doing
it wrong (though it's still possible to do)".

Also, for the REPL, there will still be the (use 'clojure.tests) call
that you can use in your REPL bootstrapping code.

> To me, the discussion seems to be confused; I understand why making an
> implementation simpler is important. But removing a simple declaration
> to replace it with a more complex one doesn't seem to make things
> simpler to me.

I don't think I'm confused, AFAIC: I'm not even thinking from the
implementation perspective, but from the consumer perspective.
It's also psychological: if you remove :use, even at the cost of
keeping :refer :all, that's one less top-level 'ns directive to
remember.


I agree that it is micro-optimization, but this counts too, noticeably
because it's one of the first things a newcomer is confronted to when
he starts seriously with the language.

-- 
-- 
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.




Idiomatic use of records?

2013-07-25 Thread Sean Corfield
I tend to use plain ol' maps for data structures but was showing
someone defrecord the other day and had some questions about idiomatic
usage:

Given:

(defrecord Point [x y])

Which constructor form is considered more idiomatic:

(Point. 10 10) or (->Point 10 10)

Which accessor form is considered more idiomatic (assume pt is a Point record):

(.x pt) or (:x pt)

Are there (other) things regarding records for which idiomatic usage
would not look just like maps?
-- 
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: Idiomatic use of records?

2013-07-25 Thread Neale Swinnerton
Chas Emerick's excellent clojure type flowchart[1] is my goto for when to
use a defrecord over deftype / plain 'ol map.

Since the criteria to choose defrecord is basically 'do you need it to
behave like a clojure immutable map, but with enhanced protocols support'
then I'd argue that the idiomatic usage would be to treat it like a map.

For constructor usage, i.e

(Point. 10 10) vs (->Point 10 10)

I'd argue for the latter. The first is painful when used from other
namespaces, because you must import the java class even if you've referred
the whole ns. Particularly confusing when you have packages with dash /
underscores in the package name.


[1]
http://cemerick.com/2011/07/05/flowchart-for-choosing-the-right-clojure-type-definition-form/

*Neale Swinnerton*
{t: @sw1nn , w: sw1nn.com }


On 25 July 2013 17:18, Sean Corfield  wrote:

> I tend to use plain ol' maps for data structures but was showing
> someone defrecord the other day and had some questions about idiomatic
> usage:
>
> Given:
>
> (defrecord Point [x y])
>
> Which constructor form is considered more idiomatic:
>
> (Point. 10 10) or (->Point 10 10)
>
> Which accessor form is considered more idiomatic (assume pt is a Point
> record):
>
> (.x pt) or (:x pt)
>
> Are there (other) things regarding records for which idiomatic usage
> would not look just like maps?
> --
> 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.
>
>
>

-- 
-- 
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: Idiomatic use of records?

2013-07-25 Thread Baishampayan Ghose
The second form in both the cases. The first ones IMHO are
implementation detail. ~BG

On Thu, Jul 25, 2013 at 9:48 PM, Sean Corfield  wrote:
> I tend to use plain ol' maps for data structures but was showing
> someone defrecord the other day and had some questions about idiomatic
> usage:
>
> Given:
>
> (defrecord Point [x y])
>
> Which constructor form is considered more idiomatic:
>
> (Point. 10 10) or (->Point 10 10)
>
> Which accessor form is considered more idiomatic (assume pt is a Point 
> record):
>
> (.x pt) or (:x pt)
>
> Are there (other) things regarding records for which idiomatic usage
> would not look just like maps?
> --
> 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.
>
>



-- 
Baishampayan Ghose
b.ghose at gmail.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: Idiomatic use of records?

2013-07-25 Thread Steven Degutis
+1 to that interpretation


On Thu, Jul 25, 2013 at 12:03 PM, Baishampayan Ghose wrote:

> The second form in both the cases. The first ones IMHO are
> implementation detail. ~BG
>
> On Thu, Jul 25, 2013 at 9:48 PM, Sean Corfield 
> wrote:
> > I tend to use plain ol' maps for data structures but was showing
> > someone defrecord the other day and had some questions about idiomatic
> > usage:
> >
> > Given:
> >
> > (defrecord Point [x y])
> >
> > Which constructor form is considered more idiomatic:
> >
> > (Point. 10 10) or (->Point 10 10)
> >
> > Which accessor form is considered more idiomatic (assume pt is a Point
> record):
> >
> > (.x pt) or (:x pt)
> >
> > Are there (other) things regarding records for which idiomatic usage
> > would not look just like maps?
> > --
> > 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.
> >
> >
>
>
>
> --
> Baishampayan Ghose
> b.ghose at gmail.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.
>
>
>

-- 
-- 
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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Chris Gill
I find this interesting. I've been using light table mostly, but recently I 
tried my hand at socket programming and light table flopped on this type of 
a project. I ended up using lein repl for most of my work which became a 
pain and now I'm looking at emacs with a slight kink in my lips. I'll have 
to try eclipse for clojure out, I've only ever done android in eclipse. Do 
you think something like an openGL project in clojure in eclipse with 
live-editing is a possibility? I've mostly seen this kind of stuff in emacs 
but I feel like it has less to do with emacs and more with nrepl and 
evaling..

-c

On Tuesday, January 29, 2013 1:40:33 PM UTC-5, Timo Mihaljov wrote:
>
> On 29.01.2013 16:32, Jay Fields wrote: 
> > On Tue, Jan 29, 2013 at 9:28 AM, Feng Shen > 
> wrote: 
> >> I have programming Clojure for almost 2 years, for a living. 
> >> 
> > 
> > This is probably an important part of what answer the OP is looking 
> > for. When I was doing Clojure for about 10% of my job IntelliJ was 
> > fine. Now that it's 90% of my job, I wouldn't be able to give up emacs 
> > go back to IntelliJ. 
> > 
> > If you're just looking at Clojure as a hobby and you already know 
> > IntelliJ, I wouldn't recommend switching. However, if you're going to 
> > be programming Clojure almost all of the time, I think emacs is the 
> > superior choice. 
> > 
>
> For what it's worth, I switched from Emacs to Eclipse and 
> Counterclockwise for Clojure programming. Laurent's done an excellent 
> job with it, and I even prefer his take on paredit over Emacs's 
> original. I still use Emacs for everything else, but for Clojure I find 
> Counterclockwise to be "the superior choice". 
>
>
> -- 
> Timo 
>

-- 
-- 
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: Can we please deprecate the :use directive ?

2013-07-25 Thread Ryan Stradling
+1 on Phil's "proposal"
"My assumption from our discussion would be that a warning would be added 
in a near release when :use was detected in the ns macro, and that it would 
be removed for Clojure 2.0 when backwards-incompatible changes are OK."


Thanks
Ryan


On Thursday, July 25, 2013 12:07:53 PM UTC-4, Laurent PETIT wrote:
>
> 2013/7/25 Phillip Lord >: 
> > Laurent PETIT > writes: 
> >> (:use foo :only [a b c]) will become (:require foo :refer [a b c]) 
> >> (:use foo) will become (:require foo :refer :all) 
> > 
> > The same logic could suggest we remove "or" because we can express it 
> > with "and" and "not". 
>
> Except nobody complains about "or", "and" or "not" ;-) 
>
> > 
> >> This will save lots of time and frustration among people trying to 
> >> remember why (:use :only) somewhere, why (:require :refer :all) 
> >> somewhere else, etc. 
> > 
> > And cause frustration for people who find typing 
> > 
> > (:require clojure.test :refer :all) 
> > 
> > when they used to type 
> > 
> > (:use clojure.test) 
>
> Code is read more often than written. 
> Clojure makes default choices "easy", and non default choices "harder" 
> for a reason: to guide people. 
>
> It's like the mantra "if you find it hard to write, you may be doing 
> it wrong (though it's still possible to do)". 
>
> Also, for the REPL, there will still be the (use 'clojure.tests) call 
> that you can use in your REPL bootstrapping code. 
>
> > To me, the discussion seems to be confused; I understand why making an 
> > implementation simpler is important. But removing a simple declaration 
> > to replace it with a more complex one doesn't seem to make things 
> > simpler to me. 
>
> I don't think I'm confused, AFAIC: I'm not even thinking from the 
> implementation perspective, but from the consumer perspective. 
> It's also psychological: if you remove :use, even at the cost of 
> keeping :refer :all, that's one less top-level 'ns directive to 
> remember. 
>
>
> I agree that it is micro-optimization, but this counts too, noticeably 
> because it's one of the first things a newcomer is confronted to when 
> he starts seriously with the language. 
>

-- 
-- 
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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Greg
Everyone has their preferences, and the best thing to do is to try it all and 
pick what you like.

That said... here's my experience with IntelliJ, and others

Table of Contents:
1. On IntelliJ
2. On Emacs and "Emacs Live"
3. On Light Table
4. On Sublime Text (ST)
5. Conclusion

1. On IntelliJ
-

I've tried Eclipse, NetBeans, and IntelliJ for Java development.

Of those, I only tried IntelliJ for Clojure development because I despise 
Eclipse's bloat and poor UI design, and Netbeans, while better (IMO), just 
isn't as slick and fast, and... intelligent :-p as IntelliJ. I really cannot 
wrap my head around why so many people like Eclipse. I think it must be a 
Mac/Windows-type phenomenon or something. There I've gone and pissed off half 
the users on this list... :-p

IntelliJ's La Clojure and Leiningen plugins are alright. They have some code 
sense autocompletion stuff, and you can jump to definitions (to an extent, it 
doesn't always work).

Overall it's my 2nd favorite choice for Clojure only because it too, is too 
bloated for my liking. Not as bloated as the other two "big IDEs", but still 
bloated.

2. On Emacs and "Emacs Live"


I've used Emacs off and on for about 3 years now. I spent weeks, probably 
months customizing it, trying out the emacs-starter-kit and making it my own. I 
let it along after I went on a Clojure sabbatical for a while and lived in 
Xcode.

When I came back, I saw this "Emacs Live" project and decided to give emacs one 
more shot because of it.

IMO, it sucks. Emacs is always going to suck from a UI and GTD perspective. It 
will only be embraced by the hardcore tinkerers who get a kick out of spending 
equal time tinkering with their editor as they do actual coding. It's kinda 
like the software equivalent of owning a Harley Davidson, except you look a 
nerd instead of an intimidating biker.

Emacs Live is also slow. Out of the box it's slow to launch on my fast 2010 MBP 
2.4Ghz Core i5 with 8GB of RAM and an SSD. They'll tell ya to run emacsclient 
and all that but it's just more bullshit.

If you like tinkering and memorizing a bunch of keyboard shortcuts, go with 
Emacs. Make sure you have a nice IRC client though because you're going to need 
it when things stop working. Emacs has one built-in btw, but you might need to 
get a regular GUI-based IRC client first, you know, so that you can figure out 
the Emacs-based one. :-p

3. On Light Table
---

Light Table seems promising but in my testing it's not ready for daily use, 
mostly due to lack of plugins and missing features.

4. On Sublime Text (ST)


Sublime Text is fucking awesome. This is my #1 choice for Clojure development.

While ST3 is in beta, it's best to use version 2 because many plugins, 
including the REPL integration via the SublimeREPL plugin, only work with 
version 2. There are some issues with nREPL at the moment, so use this fork 
until they can fix it in the main project (found via Github Issues): 
https://github.com/emestee/SublimeREPL

ST has many things going for it:

- Incredible customization via hundreds of plugins supported by a giant 
community
- Brilliant plugin and customization system that puts Emacs to shame in terms 
of balance between power and usability
- Fast. And faster launch times than Emacs Live
- Beautiful UI with many different color schemes and themes available (note: 
themes are not the same thing as syntax color schemes. I recommend the Soda 
Dark theme with Monkai Soda coloring.
- Built-in package manager for plugins, with the option to install plugins 
without using it too.
- Organized settings that use the well known and very readable JSON format. You 
don't have code mixed with settings like you do with Emacs, and there is a 
standard place that everything is supposed to go, unlike the free-for-all 
nightmare that Emacs has.
- There's a paredit plugin available for it if you care (I don't, and haven't 
used it).

It's worth spending some time customizing Sublime Text, but the good news is 
that your time won't be spent in vain, and once you have it set up the way you 
like, there's no need to continue tinkering like crazy.

5. Conclusion
-

- Yes, IntelliJ is a very good IDE for Clojure development.
- Sublime Text is better. :-)
- Cross your fingers for Light Table

Cheers,
Greg

--
Please do not email me anything that you are not comfortable also sharing with 
the NSA.

On Jul 25, 2013, at 1:27 PM, Chris Gill  wrote:

> I find this interesting. I've been using light table mostly, but recently I 
> tried my hand at socket programming and light table flopped on this type of a 
> project. I ended up using lein repl for most of my work which became a pain 
> and now I'm looking at emacs with a slight kink in my lips. I'll have to try 
> eclipse for clojure out, I've only ever done android in eclipse. Do you think 
> something like an openGL project in clo

Re: Idiomatic use of records?

2013-07-25 Thread Sean Corfield
Thanx for your feedback so far (Neale, BG, Steven). I would have been
surprised if anyone had suggested the first forms, although I hadn't
thought of the problems of using Point. outside the defining namespace
so that's another strike against it.

As for the reasons for choosing defrecord over map - I totally agree
Neale, and Chas's flowchart is a great reference point, but this is
more a pedagogical issue (background: I'm looking at showing Clojure
versions of BSL / Racket code examples that use define-struct which
most closely maps (sic) to defrecord, even tho' a plain ol' map would
be more idiomatic for most of the examples I am interested in
documenting... although defining protocol-based versions of the
functions in those examples would be an interesting diversion as
well).

Sean

On Thu, Jul 25, 2013 at 9:41 AM, Neale Swinnerton  wrote:
> Chas Emerick's excellent clojure type flowchart[1] is my goto for when to
> use a defrecord over deftype / plain 'ol map.
>
> Since the criteria to choose defrecord is basically 'do you need it to
> behave like a clojure immutable map, but with enhanced protocols support'
> then I'd argue that the idiomatic usage would be to treat it like a map.
>
> For constructor usage, i.e
>
> (Point. 10 10) vs (->Point 10 10)
>
> I'd argue for the latter. The first is painful when used from other
> namespaces, because you must import the java class even if you've referred
> the whole ns. Particularly confusing when you have packages with dash /
> underscores in the package name.
>
>
> [1]
> http://cemerick.com/2011/07/05/flowchart-for-choosing-the-right-clojure-type-definition-form/
>
> Neale Swinnerton
> {t: @sw1nn, w: sw1nn.com }
>
>
> On 25 July 2013 17:18, Sean Corfield  wrote:
>>
>> I tend to use plain ol' maps for data structures but was showing
>> someone defrecord the other day and had some questions about idiomatic
>> usage:
>>
>> Given:
>>
>> (defrecord Point [x y])
>>
>> Which constructor form is considered more idiomatic:
>>
>> (Point. 10 10) or (->Point 10 10)
>>
>> Which accessor form is considered more idiomatic (assume pt is a Point
>> record):
>>
>> (.x pt) or (:x pt)
>>
>> Are there (other) things regarding records for which idiomatic usage
>> would not look just like maps?
>> --
>> 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.
>>
>>
>
> --
> --
> 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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Sean Corfield
On Thu, Jul 25, 2013 at 12:05 PM, Greg  wrote:
> 1. On IntelliJ
> 2. On Emacs and "Emacs Live"
> 3. On Light Table
> 4. On Sublime Text (ST)
> 5. Conclusion

I've tried IntelliJ several times and just can't on with the way it
operates. Clearly a very personal thing. I used to use Eclipse a lot -
a background in languages where Eclipse support was typically better
than other IDEs at the time I got started with them - but it is really
bloated and trying to use it on a low-powered Ubuntu netbook was the
final straw for me, which is a shame because I think Counter ClockWise
is an excellent plugin and Eclipse overall fitted my workflow better
than anything else (a few years back).

I used Emacs a lot in the 17/18/19 days (I caught the tail end of 17,
all of 18, and stopped using it just after 19 appeared). Back then, it
was "the business" (I was mostly a C developer back then). More on
Emacs below.

LightTable is indeed very, very interesting. I am trying to use it
exclusively one day a week for all that day's work, but the lack of
Git integration drives me bonkers (I know there will be a plugin for
it in time). I also haven't quite figured out my REPL-based workflow
in LT.

When I started doing Clojure, I used TextMate so it was an obvious
choice to try Sublime Text 2. I tried it on Mac, Windows, and Linux
and it drove me insane with its quirks, bugs, inconsistencies across
platforms and (at the time) very poor REPL integration. I know it's
gotten better but I just found it clunky and the workflow felt hacked
together. That said, three of my team love ST2.

In October 2011, I decided to give Emacs another chance - specifically
for Clojure development - and that's what I use day-in, day-out. I
have a slightly customized setup but it really doesn't have much
beyond the starter kit, rainbow delimiters and autocompletion added.
It has a huge learning curve (nay, a _cliff_!) but it is hands down
the best Clojure environment (in my opinion - and about 70% of all
Clojure developers surveyed, according to Chas's surveys).

Coming back to Emacs after about a 20 year break(!), I was surprised
to see it had only advanced to version 24 (in fact, back in October
2011, 24 was only a preview build), and it took a fair bit of getting
used to (again). Since then, two of my team have also switched
full-time from ST2 to Emacs. The third does a lot of front end web dev
and finds ST2 easier to work with - but I suspect when she starts
doing Clojure / ClojureScript work, she'll switch too.
-- 
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: [ANN] verily, non-magic testing lib

2013-07-25 Thread Steven Degutis
- Renamed project to "Nevermore"
- Moved repo to https://github.com/evanescence/nevermore
- Test functions are required to return all assertions as a seq
- Added "around-each" fixtures

The way fixtures and test-suites work (and work together) makes me think of
Datomic.

-Steven


On Wed, Jul 24, 2013 at 10:22 AM, Steven Degutis wrote:

> Also, I came up with a solution for simple around-each fixtures. It would
> use a declarative style just like (defn ^:test ...), but it would be (defn
> ^:around-each ...). And its metadata would contain a matcher-fn that
> matches against a test-fn's metadata.
>
> This way you could define a bunch of tests marked ^:db, and have an
> around-each fixture with :db as its matcher.
>
> The de-coupling means you don't need grouping or nesting to have multiple
> fixtures applied to multiple tests. It also means you can specify both
> tests and fixtures on a per-feature level.
>
> Unfortunately this solution does't carry over to around-all fixtures,
> because if several tests belong to multiple around-all fixtures, and not
> the same ones either, they would have to be run multiple times.
>
>
> On Wed, Jul 24, 2013 at 10:17 AM, Steven Degutis wrote:
>
>> The vast majority of my tests look like: do some setup, do some action,
>> make a half-dozen assertions. Almost always in that order.
>>
>> The only reason I can think of that I would need to have assertions in
>> the middle is if I plan to do more setup and action and assertions
>> afterwards.
>>
>> And in that case, I'm really just writing a second test that should
>> probably be its own test-fn. And if it relies on the setup from the first
>> test, I should probably just extract it out into a function with common
>> setup.
>>
>> I think I'm almost sold on this idea now.
>>
>>
>> On Wed, Jul 24, 2013 at 10:07 AM, John D. Hume 
>> wrote:
>>
>>> I've never tried it, but I like the idea of test fns returning their
>>> results.
>>>
>>> On Jul 24, 2013 8:30 AM, "Steven Degutis"  wrote:
>>> >
>>> > Also, I've been considering having a non-side-effecty way of returning
>>> test results. What do people think? It would get rid of the last bit of
>>> magic in the lib.
>>> >
>>> >
>>> > ;; current style (side-effecty)
>>> >
>>> > (defn test-1 []
>>> >   (let [foo (get-foo)]
>>> > (expect empty? foo)
>>> > (expect awesome? foo)))
>>> >
>>> > ;; proposed style (more functional)
>>> >
>>> > (defn test-1 []
>>> >   (let [foo (get-foo)]
>>> > [(expect empty? foo)
>>> >  (expect awesome? foo)]))
>>> >
>>>
>>> --
>>> --
>>> 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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Lee Spector

On Jul 25, 2013, at 3:37 PM, Sean Corfield wrote:
> 
> In October 2011, I decided to give Emacs another chance - specifically
> for Clojure development - and that's what I use day-in, day-out. I
> have a slightly customized setup but it really doesn't have much
> beyond the starter kit, rainbow delimiters and autocompletion added.
> It has a huge learning curve (nay, a _cliff_!) but it is hands down
> the best Clojure environment (in my opinion - and about 70% of all
> Clojure developers surveyed, according to Chas's surveys).
> 
> Coming back to Emacs after about a 20 year break(!), I was surprised
> to see it had only advanced to version 24 (in fact, back in October
> 2011, 24 was only a preview build), and it took a fair bit of getting
> used to (again). Since then, two of my team have also switched
> full-time from ST2 to Emacs. The third does a lot of front end web dev
> and finds ST2 easier to work with - but I suspect when she starts
> doing Clojure / ClojureScript work, she'll switch too.

For Sean or anyone who finds Sean's narrative compelling (I do), imagine emacs 
without the learning curve! I say it's possible and I point to the long-extinct 
FRED (Fred Resembles Emacs Deliberately) that was part of Macintosh Common Lisp 
as a proof of principle. I don't have the time or chops to develop such a 
thing, but if anyone here does then this would be a way to make the world a 
better place.

 -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.




Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Ryan Stradling
I have used Vi, emacs, and IntelliJ for Clojure.

I have used eclipse on non Clojure projects but it is not my default 
choice.  I typically choose IntelliJ over eclipse when that type of 
environment is needed.
I had a very capable set-up in IntelliJ.  There are still some issues with 
the Clojure plugin especially if you are used to paredit.
I naturally gravitate towards Vi when choosing between emacs or Vi. 
 Vim-fireplace is really good if Vim is something you would like.

Emacs though IMHO is still the best one out there of what I have tried. 
 With all the others, I feel that I miss the interactive REPL experience I 
get with emacs.  That, ergo-mode, and Caps Lock mapped to the ctrl key are 
what brought me back to it.

Daily I use emacs.  When needed, I use IntelliJ.  (For instance I was 
writing a plug-in in Clojure for a Java application.  I did not know the 
Java application well at all and had a hard to find issue.  I fired up 
IntelliJ, and I was able to debug in Java and Clojure and found the issue 
rather quickly.)




On Thursday, July 25, 2013 3:55:22 PM UTC-4, Lee wrote:
>
>
> On Jul 25, 2013, at 3:37 PM, Sean Corfield wrote: 
> > 
> > In October 2011, I decided to give Emacs another chance - specifically 
> > for Clojure development - and that's what I use day-in, day-out. I 
> > have a slightly customized setup but it really doesn't have much 
> > beyond the starter kit, rainbow delimiters and autocompletion added. 
> > It has a huge learning curve (nay, a _cliff_!) but it is hands down 
> > the best Clojure environment (in my opinion - and about 70% of all 
> > Clojure developers surveyed, according to Chas's surveys). 
> > 
> > Coming back to Emacs after about a 20 year break(!), I was surprised 
> > to see it had only advanced to version 24 (in fact, back in October 
> > 2011, 24 was only a preview build), and it took a fair bit of getting 
> > used to (again). Since then, two of my team have also switched 
> > full-time from ST2 to Emacs. The third does a lot of front end web dev 
> > and finds ST2 easier to work with - but I suspect when she starts 
> > doing Clojure / ClojureScript work, she'll switch too. 
>
> For Sean or anyone who finds Sean's narrative compelling (I do), imagine 
> emacs without the learning curve! I say it's possible and I point to the 
> long-extinct FRED (Fred Resembles Emacs Deliberately) that was part of 
> Macintosh Common Lisp as a proof of principle. I don't have the time or 
> chops to develop such a thing, but if anyone here does then this would be a 
> way to make the world a better place. 
>
>  -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.




Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Laurent PETIT
tl;dr: why not at least *try* Counterclockwise before skipping it
'because of Eclipse'? You may find its editor with paredit shortcuts
appealing. A full standalone Eclipse+Counterclockwise is available for
your platform here:
http://updatesite.ccw-ide.org/branch/master/master-travis000102-git75512b6843a242e2ab3c9f4057c42c884653b2ea/products/


I'm a bit sad when I read people don't want to try Counterclockwise
just because they had a prior bad experience with Eclipse.

Not even giving it a try, c'mon guys, please ;-)

I have been working on the automation of build and delivery recently,
and for instance giving it a try is as easy as:

1. download the standalone version for your OS from here:

http://updatesite.ccw-ide.org/branch/master/master-travis000102-git75512b6843a242e2ab3c9f4057c42c884653b2ea/products/
(pretty stable version, stick to this link please)

It's a big download, but you have everything included (Eclipse base +
Counterclockwise + Leiningen + Eclipse Git ...)

2. Unzip into a directory named e.g. counterclockwise

3. Locate counterclockwise / counterclockwise.app /
counterclockwise.exe depending on your platform, and start it !

Even if you still don't like the beast, some feedback on what you
liked / disliked will always be appreciated since new viewpoints are
generally challenging and interesting!

Cheers,

-- 
Laurent


2013/7/25 Ryan Stradling :
> I have used Vi, emacs, and IntelliJ for Clojure.
>
> I have used eclipse on non Clojure projects but it is not my default choice.
> I typically choose IntelliJ over eclipse when that type of environment is
> needed.
> I had a very capable set-up in IntelliJ.  There are still some issues with
> the Clojure plugin especially if you are used to paredit.
> I naturally gravitate towards Vi when choosing between emacs or Vi.
> Vim-fireplace is really good if Vim is something you would like.
>
> Emacs though IMHO is still the best one out there of what I have tried.
> With all the others, I feel that I miss the interactive REPL experience I
> get with emacs.  That, ergo-mode, and Caps Lock mapped to the ctrl key are
> what brought me back to it.
>
> Daily I use emacs.  When needed, I use IntelliJ.  (For instance I was
> writing a plug-in in Clojure for a Java application.  I did not know the
> Java application well at all and had a hard to find issue.  I fired up
> IntelliJ, and I was able to debug in Java and Clojure and found the issue
> rather quickly.)
>
>
>
>
> On Thursday, July 25, 2013 3:55:22 PM UTC-4, Lee wrote:
>>
>>
>> On Jul 25, 2013, at 3:37 PM, Sean Corfield wrote:
>> >
>> > In October 2011, I decided to give Emacs another chance - specifically
>> > for Clojure development - and that's what I use day-in, day-out. I
>> > have a slightly customized setup but it really doesn't have much
>> > beyond the starter kit, rainbow delimiters and autocompletion added.
>> > It has a huge learning curve (nay, a _cliff_!) but it is hands down
>> > the best Clojure environment (in my opinion - and about 70% of all
>> > Clojure developers surveyed, according to Chas's surveys).
>> >
>> > Coming back to Emacs after about a 20 year break(!), I was surprised
>> > to see it had only advanced to version 24 (in fact, back in October
>> > 2011, 24 was only a preview build), and it took a fair bit of getting
>> > used to (again). Since then, two of my team have also switched
>> > full-time from ST2 to Emacs. The third does a lot of front end web dev
>> > and finds ST2 easier to work with - but I suspect when she starts
>> > doing Clojure / ClojureScript work, she'll switch too.
>>
>> For Sean or anyone who finds Sean's narrative compelling (I do), imagine
>> emacs without the learning curve! I say it's possible and I point to the
>> long-extinct FRED (Fred Resembles Emacs Deliberately) that was part of
>> Macintosh Common Lisp as a proof of principle. I don't have the time or
>> chops to develop such a thing, but if anyone here does then this would be a
>> way to make the world a better place.
>>
>>  -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.
>
>

-- 
-- 
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 you

map from list of maps

2013-07-25 Thread Brian Craft
Is there a better way to do this, making a map of certain keys from a list 
of maps?

> (apply hash-map (mapcat (fn [x] [(x :a) (x :b)]) [{:a "blah" :b "ack"} 
{:a "red" :b "blue"}]))
{"red" "blue", "blah" "ack"}

-- 
-- 
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: map from list of maps

2013-07-25 Thread Gary Trakhman
user> (into {}  (map (juxt :a :b) [{:a "blah" :b "ack"} {:a "red" :b
"blue"}]))
{"blah" "ack", "red" "blue"}



On Thu, Jul 25, 2013 at 5:34 PM, Brian Craft  wrote:

> Is there a better way to do this, making a map of certain keys from a list
> of maps?
>
> > (apply hash-map (mapcat (fn [x] [(x :a) (x :b)]) [{:a "blah" :b "ack"}
> {:a "red" :b "blue"}]))
> {"red" "blue", "blah" "ack"}
>
> --
> --
> 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: map from list of maps

2013-07-25 Thread Brian Craft
Ah, interesting. Only works for keys that are functions.

On Thursday, July 25, 2013 2:48:10 PM UTC-7, Gary Trakhman wrote:
>
> user> (into {}  (map (juxt :a :b) [{:a "blah" :b "ack"} {:a "red" :b 
> "blue"}]))
> {"blah" "ack", "red" "blue"}
>
>
>
> On Thu, Jul 25, 2013 at 5:34 PM, Brian Craft 
> > wrote:
>
>> Is there a better way to do this, making a map of certain keys from a 
>> list of maps?
>>
>> > (apply hash-map (mapcat (fn [x] [(x :a) (x :b)]) [{:a "blah" :b "ack"} 
>> {:a "red" :b "blue"}]))
>> {"red" "blue", "blah" "ack"}
>>
>> -- 
>> -- 
>> 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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Colin Fleming
Hi Laurent,

Thanks for those links, I'll try the standalone version. I recently tried
to set up CCW, I got it running but several of the Paredit keybindings
didn't work for me and they didn't appear in the shortcut preferences
either. I'm definitely in the "have always hated Eclipse" camp but I'll
give the standalone version a try and let you know how I get on. If I have
problems I'll post them to the CCW list.

Thanks for all the hard work, CCW has really come a long way!

Cheers,
Colin


On 26 July 2013 09:12, Laurent PETIT  wrote:

> tl;dr: why not at least *try* Counterclockwise before skipping it
> 'because of Eclipse'? You may find its editor with paredit shortcuts
> appealing. A full standalone Eclipse+Counterclockwise is available for
> your platform here:
>
> http://updatesite.ccw-ide.org/branch/master/master-travis000102-git75512b6843a242e2ab3c9f4057c42c884653b2ea/products/
>
>
> I'm a bit sad when I read people don't want to try Counterclockwise
> just because they had a prior bad experience with Eclipse.
>
> Not even giving it a try, c'mon guys, please ;-)
>
> I have been working on the automation of build and delivery recently,
> and for instance giving it a try is as easy as:
>
> 1. download the standalone version for your OS from here:
>
>
> http://updatesite.ccw-ide.org/branch/master/master-travis000102-git75512b6843a242e2ab3c9f4057c42c884653b2ea/products/
> (pretty stable version, stick to this link please)
>
> It's a big download, but you have everything included (Eclipse base +
> Counterclockwise + Leiningen + Eclipse Git ...)
>
> 2. Unzip into a directory named e.g. counterclockwise
>
> 3. Locate counterclockwise / counterclockwise.app /
> counterclockwise.exe depending on your platform, and start it !
>
> Even if you still don't like the beast, some feedback on what you
> liked / disliked will always be appreciated since new viewpoints are
> generally challenging and interesting!
>
> Cheers,
>
> --
> Laurent
>
>
> 2013/7/25 Ryan Stradling :
> > I have used Vi, emacs, and IntelliJ for Clojure.
> >
> > I have used eclipse on non Clojure projects but it is not my default
> choice.
> > I typically choose IntelliJ over eclipse when that type of environment is
> > needed.
> > I had a very capable set-up in IntelliJ.  There are still some issues
> with
> > the Clojure plugin especially if you are used to paredit.
> > I naturally gravitate towards Vi when choosing between emacs or Vi.
> > Vim-fireplace is really good if Vim is something you would like.
> >
> > Emacs though IMHO is still the best one out there of what I have tried.
> > With all the others, I feel that I miss the interactive REPL experience I
> > get with emacs.  That, ergo-mode, and Caps Lock mapped to the ctrl key
> are
> > what brought me back to it.
> >
> > Daily I use emacs.  When needed, I use IntelliJ.  (For instance I was
> > writing a plug-in in Clojure for a Java application.  I did not know the
> > Java application well at all and had a hard to find issue.  I fired up
> > IntelliJ, and I was able to debug in Java and Clojure and found the issue
> > rather quickly.)
> >
> >
> >
> >
> > On Thursday, July 25, 2013 3:55:22 PM UTC-4, Lee wrote:
> >>
> >>
> >> On Jul 25, 2013, at 3:37 PM, Sean Corfield wrote:
> >> >
> >> > In October 2011, I decided to give Emacs another chance - specifically
> >> > for Clojure development - and that's what I use day-in, day-out. I
> >> > have a slightly customized setup but it really doesn't have much
> >> > beyond the starter kit, rainbow delimiters and autocompletion added.
> >> > It has a huge learning curve (nay, a _cliff_!) but it is hands down
> >> > the best Clojure environment (in my opinion - and about 70% of all
> >> > Clojure developers surveyed, according to Chas's surveys).
> >> >
> >> > Coming back to Emacs after about a 20 year break(!), I was surprised
> >> > to see it had only advanced to version 24 (in fact, back in October
> >> > 2011, 24 was only a preview build), and it took a fair bit of getting
> >> > used to (again). Since then, two of my team have also switched
> >> > full-time from ST2 to Emacs. The third does a lot of front end web dev
> >> > and finds ST2 easier to work with - but I suspect when she starts
> >> > doing Clojure / ClojureScript work, she'll switch too.
> >>
> >> For Sean or anyone who finds Sean's narrative compelling (I do), imagine
> >> emacs without the learning curve! I say it's possible and I point to the
> >> long-extinct FRED (Fred Resembles Emacs Deliberately) that was part of
> >> Macintosh Common Lisp as a proof of principle. I don't have the time or
> >> chops to develop such a thing, but if anyone here does then this would
> be a
> >> way to make the world a better place.
> >>
> >>  -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 pati

Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Laurent PETIT
2013/7/26 Colin Fleming :
> Hi Laurent,
>
> Thanks for those links, I'll try the standalone version. I recently tried to
> set up CCW, I got it running but several of the Paredit keybindings didn't
> work for me and they didn't appear in the shortcut preferences either. I'm
> definitely in the "have always hated Eclipse" camp but I'll give the
> standalone version a try and let you know how I get on. If I have problems
> I'll post them to the CCW list.
>
> Thanks for all the hard work, CCW has really come a long way!

Hi Colin, thanks for the kind words!

If you're feeling a little bit more adventurous, you can also try the
brand new feature I've been introducing this week: AutoShift! (tl;dr:
fix indentation as you type)

More on this (explanations, links, etc.) in this thread:

https://groups.google.com/d/msg/clojuredev-users/F-gm5I5ZYUs/HZek6XA8u7MJ

Also, please note that I'll be on holidays during August, so dont
expect too quick a response ;-)

>
> Cheers,
> Colin
>
>
> On 26 July 2013 09:12, Laurent PETIT  wrote:
>>
>> tl;dr: why not at least *try* Counterclockwise before skipping it
>> 'because of Eclipse'? You may find its editor with paredit shortcuts
>> appealing. A full standalone Eclipse+Counterclockwise is available for
>> your platform here:
>>
>> http://updatesite.ccw-ide.org/branch/master/master-travis000102-git75512b6843a242e2ab3c9f4057c42c884653b2ea/products/
>>
>>
>> I'm a bit sad when I read people don't want to try Counterclockwise
>> just because they had a prior bad experience with Eclipse.
>>
>> Not even giving it a try, c'mon guys, please ;-)
>>
>> I have been working on the automation of build and delivery recently,
>> and for instance giving it a try is as easy as:
>>
>> 1. download the standalone version for your OS from here:
>>
>>
>> http://updatesite.ccw-ide.org/branch/master/master-travis000102-git75512b6843a242e2ab3c9f4057c42c884653b2ea/products/
>> (pretty stable version, stick to this link please)
>>
>> It's a big download, but you have everything included (Eclipse base +
>> Counterclockwise + Leiningen + Eclipse Git ...)
>>
>> 2. Unzip into a directory named e.g. counterclockwise
>>
>> 3. Locate counterclockwise / counterclockwise.app /
>> counterclockwise.exe depending on your platform, and start it !
>>
>> Even if you still don't like the beast, some feedback on what you
>> liked / disliked will always be appreciated since new viewpoints are
>> generally challenging and interesting!
>>
>> Cheers,
>>
>> --
>> Laurent
>>
>>
>> 2013/7/25 Ryan Stradling :
>> > I have used Vi, emacs, and IntelliJ for Clojure.
>> >
>> > I have used eclipse on non Clojure projects but it is not my default
>> > choice.
>> > I typically choose IntelliJ over eclipse when that type of environment
>> > is
>> > needed.
>> > I had a very capable set-up in IntelliJ.  There are still some issues
>> > with
>> > the Clojure plugin especially if you are used to paredit.
>> > I naturally gravitate towards Vi when choosing between emacs or Vi.
>> > Vim-fireplace is really good if Vim is something you would like.
>> >
>> > Emacs though IMHO is still the best one out there of what I have tried.
>> > With all the others, I feel that I miss the interactive REPL experience
>> > I
>> > get with emacs.  That, ergo-mode, and Caps Lock mapped to the ctrl key
>> > are
>> > what brought me back to it.
>> >
>> > Daily I use emacs.  When needed, I use IntelliJ.  (For instance I was
>> > writing a plug-in in Clojure for a Java application.  I did not know the
>> > Java application well at all and had a hard to find issue.  I fired up
>> > IntelliJ, and I was able to debug in Java and Clojure and found the
>> > issue
>> > rather quickly.)
>> >
>> >
>> >
>> >
>> > On Thursday, July 25, 2013 3:55:22 PM UTC-4, Lee wrote:
>> >>
>> >>
>> >> On Jul 25, 2013, at 3:37 PM, Sean Corfield wrote:
>> >> >
>> >> > In October 2011, I decided to give Emacs another chance -
>> >> > specifically
>> >> > for Clojure development - and that's what I use day-in, day-out. I
>> >> > have a slightly customized setup but it really doesn't have much
>> >> > beyond the starter kit, rainbow delimiters and autocompletion added.
>> >> > It has a huge learning curve (nay, a _cliff_!) but it is hands down
>> >> > the best Clojure environment (in my opinion - and about 70% of all
>> >> > Clojure developers surveyed, according to Chas's surveys).
>> >> >
>> >> > Coming back to Emacs after about a 20 year break(!), I was surprised
>> >> > to see it had only advanced to version 24 (in fact, back in October
>> >> > 2011, 24 was only a preview build), and it took a fair bit of getting
>> >> > used to (again). Since then, two of my team have also switched
>> >> > full-time from ST2 to Emacs. The third does a lot of front end web
>> >> > dev
>> >> > and finds ST2 easier to work with - but I suspect when she starts
>> >> > doing Clojure / ClojureScript work, she'll switch too.
>> >>
>> >> For Sean or anyone who finds Sean's narrative compelling (I do),
>> >> ima

Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Cedric Greevey
On Thu, Jul 25, 2013 at 3:05 PM, Greg  wrote:

> Everyone has their preferences, and the best thing to do is to try it all
> and pick what you like.
>
> That said... here's my experience with IntelliJ, and others
>
> Table of Contents:
> 1. On IntelliJ
> 2. On Emacs and "Emacs Live"
> 3. On Light Table
> 4. On Sublime Text (ST)
> 5. Conclusion
>
> 1. On IntelliJ
> -
>

Not free software.


> 2. On Emacs and "Emacs Live"
> 
>

Free software. (But apparently it's now bloated all the way up to being
"eight gigabytes and constantly swapping", if Greg's report is any
indication.)


>
> 3. On Light Table
> ---
>

Seems to be up in the air whether this will be free software or not.


> 4. On Sublime Text (ST)
> 
>

Non-free.


> 5. Conclusion
> -
>

If you want free software and don't want bloat, "none of the above". Maybe
try clooj?


> - Yes, IntelliJ is a very good IDE for Clojure development.
> - Sublime Text is better. :-)
>

Neither of those choices are libre software.

-- 
-- 
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: map from list of maps

2013-07-25 Thread Jay Fields
I use this:
https://github.com/jaycfields/jry/blob/master/src/clojure/jry/set.clj#L3-L4


On Thu, Jul 25, 2013 at 5:55 PM, Brian Craft  wrote:

> Ah, interesting. Only works for keys that are functions.
>
>
> On Thursday, July 25, 2013 2:48:10 PM UTC-7, Gary Trakhman wrote:
>
>> user> (into {}  (map (juxt :a :b) [{:a "blah" :b "ack"} {:a "red" :b
>> "blue"}]))
>> {"blah" "ack", "red" "blue"}
>>
>>
>>
>> On Thu, Jul 25, 2013 at 5:34 PM, Brian Craft  wrote:
>>
>>> Is there a better way to do this, making a map of certain keys from a
>>> list of maps?
>>>
>>> > (apply hash-map (mapcat (fn [x] [(x :a) (x :b)]) [{:a "blah" :b "ack"}
>>> {:a "red" :b "blue"}]))
>>> {"red" "blue", "blah" "ack"}
>>>
>>> --
>>> --
>>> 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.
>
>
>

-- 
-- 
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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Laurent PETIT
Hello Cedric,

2013/7/26 Cedric Greevey :
> On Thu, Jul 25, 2013 at 3:05 PM, Greg  wrote:
>>
>> Everyone has their preferences, and the best thing to do is to try it all
>> and pick what you like.
>>
>> That said... here's my experience with IntelliJ, and others
>>
>> Table of Contents:
>> 1. On IntelliJ
>> 2. On Emacs and "Emacs Live"
>> 3. On Light Table
>> 4. On Sublime Text (ST)
>> 5. Conclusion
>>
>> 1. On IntelliJ
>> -
>
>
> Not free software.

AFAICT, the "Community Edition" is free software, and all that is
required to use Clojure.


>> 5. Conclusion
>> -
>
>
> If you want free software and don't want bloat, "none of the above". Maybe
> try clooj?
>
>>
>> - Yes, IntelliJ is a very good IDE for Clojure development.
>> - Sublime Text is better. :-)
>
>
> Neither of those choices are libre software.

Eclipse is as free as Clojure can bee (both are licensed with the EPL
V1.0), and so is Counterclockwise.

My 0,02€,

-- 
Laurent

-- 
-- 
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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Gary Trakhman
You can pick and choose your level of bloat with emacs.

It's pretty good at being a lisp editor.  I don't customize mine much, been
using it for a year and a half, and I was 80% as productive as I am now
within just a few weeks, though I realize there's a lifetime left to learn.

Starter-kit + 24-lines init.el for auto-complete and a color theme, and I'm
pretty happy.

My only complaints:
1. Evaluating something that prints a lot by accident locks the UI.
2. I can't use it for java for more than a couple hours at a time.

Memory usage is only 48MB on my linux, using the GTK interface.



On Thu, Jul 25, 2013 at 6:53 PM, Cedric Greevey  wrote:

> On Thu, Jul 25, 2013 at 3:05 PM, Greg  wrote:
>
>> Everyone has their preferences, and the best thing to do is to try it all
>> and pick what you like.
>>
>> That said... here's my experience with IntelliJ, and others
>>
>> Table of Contents:
>> 1. On IntelliJ
>> 2. On Emacs and "Emacs Live"
>> 3. On Light Table
>> 4. On Sublime Text (ST)
>> 5. Conclusion
>>
>> 1. On IntelliJ
>> -
>>
>
> Not free software.
>
>
>> 2. On Emacs and "Emacs Live"
>> 
>>
>
> Free software. (But apparently it's now bloated all the way up to being
> "eight gigabytes and constantly swapping", if Greg's report is any
> indication.)
>
>
>>
>> 3. On Light Table
>> ---
>>
>
> Seems to be up in the air whether this will be free software or not.
>
>
>> 4. On Sublime Text (ST)
>> 
>>
>
> Non-free.
>
>
>> 5. Conclusion
>> -
>>
>
> If you want free software and don't want bloat, "none of the above". Maybe
> try clooj?
>
>
>> - Yes, IntelliJ is a very good IDE for Clojure development.
>> - Sublime Text is better. :-)
>>
>
> Neither of those choices are libre software.
>
>  --
> --
> 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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Colin Fleming
Laurent is correct - both the IntelliJ community edition and La Clojure are
Apache licensed.


On 26 July 2013 11:02, Laurent PETIT  wrote:

> Hello Cedric,
>
> 2013/7/26 Cedric Greevey :
> > On Thu, Jul 25, 2013 at 3:05 PM, Greg  wrote:
> >>
> >> Everyone has their preferences, and the best thing to do is to try it
> all
> >> and pick what you like.
> >>
> >> That said... here's my experience with IntelliJ, and others
> >>
> >> Table of Contents:
> >> 1. On IntelliJ
> >> 2. On Emacs and "Emacs Live"
> >> 3. On Light Table
> >> 4. On Sublime Text (ST)
> >> 5. Conclusion
> >>
> >> 1. On IntelliJ
> >> -
> >
> >
> > Not free software.
>
> AFAICT, the "Community Edition" is free software, and all that is
> required to use Clojure.
>
>
> >> 5. Conclusion
> >> -
> >
> >
> > If you want free software and don't want bloat, "none of the above".
> Maybe
> > try clooj?
> >
> >>
> >> - Yes, IntelliJ is a very good IDE for Clojure development.
> >> - Sublime Text is better. :-)
> >
> >
> > Neither of those choices are libre software.
>
> Eclipse is as free as Clojure can bee (both are licensed with the EPL
> V1.0), and so is Counterclockwise.
>
> My 0,02€,
>
> --
> Laurent
>
> --
> --
> 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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Cedric Greevey
On Thu, Jul 25, 2013 at 7:06 PM, Colin Fleming
wrote:

> Laurent is correct - both the IntelliJ community edition and La Clojure
> are Apache licensed.
>
>
> On 26 July 2013 11:02, Laurent PETIT  wrote:
>
>> Hello Cedric,
>> >> 1. On IntelliJ
>> >> -
>> >
>> >
>> > Not free software.
>>
>> AFAICT, the "Community Edition" is free software, and all that is
>> required to use Clojure.
>>
>
Huh. That's news to me. The one time I evaluated IntelliJ, there was no
sign of this.

It isn't severely crippled, though, is 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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Colin Fleming
Nope, it's perfectly functional as long as all you want is "basic"
functionality - Java, XML/XPath/XSLT, Git/SVN, Android, Maven/Ant, Groovy,
JUnit/TestNG and of course Clojure if you install La Clojure. If you want
any of the Enterprise Java stuff you have to go to the Ultimate edition.
Probably the most obviously missing thing is HTML/Javascript support.


On 26 July 2013 11:18, Cedric Greevey  wrote:

> On Thu, Jul 25, 2013 at 7:06 PM, Colin Fleming <
> colin.mailingl...@gmail.com> wrote:
>
>> Laurent is correct - both the IntelliJ community edition and La Clojure
>> are Apache licensed.
>>
>>
>> On 26 July 2013 11:02, Laurent PETIT  wrote:
>>
>>> Hello Cedric,
>>>
>>> >> 1. On IntelliJ
>>> >> -
>>> >
>>> >
>>> > Not free software.
>>>
>>> AFAICT, the "Community Edition" is free software, and all that is
>>> required to use Clojure.
>>>
>>
> Huh. That's news to me. The one time I evaluated IntelliJ, there was no
> sign of this.
>
> It isn't severely crippled, though, is 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.
>
>
>

-- 
-- 
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: map from list of maps

2013-07-25 Thread Curtis Gagliardi
You can use whatever functions you want with juxt:

user=> (into {}  (map (juxt #(% "a") #(% "b")) [{"a" "blah" "b" "ack"} {"a" 
"red" "b" "blue"}]))
{"blah" "ack", "red" "blue"}


On Thursday, July 25, 2013 2:55:18 PM UTC-7, Brian Craft wrote:
>
> Ah, interesting. Only works for keys that are functions.
>
> On Thursday, July 25, 2013 2:48:10 PM UTC-7, Gary Trakhman wrote:
>>
>> user> (into {}  (map (juxt :a :b) [{:a "blah" :b "ack"} {:a "red" :b 
>> "blue"}]))
>> {"blah" "ack", "red" "blue"}
>>
>>
>>
>> On Thu, Jul 25, 2013 at 5:34 PM, Brian Craft  wrote:
>>
>>> Is there a better way to do this, making a map of certain keys from a 
>>> list of maps?
>>>
>>> > (apply hash-map (mapcat (fn [x] [(x :a) (x :b)]) [{:a "blah" :b "ack"} 
>>> {:a "red" :b "blue"}]))
>>> {"red" "blue", "blah" "ack"}
>>>
>>> -- 
>>> -- 
>>> 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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Anand Prakash
Would agree with Laurent. For newbies, I would not recommend anything apart 
from Eclipse. It's really stable and I have been using it for multiple 
projects over the past year. It just work. I really love the integrated 
REPL and ability to debug with breakpoints.
I spent 5-6 years with Eclipse and then tried Intellij Idea for 2 years and 
loved it. However with CCW I do not have any of the issues that people have 
with eclipse,  because clojure vm is very lightweight. I start eclipse, 
start the repl and then keep using it without any restart for weeks. Any 
code that I change is live loaded into REPL.

Thanks
Anand


On Thursday, July 25, 2013 3:42:18 PM UTC-7, Laurent PETIT wrote:
>
> 2013/7/26 Colin Fleming >: 
> > Hi Laurent, 
> > 
> > Thanks for those links, I'll try the standalone version. I recently 
> tried to 
> > set up CCW, I got it running but several of the Paredit keybindings 
> didn't 
> > work for me and they didn't appear in the shortcut preferences either. 
> I'm 
> > definitely in the "have always hated Eclipse" camp but I'll give the 
> > standalone version a try and let you know how I get on. If I have 
> problems 
> > I'll post them to the CCW list. 
> > 
> > Thanks for all the hard work, CCW has really come a long way! 
>
> Hi Colin, thanks for the kind words! 
>
> If you're feeling a little bit more adventurous, you can also try the 
> brand new feature I've been introducing this week: AutoShift! (tl;dr: 
> fix indentation as you type) 
>
> More on this (explanations, links, etc.) in this thread: 
>
> https://groups.google.com/d/msg/clojuredev-users/F-gm5I5ZYUs/HZek6XA8u7MJ 
>
> Also, please note that I'll be on holidays during August, so dont 
> expect too quick a response ;-) 
>
> > 
> > Cheers, 
> > Colin 
> > 
> > 
> > On 26 July 2013 09:12, Laurent PETIT > 
> wrote: 
> >> 
> >> tl;dr: why not at least *try* Counterclockwise before skipping it 
> >> 'because of Eclipse'? You may find its editor with paredit shortcuts 
> >> appealing. A full standalone Eclipse+Counterclockwise is available for 
> >> your platform here: 
> >> 
> >> 
> http://updatesite.ccw-ide.org/branch/master/master-travis000102-git75512b6843a242e2ab3c9f4057c42c884653b2ea/products/
>  
> >> 
> >> 
> >> I'm a bit sad when I read people don't want to try Counterclockwise 
> >> just because they had a prior bad experience with Eclipse. 
> >> 
> >> Not even giving it a try, c'mon guys, please ;-) 
> >> 
> >> I have been working on the automation of build and delivery recently, 
> >> and for instance giving it a try is as easy as: 
> >> 
> >> 1. download the standalone version for your OS from here: 
> >> 
> >> 
> >> 
> http://updatesite.ccw-ide.org/branch/master/master-travis000102-git75512b6843a242e2ab3c9f4057c42c884653b2ea/products/
>  
> >> (pretty stable version, stick to this link please) 
> >> 
> >> It's a big download, but you have everything included (Eclipse base + 
> >> Counterclockwise + Leiningen + Eclipse Git ...) 
> >> 
> >> 2. Unzip into a directory named e.g. counterclockwise 
> >> 
> >> 3. Locate counterclockwise / counterclockwise.app / 
> >> counterclockwise.exe depending on your platform, and start it ! 
> >> 
> >> Even if you still don't like the beast, some feedback on what you 
> >> liked / disliked will always be appreciated since new viewpoints are 
> >> generally challenging and interesting! 
> >> 
> >> Cheers, 
> >> 
> >> -- 
> >> Laurent 
> >> 
> >> 
> >> 2013/7/25 Ryan Stradling >: 
> >> > I have used Vi, emacs, and IntelliJ for Clojure. 
> >> > 
> >> > I have used eclipse on non Clojure projects but it is not my default 
> >> > choice. 
> >> > I typically choose IntelliJ over eclipse when that type of 
> environment 
> >> > is 
> >> > needed. 
> >> > I had a very capable set-up in IntelliJ.  There are still some issues 
> >> > with 
> >> > the Clojure plugin especially if you are used to paredit. 
> >> > I naturally gravitate towards Vi when choosing between emacs or Vi. 
> >> > Vim-fireplace is really good if Vim is something you would like. 
> >> > 
> >> > Emacs though IMHO is still the best one out there of what I have 
> tried. 
> >> > With all the others, I feel that I miss the interactive REPL 
> experience 
> >> > I 
> >> > get with emacs.  That, ergo-mode, and Caps Lock mapped to the ctrl 
> key 
> >> > are 
> >> > what brought me back to it. 
> >> > 
> >> > Daily I use emacs.  When needed, I use IntelliJ.  (For instance I was 
> >> > writing a plug-in in Clojure for a Java application.  I did not know 
> the 
> >> > Java application well at all and had a hard to find issue.  I fired 
> up 
> >> > IntelliJ, and I was able to debug in Java and Clojure and found the 
> >> > issue 
> >> > rather quickly.) 
> >> > 
> >> > 
> >> > 
> >> > 
> >> > On Thursday, July 25, 2013 3:55:22 PM UTC-4, Lee wrote: 
> >> >> 
> >> >> 
> >> >> On Jul 25, 2013, at 3:37 PM, Sean Corfield wrote: 
> >> >> > 
> >> >> > In October 2011, I decided to give Emacs another chance - 
> >> >> > specifically 
>

Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Korny Sietsma
Indeed - I was using a community-edition intellij setup the other day, and
only realised when I went to edit some JavaScript, and found some features
missing (like code indenting).

We use intellij (mostly) in our team at work, and I use emacs (mostly) at
home.

My current take on this endless debate:

Intellij is ok.  For multi-language projects it's probably still the best
option - it does a great job with Java, JavaScript, html, css.  The clojure
support, with the leiningen plugin, works most of the time - with a few
hassles:
- jump to definition breaks sometimes, especially if you use "use" or
"require :all" - for some reason it can understand prefixed namespaces a
lot better.
- indenting isn't nearly as good as emacs
- it doesn't use a long-running repl for tasks like compilation, so you
have to wait for the clojure startup a lot; every time you re-run tests for
example.
- a few language features break their parser - inine bigdecimals for a
start, adding "0.01M" tends to break syntax highlighting
- you have to use the leiningen plugin to sync up your project
dependencies, and manually re-sync when things change
- the leiningen plugin breaks if you have more than one clojure module in a
project - not a problem for everyone, but very annoying for us!

Emacs is powerful, and fast (not sure where the "bloat" comments come from,
it takes less than 3 seconds to load on my MacBook Pro, and that's usually
once per session, so I don't care much.
However, it has a horrible learning curve - I'm past the worst of it, but
it's a struggle to learn, and only something you'd do if you are keen.
 Fine for the solo developer, but not much good for a team, especially in a
consulting situation - I can't go to the client company's developers and
say "here's this awesome new language to use - oh, and you also need to
learn emacs..."  :-}

Also Emacs sucks for Java development, and isn't nearly as good as Intellij
for JavaScript, html, and css.  I also miss all the nice things you get
from a real gui - graphical diff markings, subtle ui indicators for VCS
changes, tooltips that pop up; and mostly I really miss having a tree-view
of the project when I'm working in emacs - speedbar is a very very poor
replacement!

Sublime, last time I tried, had a very nice UI and a great plugin system -
but the clojure stuff seemed fairly broken.  I couldn't get the repl to
work properly; I'm glad to hear it's working now.  Does it support
autcompletion, and jumping to a symbol's definition (and back again)?
 Those didn't seem to be there last time, and I'd struggle to live without
them on a project of any size.

CounterClockwise is nice - I tried it a few months back, and it seemed like
a good environment - but Eclipse is ugly and painful to use compared to
IntelliJ, and as my team is building a multi-language project, we can't
avoid using the non-clojure bits.  If I had a pure clojure project, in a
team environment, I'd definitely consider it.

- Korny



On 26 July 2013 09:26, Colin Fleming  wrote:

> Nope, it's perfectly functional as long as all you want is "basic"
> functionality - Java, XML/XPath/XSLT, Git/SVN, Android, Maven/Ant, Groovy,
> JUnit/TestNG and of course Clojure if you install La Clojure. If you want
> any of the Enterprise Java stuff you have to go to the Ultimate edition.
> Probably the most obviously missing thing is HTML/Javascript support.
>
>
> On 26 July 2013 11:18, Cedric Greevey  wrote:
>
>> On Thu, Jul 25, 2013 at 7:06 PM, Colin Fleming <
>> colin.mailingl...@gmail.com> wrote:
>>
>>> Laurent is correct - both the IntelliJ community edition and La Clojure
>>> are Apache licensed.
>>>
>>>
>>> On 26 July 2013 11:02, Laurent PETIT  wrote:
>>>
 Hello Cedric,

 >> 1. On IntelliJ
 >> -
 >
 >
 > Not free software.

 AFAICT, the "Community Edition" is free software, and all that is
 required to use Clojure.

>>>
>> Huh. That's news to me. The one time I evaluated IntelliJ, there was no
>> sign of this.
>>
>> It isn't severely crippled, though, is 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.
>>
>>
>>
>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.

Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Gary Trakhman
'jumping to a symbol's definition (and back again)?  Those didn't seem to
be there last time, and I'd struggle to live without them on a project of
any size.'

Besides paredit, this is absolutely the most important feature for me
day-to-day.  Nothing will replace emacs unless it has that.  The emacs one
follows a stack-discipline, which is brilliant, and can even follow into
dependency jars.


On Thu, Jul 25, 2013 at 8:27 PM, Korny Sietsma  wrote:

> Indeed - I was using a community-edition intellij setup the other day, and
> only realised when I went to edit some JavaScript, and found some features
> missing (like code indenting).
>
> We use intellij (mostly) in our team at work, and I use emacs (mostly) at
> home.
>
> My current take on this endless debate:
>
> Intellij is ok.  For multi-language projects it's probably still the best
> option - it does a great job with Java, JavaScript, html, css.  The clojure
> support, with the leiningen plugin, works most of the time - with a few
> hassles:
> - jump to definition breaks sometimes, especially if you use "use" or
> "require :all" - for some reason it can understand prefixed namespaces a
> lot better.
> - indenting isn't nearly as good as emacs
> - it doesn't use a long-running repl for tasks like compilation, so you
> have to wait for the clojure startup a lot; every time you re-run tests for
> example.
> - a few language features break their parser - inine bigdecimals for a
> start, adding "0.01M" tends to break syntax highlighting
> - you have to use the leiningen plugin to sync up your project
> dependencies, and manually re-sync when things change
> - the leiningen plugin breaks if you have more than one clojure module in
> a project - not a problem for everyone, but very annoying for us!
>
> Emacs is powerful, and fast (not sure where the "bloat" comments come
> from, it takes less than 3 seconds to load on my MacBook Pro, and that's
> usually once per session, so I don't care much.
> However, it has a horrible learning curve - I'm past the worst of it, but
> it's a struggle to learn, and only something you'd do if you are keen.
>  Fine for the solo developer, but not much good for a team, especially in a
> consulting situation - I can't go to the client company's developers and
> say "here's this awesome new language to use - oh, and you also need to
> learn emacs..."  :-}
>
> Also Emacs sucks for Java development, and isn't nearly as good as
> Intellij for JavaScript, html, and css.  I also miss all the nice things
> you get from a real gui - graphical diff markings, subtle ui indicators for
> VCS changes, tooltips that pop up; and mostly I really miss having a
> tree-view of the project when I'm working in emacs - speedbar is a very
> very poor replacement!
>
> Sublime, last time I tried, had a very nice UI and a great plugin system -
> but the clojure stuff seemed fairly broken.  I couldn't get the repl to
> work properly; I'm glad to hear it's working now.  Does it support
> autcompletion, and jumping to a symbol's definition (and back again)?
>  Those didn't seem to be there last time, and I'd struggle to live without
> them on a project of any size.
>
> CounterClockwise is nice - I tried it a few months back, and it seemed
> like a good environment - but Eclipse is ugly and painful to use compared
> to IntelliJ, and as my team is building a multi-language project, we can't
> avoid using the non-clojure bits.  If I had a pure clojure project, in a
> team environment, I'd definitely consider it.
>
> - Korny
>
>
>
> On 26 July 2013 09:26, Colin Fleming  wrote:
>
>> Nope, it's perfectly functional as long as all you want is "basic"
>> functionality - Java, XML/XPath/XSLT, Git/SVN, Android, Maven/Ant, Groovy,
>> JUnit/TestNG and of course Clojure if you install La Clojure. If you want
>> any of the Enterprise Java stuff you have to go to the Ultimate edition.
>> Probably the most obviously missing thing is HTML/Javascript support.
>>
>>
>> On 26 July 2013 11:18, Cedric Greevey  wrote:
>>
>>> On Thu, Jul 25, 2013 at 7:06 PM, Colin Fleming <
>>> colin.mailingl...@gmail.com> wrote:
>>>
 Laurent is correct - both the IntelliJ community edition and La Clojure
 are Apache licensed.


 On 26 July 2013 11:02, Laurent PETIT  wrote:

> Hello Cedric,
>
> >> 1. On IntelliJ
> >> -
> >
> >
> > Not free software.
>
> AFAICT, the "Community Edition" is free software, and all that is
> required to use Clojure.
>

>>> Huh. That's news to me. The one time I evaluated IntelliJ, there was no
>>> sign of this.
>>>
>>> It isn't severely crippled, though, is 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

Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread kovas boguta
I'm developing a stand-alone paredit widget, basically connecting
paredit.clj to a swing text area.

As part of my research, I've spent the last few days looking into intellij,
and the la clojure source.

One gets the feeling that eclipse and netbeans have hit a wall of
designed-by-committee technical debt. Google's switching to intellij for
its android development tools is a big vote of confidence as well.

The problem with La Clojure is that its implementation 100% java. The
intellij apis seem sensibly designed, but being java there is a mountain of
classes. There is no way to keep up with ccw through writing java code.

Given that the community edition is open source, theres a wide open
opportunity for a clojure-based editor on top of intellij, as a plugin or
as a stand-alone app.






On Mon, Jan 28, 2013 at 3:37 AM, Dennis Haupt  wrote:

> the only ides i have used so far for clojure are intellij idea and
> netbeans. is there one that is a lot better? if yes, why?
> i am not interested in details or single features, i just want to know if
> there is some magic editor out there that i should look into because it is
> *obviously a lot* better - like in "you should use an ide for java
> development instead of notepad"
>
> --
> --
> 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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Lee Spector

On Jul 25, 2013, at 8:22 PM, Anand Prakash wrote:

> Would agree with Laurent. For newbies, I would not recommend anything apart 
> from Eclipse. 

For real newbies I'd second the earlier mention of clooj. It's really the 
simplest thing to get and use that integrates a Clojure-aware editor and a 
REPL. Of course it could use a lot more features, and more people to help 
maintain it, but in my experience it's tops in terms of ease of use for newbies.

 -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.




Ring: How to auto-redirect URI's missing trailing slash

2013-07-25 Thread Reginald Choudari
Hello, I'm trying to figure out what is the best way in handling this 
problem.

Using Ring I have a handlers set to direct routes with relative URI paths 
(e.g. "/", "./posts", "/about"). But I would like the URI to be 
automatically redirected to "/posts/" and "/about/" with the trailing 
slash, so that all my links and references work correctly. If the URI is 
without the trailing slash, I'm sure you know what happens to all your 
relative paths.

Any efficient way of dealing with this?

Thanks,
Reginald


-- 
-- 
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: Ring: How to auto-redirect URI's missing trailing slash

2013-07-25 Thread ljcppunix
Hi,
  Could you try (str uri_path "/")

在 2013年7月26日星期五UTC+8上午9时08分50秒,Reginald Choudari写道:
>
> Hello, I'm trying to figure out what is the best way in handling this 
> problem.
>
> Using Ring I have a handlers set to direct routes with relative URI paths 
> (e.g. "/", "./posts", "/about"). But I would like the URI to be 
> automatically redirected to "/posts/" and "/about/" with the trailing 
> slash, so that all my links and references work correctly. If the URI is 
> without the trailing slash, I'm sure you know what happens to all your 
> relative paths.
>
> Any efficient way of dealing with this?
>
> Thanks,
> Reginald
>
>
>

-- 
-- 
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: Ring: How to auto-redirect URI's missing trailing slash

2013-07-25 Thread Sebastian Rojas
Checkout this middleware in lib-noir  
https://github.com/noir-clojure/lib-noir/blob/master/src/noir/util/middleware.clj#L70

On Thursday, July 25, 2013 9:08:50 PM UTC-4, Reginald Choudari wrote:
>
> Hello, I'm trying to figure out what is the best way in handling this 
> problem.
>
> Using Ring I have a handlers set to direct routes with relative URI paths 
> (e.g. "/", "./posts", "/about"). But I would like the URI to be 
> automatically redirected to "/posts/" and "/about/" with the trailing 
> slash, so that all my links and references work correctly. If the URI is 
> without the trailing slash, I'm sure you know what happens to all your 
> relative paths.
>
> Any efficient way of dealing with this?
>
> Thanks,
> Reginald
>
>
>

-- 
-- 
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 convert from string to symbol?

2013-07-25 Thread ljcppunix
Hello,
I have a problem how we convert from string to symbol, for example: 
(def str_name "name") 
I want have a result that symbol is :name through processing str_name, 
could you a best advice?

thank 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: How convert from string to symbol?

2013-07-25 Thread Gary Trakhman
It might be more clear if you simply show sample inputs and outputs.
 Something like this:

in: "name"
out: 'name

probably what you want is:
(symbol (name x))

works for keywords too, cuts off any namespace prefix.


On Thu, Jul 25, 2013 at 9:29 PM,  wrote:

> Hello,
> I have a problem how we convert from string to symbol, for example:
> (def str_name "name")
> I want have a result that symbol is :name through processing str_name,
> could you a best advice?
>
> thank 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.
>
>
>

-- 
-- 
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: Ring: How to auto-redirect URI's missing trailing slash

2013-07-25 Thread Carlo Zancanaro
On 26 July 2013 11:17, Sebastian Rojas wrote:

> Checkout this middleware in lib-noir
> https://github.com/noir-clojure/lib-noir/blob/master/src/noir/util/middleware.clj#L70
>

Unfortunately that middleware only changes the way your handlers see the
URI of the request. The issue Reginald is talking about is that the browser
resolves relative links differently if you have a slash at the end.

For example, from a page of "/posts" a relative link to "comments" would go
to "/comments", but from "/posts/" a relative link to "comments" would go
to "/posts/comments".

Reginald: I don't have a good solution to this problem, but I have
experienced it in the past. In theory it wouldn't be too difficult to make
some middleware to redirect with a 301, but you'd need to make sure you
maintain other important bits of the request (:flash, query parameters,
etc.) which could be quite fiddly.

-- 
-- 
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: Ring: How to auto-redirect URI's missing trailing slash

2013-07-25 Thread Steven Degutis
There's some problems with acting as if /foo and /foo/ are the same thing.
I read about it years ago but don't have the link handy. Basically it
messes with caching and other things, and so it's better to just redirect
to the canonical one. So if /foo/ is the right one, make /foo redirect to
it. I forget which kind of redirect though, there's like 3 kinds now.


On Thu, Jul 25, 2013 at 8:17 PM, Sebastian Rojas <
sebastian.rojas.viva...@gmail.com> wrote:

> Checkout this middleware in lib-noir
> https://github.com/noir-clojure/lib-noir/blob/master/src/noir/util/middleware.clj#L70
>
>
> On Thursday, July 25, 2013 9:08:50 PM UTC-4, Reginald Choudari wrote:
>>
>> Hello, I'm trying to figure out what is the best way in handling this
>> problem.
>>
>> Using Ring I have a handlers set to direct routes with relative URI paths
>> (e.g. "/", "./posts", "/about"). But I would like the URI to be
>> automatically redirected to "/posts/" and "/about/" with the trailing
>> slash, so that all my links and references work correctly. If the URI is
>> without the trailing slash, I'm sure you know what happens to all your
>> relative paths.
>>
>> Any efficient way of dealing with this?
>>
>> Thanks,
>> Reginald
>>
>>
>>  --
> --
> 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 convert from string to symbol?

2013-07-25 Thread ljcppunix
Hi, Gary Trakhman

  Good job, thank you very much!

On Friday, July 26, 2013 9:44:31 AM UTC+8, Gary Trakhman wrote:
>
> It might be more clear if you simply show sample inputs and outputs. 
>  Something like this:
>
> in: "name"
> out: 'name
>
> probably what you want is:
> (symbol (name x))
>
> works for keywords too, cuts off any namespace prefix.
>
>
> On Thu, Jul 25, 2013 at 9:29 PM, > wrote:
>
>> Hello,
>> I have a problem how we convert from string to symbol, for example: 
>> (def str_name "name") 
>> I want have a result that symbol is :name through processing str_name, 
>> could you a best advice?
>>
>> thank you!
>>
>> -- 
>> -- 
>> 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: Ring: How to auto-redirect URI's missing trailing slash

2013-07-25 Thread Cedric Greevey
Yeah, the right way (300-series "moved permanently" codes, which smart
tools will know means update bookmarks and etc.), the icky way ("meta"
headers), and the really, really broken way (JS "navigate" calls, which
simply won't work if your users are using NoScript as a first line of
defense against malware and start out not trusting your site, and also lack
the nice features of 300 redirects).

The only excuse for using meta is if you control the page HTML but not the
server, so can't set 300 redirects up for stale URIs, and there *is* no
excuse for using JS for something that can be done just as easily (or
easier!) without it. :)



On Thu, Jul 25, 2013 at 9:49 PM, Steven Degutis  wrote:

> There's some problems with acting as if /foo and /foo/ are the same thing.
> I read about it years ago but don't have the link handy. Basically it
> messes with caching and other things, and so it's better to just redirect
> to the canonical one. So if /foo/ is the right one, make /foo redirect to
> it. I forget which kind of redirect though, there's like 3 kinds now.
>
>
> On Thu, Jul 25, 2013 at 8:17 PM, Sebastian Rojas <
> sebastian.rojas.viva...@gmail.com> wrote:
>
>> Checkout this middleware in lib-noir
>> https://github.com/noir-clojure/lib-noir/blob/master/src/noir/util/middleware.clj#L70
>>
>>
>> On Thursday, July 25, 2013 9:08:50 PM UTC-4, Reginald Choudari wrote:
>>>
>>> Hello, I'm trying to figure out what is the best way in handling this
>>> problem.
>>>
>>> Using Ring I have a handlers set to direct routes with relative URI
>>> paths (e.g. "/", "./posts", "/about"). But I would like the URI to be
>>> automatically redirected to "/posts/" and "/about/" with the trailing
>>> slash, so that all my links and references work correctly. If the URI is
>>> without the trailing slash, I'm sure you know what happens to all your
>>> relative paths.
>>>
>>> Any efficient way of dealing with this?
>>>
>>> Thanks,
>>> Reginald
>>>
>>>
>>>  --
>> --
>> 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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Greg
> 'jumping to a symbol's definition (and back again)?  Those didn't seem to be 
> there last time, and I'd struggle to live without them on a project of any 
> size.'
> 
> Besides paredit, this is absolutely the most important feature for me 
> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one 
> follows a stack-discipline, which is brilliant, and can even follow into 
> dependency jars.


Yes, Sublime Text (both 2 and 3) have the ability to jump to a symbol (there's 
probably a way to switch to the previous view also, not sure what the shortcut 
is for that).

ST3 has a built-in "Go to definition" menu item that ST2 doesn't have. I 
haven't tried that yet with Clojure though because a bunch of awesome ST2 
plugins haven't yet been ported to ST3.

ST2 has an awesome plugin (that just merged a patch I sent in today) called 
Find Function Definition. It's a great hack for implementing "Go to 
definition". To get it to work nicely with clojure, just copy/paste this into 
your User Settings for that plugin:

{
"definitions":
[
// the extra space at the end is important!
// otherwise foo will match a function def of foo-bar
"(defn $NAME$ ",
"(defn- $NAME$ ",
"(defn ^URL $NAME$ ",
"(defn ^String $NAME$ ",
"(defn ^File $NAME$ ",
"(defmacro $NAME$ ",
"class $NAME$ ", // java class
// but sometimes they will put a newline instead of a 
space
// so if the above fail, try these:
"(defmacro $NAME$",
"(defn $NAME$",
"(defn- $NAME$",
"(defn ^URL $NAME$",
"(defn ^String $NAME$",
"(defn ^File $NAME$",
// if jumping becomes too slow, comment out the 
following
"(def $NAME$ ",
"(defonce $NAME$ ",
"(declare $NAME$ "
]
}

And then copy/paste this into your Syntax Specific User settings for Clojure 
(open a .clj file, then find that menu item under Preferences > Settings — 
More):

{
"extensions": ["cljs", "clj", "cljx"],
"word_separators": "./\\()\"':,.;~@%^&|+=[]{}`~"
}

That might not be a perfect list of characters that act as word separators in 
Clojure, but it has covered all the cases I've tried so far. Bind whatever 
keyboard shortcut you want to the "go_to_function" command, and then after 
positioning the caret over a function or var name, hit the shortcut. It will 
search through all of files in the navbar on the left (i.e. your project) for 
one of the above strings, replacing $NAME$ with the name of the symbol at the 
caret.

Obviously this won't search within your mavin jar files, so what I've done is 
simply extracted the source out of them for dependencies that I use and placed 
those files within my project in a folder that's ignored by git. Thus, "Find 
Function Definition" now works on just about every symbol I try it on! :-)

I might make a blog post about my ST2 Clojure setup if there's any interest in 
that.

> 4. On Sublime Text (ST)
> 
> 
> Non-free.


I'd say it's free for people who don't care about nag prompts. If you don't 
want to support the developer, you can use all the features for as long as you 
like at the cost of having to click "Cancel" at a nag prompt every so often.

Cheers!
Greg

--
Please do not email me anything that you are not comfortable also sharing with 
the NSA.

On Jul 25, 2013, at 8:32 PM, Gary Trakhman  wrote:

> 'jumping to a symbol's definition (and back again)?  Those didn't seem to be 
> there last time, and I'd struggle to live without them on a project of any 
> size.'
> 
> Besides paredit, this is absolutely the most important feature for me 
> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one 
> follows a stack-discipline, which is brilliant, and can even follow into 
> dependency jars.
> 
> 
> On Thu, Jul 25, 2013 at 8:27 PM, Korny Sietsma  wrote:
> Indeed - I was using a community-edition intellij setup the other day, and 
> only realised when I went to edit some JavaScript, and found some features 
> missing (like code indenting).
> 
> We use intellij (mostly) in our team at work, and I use emacs (mostly) at 
> home.
> 
> My current take on this endless debate:
> 
> Intellij is ok.  For multi-language projects it's probably still the best 
> option - it does a great job with Java, JavaScript, html, css.  The clojure 
> support, with the leiningen plugin, works most of the time - with a few 
> hassles:
> - jump to definition breaks sometimes, especially if you use "use" or 
> "requ

Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Cedric Greevey
You submit patches to nonfree software?!


On Thu, Jul 25, 2013 at 10:54 PM, Greg  wrote:

> 'jumping to a symbol's definition (and back again)?  Those didn't seem to
> be there last time, and I'd struggle to live without them on a project of
> any size.'
>
> Besides paredit, this is absolutely the most important feature for me
> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one
> follows a stack-discipline, which is brilliant, and can even follow into
> dependency jars.
>
>
> Yes, Sublime Text (both 2 and 3) have the ability to jump to a symbol
> (there's probably a way to switch to the previous view also, not sure what
> the shortcut is for that).
>
> ST3 has a built-in "Go to definition" menu item that ST2 doesn't have. I
> haven't tried that yet with Clojure though because a bunch of awesome ST2
> plugins haven't yet been ported to ST3.
>
> ST2 has an awesome plugin (that just merged a 
> patch I
> sent in today) called Find Function 
> Definition.
> It's a great hack for implementing "Go to definition". To get it to work
> nicely with clojure, just copy/paste this into your User Settings for that
> plugin:
>
> {
> "definitions":
> [
> // the extra space at the end is important!
> // otherwise foo will match a function def of foo-bar
> "(defn $NAME$ ",
> "(defn- $NAME$ ",
> "(defn ^URL $NAME$ ",
> "(defn ^String $NAME$ ",
> "(defn ^File $NAME$ ",
> "(defmacro $NAME$ ",
> "class $NAME$ ", // java class
> // but sometimes they will put a newline instead of a space
> // so if the above fail, try these:
> "(defmacro $NAME$",
> "(defn $NAME$",
> "(defn- $NAME$",
> "(defn ^URL $NAME$",
> "(defn ^String $NAME$",
> "(defn ^File $NAME$",
> // if jumping becomes too slow, comment out the following
> "(def $NAME$ ",
> "(defonce $NAME$ ",
> "(declare $NAME$ "
> ]
> }
>
> And then copy/paste this into your Syntax Specific User settings for
> Clojure (open a .clj file, then find that menu item under Preferences >
> Settings — More):
>
> {
> "extensions": ["cljs", "clj", "cljx"],
> "word_separators": "./\\()\"':,.;~@%^&|+=[]{}`~"
> }
>
> That might not be a perfect list of characters that act as word separators
> in Clojure, but it has covered all the cases I've tried so far. Bind
> whatever keyboard shortcut you want to the "go_to_function" command, and
> then after positioning the caret over a function or var name, hit the
> shortcut. It will search through all of files in the navbar on the left
> (i.e. your project) for one of the above strings, replacing $NAME$ with the
> name of the symbol at the caret.
>
> Obviously this won't search within your mavin jar files, so what I've done
> is simply extracted the source out of them for dependencies that I use and
> placed those files within my project in a folder that's ignored by git.
> Thus, "Find Function Definition" now works on just about every symbol I try
> it on! :-)
>
> I might make a blog post about my ST2 Clojure setup if there's any
> interest in that.
>
> 4. On Sublime Text (ST)
>> 
>>
>
> Non-free.
>
>
> I'd say it's free for people who don't care about nag prompts. If you
> don't want to support the developer, you can use all the features for as
> long as you like at the cost of having to click "Cancel" at a nag prompt
> every so often.
>
> Cheers!
> Greg
>
> --
> Please do not email me anything that you are not comfortable also sharing
> with the NSA.
>
> On Jul 25, 2013, at 8:32 PM, Gary Trakhman 
> wrote:
>
> 'jumping to a symbol's definition (and back again)?  Those didn't seem to
> be there last time, and I'd struggle to live without them on a project of
> any size.'
>
> Besides paredit, this is absolutely the most important feature for me
> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one
> follows a stack-discipline, which is brilliant, and can even follow into
> dependency jars.
>
>
> On Thu, Jul 25, 2013 at 8:27 PM, Korny Sietsma  wrote:
>
>> Indeed - I was using a community-edition intellij setup the other day,
>> and only realised when I went to edit some JavaScript, and found some
>> features missing (like code indenting).
>>
>> We use intellij (mostly) in our team at work, and I use emacs (mostly) at
>> home.
>>
>> My current take on this endless debate:
>>
>> Intellij is ok.  For multi-language projects it's probably still the best
>> option - it does a great job with Java, JavaScript, html, css.  The clojure
>> support, with the leiningen plugin, works most of the time - with a few
>> hassles:
>> - jump to definition breaks sometimes, especially if you use "use" or
>> "require :all" - for some reason it can understand prefixed namespaces a
>> lot better.
>> - indenting isn't nearly as good as emacs
>> - it doesn't use a long-running repl for tasks like compilation, so you
>> have to wait for the clojure startup a lot; every t

Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Greg
> You submit patches to nonfree software?!

How do you make a screwy-eyed emoticon?

The plugin is free software. ST is nagware. Oh, and IntelliJ, as others have 
already pointed out, is also free software (community edition, which is great).

-Greg

--
Please do not email me anything that you are not comfortable also sharing with 
the NSA.

On Jul 25, 2013, at 10:58 PM, Cedric Greevey  wrote:

> You submit patches to nonfree software?!
> 
> 
> On Thu, Jul 25, 2013 at 10:54 PM, Greg  wrote:
>> 'jumping to a symbol's definition (and back again)?  Those didn't seem to be 
>> there last time, and I'd struggle to live without them on a project of any 
>> size.'
>> 
>> Besides paredit, this is absolutely the most important feature for me 
>> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one 
>> follows a stack-discipline, which is brilliant, and can even follow into 
>> dependency jars.
> 
> 
> Yes, Sublime Text (both 2 and 3) have the ability to jump to a symbol 
> (there's probably a way to switch to the previous view also, not sure what 
> the shortcut is for that).
> 
> ST3 has a built-in "Go to definition" menu item that ST2 doesn't have. I 
> haven't tried that yet with Clojure though because a bunch of awesome ST2 
> plugins haven't yet been ported to ST3.
> 
> ST2 has an awesome plugin (that just merged a patch I sent in today) called 
> Find Function Definition. It's a great hack for implementing "Go to 
> definition". To get it to work nicely with clojure, just copy/paste this into 
> your User Settings for that plugin:
> 
>   {
>   "definitions":
>   [
>   // the extra space at the end is important!
>   // otherwise foo will match a function def of foo-bar
>   "(defn $NAME$ ",
>   "(defn- $NAME$ ",
>   "(defn ^URL $NAME$ ",
>   "(defn ^String $NAME$ ",
>   "(defn ^File $NAME$ ",
>   "(defmacro $NAME$ ",
>   "class $NAME$ ", // java class
>   // but sometimes they will put a newline instead of a 
> space
>   // so if the above fail, try these:
>   "(defmacro $NAME$",
>   "(defn $NAME$",
>   "(defn- $NAME$",
>   "(defn ^URL $NAME$",
>   "(defn ^String $NAME$",
>   "(defn ^File $NAME$",
>   // if jumping becomes too slow, comment out the 
> following
>   "(def $NAME$ ",
>   "(defonce $NAME$ ",
>   "(declare $NAME$ "
>   ]
>   }
> 
> And then copy/paste this into your Syntax Specific User settings for Clojure 
> (open a .clj file, then find that menu item under Preferences > Settings — 
> More):
> 
>   {
>   "extensions": ["cljs", "clj", "cljx"],
>   "word_separators": "./\\()\"':,.;~@%^&|+=[]{}`~"
>   }
> 
> That might not be a perfect list of characters that act as word separators in 
> Clojure, but it has covered all the cases I've tried so far. Bind whatever 
> keyboard shortcut you want to the "go_to_function" command, and then after 
> positioning the caret over a function or var name, hit the shortcut. It will 
> search through all of files in the navbar on the left (i.e. your project) for 
> one of the above strings, replacing $NAME$ with the name of the symbol at the 
> caret.
> 
> Obviously this won't search within your mavin jar files, so what I've done is 
> simply extracted the source out of them for dependencies that I use and 
> placed those files within my project in a folder that's ignored by git. Thus, 
> "Find Function Definition" now works on just about every symbol I try it on! 
> :-)
> 
> I might make a blog post about my ST2 Clojure setup if there's any interest 
> in that.
> 
>> 4. On Sublime Text (ST)
>> 
>> 
>> Non-free.
> 
> 
> I'd say it's free for people who don't care about nag prompts. If you don't 
> want to support the developer, you can use all the features for as long as 
> you like at the cost of having to click "Cancel" at a nag prompt every so 
> often.
> 
> Cheers!
> Greg
> 
> --
> Please do not email me anything that you are not comfortable also sharing 
> with the NSA.
> 
> On Jul 25, 2013, at 8:32 PM, Gary Trakhman  wrote:
> 
>> 'jumping to a symbol's definition (and back again)?  Those didn't seem to be 
>> there last time, and I'd struggle to live without them on a project of any 
>> size.'
>> 
>> Besides paredit, this is absolutely the most important feature for me 
>> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one 
>> follows a stack-discipline, which is brilliant, and can even follow into 
>> dependency jars.
>> 
>> 
>> On Thu, Jul 25, 2013 at 8:27 PM, Korny Sietsma  wrote:
>> Indeed - I 

Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Greg
BTW, if anyone here has decent Python experience and wants to try out Sublime 
for Clojure development, the plugin I linked to could really be improved by 
supporting regular expressions... :-)

--
Please do not email me anything that you are not comfortable also sharing with 
the NSA.

On Jul 25, 2013, at 10:54 PM, Greg  wrote:

>> 'jumping to a symbol's definition (and back again)?  Those didn't seem to be 
>> there last time, and I'd struggle to live without them on a project of any 
>> size.'
>> 
>> Besides paredit, this is absolutely the most important feature for me 
>> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one 
>> follows a stack-discipline, which is brilliant, and can even follow into 
>> dependency jars.
> 
> 
> Yes, Sublime Text (both 2 and 3) have the ability to jump to a symbol 
> (there's probably a way to switch to the previous view also, not sure what 
> the shortcut is for that).
> 
> ST3 has a built-in "Go to definition" menu item that ST2 doesn't have. I 
> haven't tried that yet with Clojure though because a bunch of awesome ST2 
> plugins haven't yet been ported to ST3.
> 
> ST2 has an awesome plugin (that just merged a patch I sent in today) called 
> Find Function Definition. It's a great hack for implementing "Go to 
> definition". To get it to work nicely with clojure, just copy/paste this into 
> your User Settings for that plugin:
> 
>   {
>   "definitions":
>   [
>   // the extra space at the end is important!
>   // otherwise foo will match a function def of foo-bar
>   "(defn $NAME$ ",
>   "(defn- $NAME$ ",
>   "(defn ^URL $NAME$ ",
>   "(defn ^String $NAME$ ",
>   "(defn ^File $NAME$ ",
>   "(defmacro $NAME$ ",
>   "class $NAME$ ", // java class
>   // but sometimes they will put a newline instead of a 
> space
>   // so if the above fail, try these:
>   "(defmacro $NAME$",
>   "(defn $NAME$",
>   "(defn- $NAME$",
>   "(defn ^URL $NAME$",
>   "(defn ^String $NAME$",
>   "(defn ^File $NAME$",
>   // if jumping becomes too slow, comment out the 
> following
>   "(def $NAME$ ",
>   "(defonce $NAME$ ",
>   "(declare $NAME$ "
>   ]
>   }
> 
> And then copy/paste this into your Syntax Specific User settings for Clojure 
> (open a .clj file, then find that menu item under Preferences > Settings — 
> More):
> 
>   {
>   "extensions": ["cljs", "clj", "cljx"],
>   "word_separators": "./\\()\"':,.;~@%^&|+=[]{}`~"
>   }
> 
> That might not be a perfect list of characters that act as word separators in 
> Clojure, but it has covered all the cases I've tried so far. Bind whatever 
> keyboard shortcut you want to the "go_to_function" command, and then after 
> positioning the caret over a function or var name, hit the shortcut. It will 
> search through all of files in the navbar on the left (i.e. your project) for 
> one of the above strings, replacing $NAME$ with the name of the symbol at the 
> caret.
> 
> Obviously this won't search within your mavin jar files, so what I've done is 
> simply extracted the source out of them for dependencies that I use and 
> placed those files within my project in a folder that's ignored by git. Thus, 
> "Find Function Definition" now works on just about every symbol I try it on! 
> :-)
> 
> I might make a blog post about my ST2 Clojure setup if there's any interest 
> in that.
> 
>> 4. On Sublime Text (ST)
>> 
>> 
>> Non-free.
> 
> 
> I'd say it's free for people who don't care about nag prompts. If you don't 
> want to support the developer, you can use all the features for as long as 
> you like at the cost of having to click "Cancel" at a nag prompt every so 
> often.
> 
> Cheers!
> Greg
> 
> --
> Please do not email me anything that you are not comfortable also sharing 
> with the NSA.
> 
> On Jul 25, 2013, at 8:32 PM, Gary Trakhman  wrote:
> 
>> 'jumping to a symbol's definition (and back again)?  Those didn't seem to be 
>> there last time, and I'd struggle to live without them on a project of any 
>> size.'
>> 
>> Besides paredit, this is absolutely the most important feature for me 
>> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one 
>> follows a stack-discipline, which is brilliant, and can even follow into 
>> dependency jars.
>> 
>> 
>> On Thu, Jul 25, 2013 at 8:27 PM, Korny Sietsma  wrote:
>> Indeed - I was using a community-edition intellij setup the other day, and 
>> only realised when I went to edit some JavaScript, and found some features 
>> missing (like cod

Re: is intellij idea a good ide for clojure development?

2013-07-25 Thread Cedric Greevey
Someone makes free software plugins for nonfree software?!


On Thu, Jul 25, 2013 at 11:04 PM, Greg  wrote:

> You submit patches to nonfree software?!
>
>
> How do you make a screwy-eyed emoticon?
>
> The plugin is free software. ST is nagware. Oh, and IntelliJ, as others
> have already pointed out, is also free software (community edition, which
> is great).
>
> -Greg
>
> --
> Please do not email me anything that you are not comfortable also sharing
> with the NSA.
>
> On Jul 25, 2013, at 10:58 PM, Cedric Greevey  wrote:
>
> You submit patches to nonfree software?!
>
>
> On Thu, Jul 25, 2013 at 10:54 PM, Greg  wrote:
>
>> 'jumping to a symbol's definition (and back again)?  Those didn't seem
>> to be there last time, and I'd struggle to live without them on a project
>> of any size.'
>>
>> Besides paredit, this is absolutely the most important feature for me
>> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one
>> follows a stack-discipline, which is brilliant, and can even follow into
>> dependency jars.
>>
>>
>> Yes, Sublime Text (both 2 and 3) have the ability to jump to a symbol
>> (there's probably a way to switch to the previous view also, not sure what
>> the shortcut is for that).
>>
>> ST3 has a built-in "Go to definition" menu item that ST2 doesn't have. I
>> haven't tried that yet with Clojure though because a bunch of awesome ST2
>> plugins haven't yet been ported to ST3.
>>
>> ST2 has an awesome plugin (that just merged a 
>> patch 
>> I
>> sent in today) called Find Function 
>> Definition.
>> It's a great hack for implementing "Go to definition". To get it to work
>> nicely with clojure, just copy/paste this into your User Settings for that
>> plugin:
>>
>> {
>> "definitions":
>>  [
>> // the extra space at the end is important!
>>  // otherwise foo will match a function def of foo-bar
>> "(defn $NAME$ ",
>>  "(defn- $NAME$ ",
>> "(defn ^URL $NAME$ ",
>>  "(defn ^String $NAME$ ",
>> "(defn ^File $NAME$ ",
>>  "(defmacro $NAME$ ",
>> "class $NAME$ ", // java class
>>  // but sometimes they will put a newline instead of a space
>> // so if the above fail, try these:
>>  "(defmacro $NAME$",
>> "(defn $NAME$",
>>  "(defn- $NAME$",
>> "(defn ^URL $NAME$",
>>  "(defn ^String $NAME$",
>> "(defn ^File $NAME$",
>>  // if jumping becomes too slow, comment out the following
>> "(def $NAME$ ",
>>  "(defonce $NAME$ ",
>> "(declare $NAME$ "
>>  ]
>> }
>>
>> And then copy/paste this into your Syntax Specific User settings for
>> Clojure (open a .clj file, then find that menu item under Preferences >
>> Settings — More):
>>
>>  {
>> "extensions": ["cljs", "clj", "cljx"],
>>  "word_separators": "./\\()\"':,.;~@%^&|+=[]{}`~"
>> }
>>
>> That might not be a perfect list of characters that act as word
>> separators in Clojure, but it has covered all the cases I've tried so far.
>> Bind whatever keyboard shortcut you want to the "go_to_function" command,
>> and then after positioning the caret over a function or var name, hit the
>> shortcut. It will search through all of files in the navbar on the left
>> (i.e. your project) for one of the above strings, replacing $NAME$ with the
>> name of the symbol at the caret.
>>
>> Obviously this won't search within your mavin jar files, so what I've
>> done is simply extracted the source out of them for dependencies that I use
>> and placed those files within my project in a folder that's ignored by git.
>> Thus, "Find Function Definition" now works on just about every symbol I try
>> it on! :-)
>>
>> I might make a blog post about my ST2 Clojure setup if there's any
>> interest in that.
>>
>>  4. On Sublime Text (ST)
>>> 
>>>
>>
>> Non-free.
>>
>>
>> I'd say it's free for people who don't care about nag prompts. If you
>> don't want to support the developer, you can use all the features for as
>> long as you like at the cost of having to click "Cancel" at a nag prompt
>> every so often.
>>
>> Cheers!
>> Greg
>>
>> --
>> Please do not email me anything that you are not comfortable also sharing
>> with the NSA.
>>
>> On Jul 25, 2013, at 8:32 PM, Gary Trakhman 
>> wrote:
>>
>> 'jumping to a symbol's definition (and back again)?  Those didn't seem
>> to be there last time, and I'd struggle to live without them on a project
>> of any size.'
>>
>> Besides paredit, this is absolutely the most important feature for me
>> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one
>> follows a stack-discipline, which is brilliant, and can even follow into
>> dependency jars.
>>
>>
>> On Thu, Jul 25, 2013 at 8:27 PM, Korny Sietsma  wrote:
>>
>>> Indeed - I was using a community-edition intellij setup the other day,
>>> and only realised when I went to edit some JavaScript, and found some
>>> features missing (like code indenting).
>>>
>>> We use intellij (mostly) in our team a

Re: distinction of defrecord instances in sorted-set-by does not work

2013-07-25 Thread Timo Mihaljov
On 25.07.2013 11:19, gixxi wrote:
> Consider the following record definition, a respective record instance
> as well as a sorted tree set with a custom comparator sorting first the
> :visited property and the by the :dist property of the record.
> 
> (defrecord RDistance
>   [node dist visited])
> 
> (def d (RDistance. "foo" 1 0))
> 
> (def tree (sorted-set-by (comparator (juxt :visited :dist)) d))
> 
> 
> I expect conj d again to the set would change the set, but doing so in
> the repl results in the set containing two equal elements
> 
> user=> (conj tree d)
> #{#user.RDistance{:node "foo", :dist 1, :visited 0}
> #user.RDistance{:node "foo", :dist 1, :visited 0}}
> 
> What is the problem?

The argument to `comparator` should be a function of two arguments that
returns a boolean value:
http://clojuredocs.org/clojure_core/1.2.0/clojure.core/comparator

-- 
Timo

-- 
-- 
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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Jeff Heon
it happens all the time.

In a sense, it's not weirder than making free software for proprietary 
operating systems 8)

On Thursday, July 25, 2013 11:15:15 PM UTC-4, Cedric Greevey wrote:
>
> Someone makes free software plugins for nonfree software?!
>

-- 
-- 
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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Cedric Greevey
Seems a bit more at risk from "the vendor goes kaput", though. It's far
easier to imagine the vendor of Sublime Text going out of business than
either Apple or Microsoft doing likewise.

Of course, none of what I said applies to plugins that adhere to a standard
implemented by both free and nonfree hosts -- browser plugins that can work
with both Firefox and IE, say.



On Thu, Jul 25, 2013 at 11:48 PM, Jeff Heon  wrote:

> it happens all the time.
>
> In a sense, it's not weirder than making free software for proprietary
> operating systems 8)
>
>
> On Thursday, July 25, 2013 11:15:15 PM UTC-4, Cedric Greevey wrote:
>>
>> Someone makes free software plugins for nonfree software?!
>>
>  --
> --
> 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: map from list of maps

2013-07-25 Thread Timo Mihaljov
On 26.07.2013 00:34, Brian Craft wrote:
> Is there a better way to do this, making a map of certain keys from a
> list of maps?
> 
>> (apply hash-map (mapcat (fn [x] [(x :a) (x :b)]) [{:a "blah" :b "ack"}
> {:a "red" :b "blue"}]))
> {"red" "blue", "blah" "ack"}

Here's another way:

(let [xs [{:a "blah", :b "ack"} {:a "red", :b "blue"}]]
  (zipmap (map :a xs) (map :b xs)))
;= {"red" "blue", "blah" "ack"}

-- 
Timo

-- 
-- 
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: is intellij idea a good ide for clojure development?

2013-07-25 Thread Colin Fleming
Sure, it's not as weird as it sounds. Some of us would rather pay to have
reliable tools, but still want to customise them. There are several free
plugins for IntelliJ Ultimate, which as usual are people scratching their
own itch. See also the people who spend a huge amount of time customising
World of Warcraft and the like.


On 26 July 2013 15:15, Cedric Greevey  wrote:

> Someone makes free software plugins for nonfree software?!
>
>
> On Thu, Jul 25, 2013 at 11:04 PM, Greg  wrote:
>
>> You submit patches to nonfree software?!
>>
>>
>> How do you make a screwy-eyed emoticon?
>>
>> The plugin is free software. ST is nagware. Oh, and IntelliJ, as others
>> have already pointed out, is also free software (community edition, which
>> is great).
>>
>> -Greg
>>
>> --
>> Please do not email me anything that you are not comfortable also sharing
>> with the NSA.
>>
>> On Jul 25, 2013, at 10:58 PM, Cedric Greevey  wrote:
>>
>> You submit patches to nonfree software?!
>>
>>
>> On Thu, Jul 25, 2013 at 10:54 PM, Greg  wrote:
>>
>>> 'jumping to a symbol's definition (and back again)?  Those didn't seem
>>> to be there last time, and I'd struggle to live without them on a project
>>> of any size.'
>>>
>>> Besides paredit, this is absolutely the most important feature for me
>>> day-to-day.  Nothing will replace emacs unless it has that.  The emacs one
>>> follows a stack-discipline, which is brilliant, and can even follow into
>>> dependency jars.
>>>
>>>
>>> Yes, Sublime Text (both 2 and 3) have the ability to jump to a symbol
>>> (there's probably a way to switch to the previous view also, not sure what
>>> the shortcut is for that).
>>>
>>> ST3 has a built-in "Go to definition" menu item that ST2 doesn't have. I
>>> haven't tried that yet with Clojure though because a bunch of awesome ST2
>>> plugins haven't yet been ported to ST3.
>>>
>>> ST2 has an awesome plugin (that just merged a 
>>> patch
>>>  I
>>> sent in today) called Find Function 
>>> Definition.
>>> It's a great hack for implementing "Go to definition". To get it to work
>>> nicely with clojure, just copy/paste this into your User Settings for that
>>> plugin:
>>>
>>> {
>>> "definitions":
>>>  [
>>> // the extra space at the end is important!
>>>  // otherwise foo will match a function def of foo-bar
>>> "(defn $NAME$ ",
>>>  "(defn- $NAME$ ",
>>> "(defn ^URL $NAME$ ",
>>>  "(defn ^String $NAME$ ",
>>> "(defn ^File $NAME$ ",
>>>  "(defmacro $NAME$ ",
>>> "class $NAME$ ", // java class
>>>  // but sometimes they will put a newline instead of a space
>>> // so if the above fail, try these:
>>>  "(defmacro $NAME$",
>>> "(defn $NAME$",
>>>  "(defn- $NAME$",
>>> "(defn ^URL $NAME$",
>>>  "(defn ^String $NAME$",
>>> "(defn ^File $NAME$",
>>>  // if jumping becomes too slow, comment out the following
>>> "(def $NAME$ ",
>>>  "(defonce $NAME$ ",
>>> "(declare $NAME$ "
>>>  ]
>>> }
>>>
>>> And then copy/paste this into your Syntax Specific User settings for
>>> Clojure (open a .clj file, then find that menu item under Preferences >
>>> Settings — More):
>>>
>>>  {
>>> "extensions": ["cljs", "clj", "cljx"],
>>>  "word_separators": "./\\()\"':,.;~@%^&|+=[]{}`~"
>>> }
>>>
>>> That might not be a perfect list of characters that act as word
>>> separators in Clojure, but it has covered all the cases I've tried so far.
>>> Bind whatever keyboard shortcut you want to the "go_to_function" command,
>>> and then after positioning the caret over a function or var name, hit the
>>> shortcut. It will search through all of files in the navbar on the left
>>> (i.e. your project) for one of the above strings, replacing $NAME$ with the
>>> name of the symbol at the caret.
>>>
>>> Obviously this won't search within your mavin jar files, so what I've
>>> done is simply extracted the source out of them for dependencies that I use
>>> and placed those files within my project in a folder that's ignored by git.
>>> Thus, "Find Function Definition" now works on just about every symbol I try
>>> it on! :-)
>>>
>>> I might make a blog post about my ST2 Clojure setup if there's any
>>> interest in that.
>>>
>>>  4. On Sublime Text (ST)
 

>>>
>>> Non-free.
>>>
>>>
>>> I'd say it's free for people who don't care about nag prompts. If you
>>> don't want to support the developer, you can use all the features for as
>>> long as you like at the cost of having to click "Cancel" at a nag prompt
>>> every so often.
>>>
>>> Cheers!
>>> Greg
>>>
>>> --
>>> Please do not email me anything that you are not comfortable also
>>> sharing with the NSA.
>>>
>>> On Jul 25, 2013, at 8:32 PM, Gary Trakhman 
>>> wrote:
>>>
>>> 'jumping to a symbol's definition (and back again)?  Those didn't seem
>>> to be there last time, and I'd struggle to live without them on a project
>>> of any size.'
>>>
>>> Besides paredit, this is absolutely th

Re: [ANN] verily, non-magic testing lib

2013-07-25 Thread Mayank Jain
Thanks for sharing.
Will check it out.


On Fri, Jul 26, 2013 at 1:17 AM, Steven Degutis  wrote:

> - Renamed project to "Nevermore"
> - Moved repo to https://github.com/evanescence/nevermore
> - Test functions are required to return all assertions as a seq
> - Added "around-each" fixtures
>
> The way fixtures and test-suites work (and work together) makes me think
> of Datomic.
>
> -Steven
>
>
> On Wed, Jul 24, 2013 at 10:22 AM, Steven Degutis wrote:
>
>> Also, I came up with a solution for simple around-each fixtures. It would
>> use a declarative style just like (defn ^:test ...), but it would be (defn
>> ^:around-each ...). And its metadata would contain a matcher-fn that
>> matches against a test-fn's metadata.
>>
>> This way you could define a bunch of tests marked ^:db, and have an
>> around-each fixture with :db as its matcher.
>>
>> The de-coupling means you don't need grouping or nesting to have multiple
>> fixtures applied to multiple tests. It also means you can specify both
>> tests and fixtures on a per-feature level.
>>
>> Unfortunately this solution does't carry over to around-all fixtures,
>> because if several tests belong to multiple around-all fixtures, and not
>> the same ones either, they would have to be run multiple times.
>>
>>
>> On Wed, Jul 24, 2013 at 10:17 AM, Steven Degutis wrote:
>>
>>> The vast majority of my tests look like: do some setup, do some action,
>>> make a half-dozen assertions. Almost always in that order.
>>>
>>> The only reason I can think of that I would need to have assertions in
>>> the middle is if I plan to do more setup and action and assertions
>>> afterwards.
>>>
>>> And in that case, I'm really just writing a second test that should
>>> probably be its own test-fn. And if it relies on the setup from the first
>>> test, I should probably just extract it out into a function with common
>>> setup.
>>>
>>> I think I'm almost sold on this idea now.
>>>
>>>
>>> On Wed, Jul 24, 2013 at 10:07 AM, John D. Hume >> > wrote:
>>>
 I've never tried it, but I like the idea of test fns returning their
 results.

 On Jul 24, 2013 8:30 AM, "Steven Degutis"  wrote:
 >
 > Also, I've been considering having a non-side-effecty way of
 returning test results. What do people think? It would get rid of the last
 bit of magic in the lib.
 >
 >
 > ;; current style (side-effecty)
 >
 > (defn test-1 []
 >   (let [foo (get-foo)]
 > (expect empty? foo)
 > (expect awesome? foo)))
 >
 > ;; proposed style (more functional)
 >
 > (defn test-1 []
 >   (let [foo (get-foo)]
 > [(expect empty? foo)
 >  (expect awesome? foo)]))
 >

 --
 --
 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.
>
>
>



-- 
Regards,
Mayank.

-- 
-- 
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.