[ANN] manners 0.2.0 released

2013-11-27 Thread Ryan McGowan
A validation library built on using predicates properly.

I just released a new version of my take on a simple, general purpose 
validation library.  Version 0.2.0 includes a chaining feature very much 
like (and inspired by) the chain function in 
vlad, 
another validation library. For the remote few who are familiar with 
manners, to implement this the definition of a manner has changed slightly 
to allow one or more predicate message pairs (previously only one was 
allowed).

https://github.com/RyanMcG/manners

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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] fsrun : file change notifier high order lein task

2013-11-27 Thread Mimmo Cosenza
in the mean time you can clone the repo, cd into it and

lein install # from the terminal

mimmo

On Nov 27, 2013, at 8:00 AM, Deniz Kurucu  wrote:

> Ah yes, sorry it is not on clojars yet. Wanted some feedback before pushing 
> it there :)
> 
> 
> On Wed, Nov 27, 2013 at 2:26 AM, Plinio Balduino  wrote:
> Excellent, Deniz
> 
> But I'm getting an error when I try to run for the first time:
> 
> Could not find artifact fsrun:fsrun:jar:0.1.0 in central 
> (http://repo1.maven.org/maven2/)
> Could not find artifact fsrun:fsrun:jar:0.1.0 in clojars 
> (https://clojars.org/repo/)
> This could be due to a typo in :dependencies or network issues.
> 
> Part of my project.clj:
> 
> (defproject blabla "0.1.0-SNAPSHOT"
>   ; licenses, description, url
>   :dependencies [[org.clojure/clojure "1.5.1"]]
>   :plugins [[fsrun "0.1.0"]]
>   ; etc etc etc
> )
> 
> Am I doing something wrong? My network is OK and I'm not using any proxy.
> 
> Thank you
> 
> Plínio
> 
> On Monday, November 25, 2013 5:26:05 AM UTC-2, Deniz Kurucu wrote:
> fsrun is a simple high order lein task that run some other tasks when a file 
> modification occurs. Originally, i wanted to run my clojurescript tests 
> automatically and created fsrun. It is my first clojure project, so please 
> keep that in mind :)
> 
> github : https://github.com/makkalot/fsrun
> 
> Thanks.
> 
> -- 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and 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.



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: [ANN] fsrun : file change notifier high order lein task

2013-11-27 Thread Deniz Kurucu
Thanks!


On Wed, Nov 27, 2013 at 10:31 AM, Mimmo Cosenza wrote:

> in the mean time you can clone the repo, cd into it and
>
> lein install # from the terminal
>
> mimmo
>
> On Nov 27, 2013, at 8:00 AM, Deniz Kurucu  wrote:
>
> Ah yes, sorry it is not on clojars yet. Wanted some feedback before
> pushing it there :)
>
>
> On Wed, Nov 27, 2013 at 2:26 AM, Plinio Balduino wrote:
>
>> Excellent, Deniz
>>
>> But I'm getting an error when I try to run for the first time:
>>
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in central (
>> http://repo1.maven.org/maven2/)
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in clojars (
>> https://clojars.org/repo/)
>> This could be due to a typo in :dependencies or network issues.
>>
>> Part of my project.clj:
>>
>> (defproject blabla "0.1.0-SNAPSHOT"
>>   ; licenses, description, url
>>   :dependencies [[org.clojure/clojure "1.5.1"]]
>>   :plugins [[fsrun "0.1.0"]]
>>   ; etc etc etc
>> )
>>
>> Am I doing something wrong? My network is OK and I'm not using any proxy.
>>
>> Thank you
>>
>> Plínio
>>
>> On Monday, November 25, 2013 5:26:05 AM UTC-2, Deniz Kurucu wrote:
>>>
>>> fsrun is a simple high order lein task that run some other tasks when a
>>> file modification occurs. Originally, i wanted to run my clojurescript
>>> tests automatically and created fsrun. It is my first clojure project, so
>>> please keep that in mind :)
>>>
>>> github : https://github.com/makkalot/fsrun
>>>
>>> Thanks.
>>>
>>
>> --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and 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: Working with zippers and trees

2013-11-27 Thread Martin Clausen
Ah, sorry. You could use a map-tree instead. It is a bit more verbose,
but I believe it does what you want.

(defn map-tree [root]
(z/zipper
 map?
 #(seq (:cs %))
 (fn [node children]
  (assoc node :cs (and children (apply vector children
 root))

(let [mt  (map-tree {:v 1 :cs [{:v 2} {:v 3 :cs [{:v 4} {:v 5}]}]})]
(loop [loc mt]
  (if (z/end? loc)
(z/root loc)
(recur (z/next (let [n  (:v (z/node loc))]
 (if (and (integer? n) (odd? n))
   (z/replace loc {:v(* 2 (:v (z/node loc))) :cs
(z/children loc)})
   loc)))

On Wed, Nov 27, 2013 at 8:35 AM, dabd  wrote:
> The problem is that your vector-zip is not representing the tree I pictured.
>
>
> On Wednesday, November 27, 2013 6:26:12 AM UTC, martin_clausen wrote:
>>
>> Yes, for instance like this:
>>
>> (let [vz (z/vector-zip [1 [2] [3 [4 5]]])]
>> (loop [loc vz]
>>   (if (z/end? loc)
>> (z/root loc)
>> (recur (z/next (if (and (integer? (z/node loc)) (odd? (z/node
>> loc)))
>>(z/replace loc (* 2 (z/node loc)))
>>loc))
>>
>> Which lets you avoid writing half the infrastructure yourself.
>>
>> On Wed, Nov 27, 2013 at 6:19 AM, dabd  wrote:
>> > I'm not sure what you mean by not being able to provide a meaningful
>> > branch?.
>> >
>> > I would like to represent a tree such a this:
>> >
>> >   1
>> >
>> >   / \
>> >  2   3
>> > / \
>> >4   5
>> >
>> >
>> > How can I achieve this using zippers?
>> >
>> > On Wednesday, November 27, 2013 4:30:15 AM UTC, martin_clausen wrote:
>> >>
>> >> To use the zipper library you have to be able to provide branch?
>> >> children
>> >> and make-node functions that apply to your data structure.
>> >>
>> >> I don't see a way to provide a meaningful branch? or children function
>> >> for
>> >> the structure you describe. Vector? will not work as branch? as it will
>> >> not
>> >> return true if passed the first element in a vector, and next will not
>> >> work
>> >> as it will not return the children if passed the first element of a
>> >> vector.
>> >>
>> >> It looks to me like you don't get past the first element because the
>> >> call
>> >> to z/next fails both (and (branch? loc) (down loc)), (right loc) and
>> >> (up
>> >> loc) and therefore marks the first element as the end of the of the
>> >> structure.
>> >>
>> >> Is there a compelling reason for not using the vector-zip structure for
>> >> your specific use-case?
>> >>
>> >>
>> >> On Wednesday, November 27, 2013 2:59:40 AM UTC+1, dabd wrote:
>> >>>
>> >>> The built-in vector-zip will build a tree with a different structure
>> >>> than
>> >>> what I need.
>> >>> I want build a tree as described in the first post: the node value is
>> >>> the
>> >>> first element of the vector and the children the rest of the elements.
>> >>>
>> >>>
>> >>> zipper.core>  (loop [loc (tree-zipper [1 2 [3 4 5]])]
>> >>> (if (z/end? loc)
>> >>>  (z/root loc)
>> >>>  (do (println (z/node loc))
>> >>>  (recur (z/next loc)
>> >>> [1 2 [3 4 5]]
>> >>>
>> >>> 2
>> >>>
>> >>> [3 4 5]
>> >>>
>> >>> 4
>> >>>
>> >>> 5
>> >>>
>> >>> [1 2 [3 4 5]]
>> >>> zipper.core>  (loop [loc (z/vector-zip [1 2 [3 4 5]])]
>> >>> (if (z/end? loc)
>> >>>  (z/root loc)
>> >>>  (do (println (z/node loc))
>> >>>  (recur (z/next loc)
>> >>> [1 2 [3 4 5]]
>> >>>
>> >>> 1
>> >>>
>> >>> 2
>> >>>
>> >>> [3 4 5]
>> >>>
>> >>> 3
>> >>>
>> >>> 4
>> >>>
>> >>> 5
>> >>>
>> >>> [1 2 [3 4 5]]
>> >>>
>> >>>
>> >>> On Tuesday, November 26, 2013 11:56:45 PM UTC, martin_clausen wrote:
>> 
>>  With a nested vector tree you can use the built in vector-zip
>>  function
>>  to create your zipper.
>> 
>>  As to the editing, the source code contains a very similar use-case,
>>  which can be adapted to something like the following:
>> 
>>  (let [vz (vector-zip [1 2 [3 4 5]])]
>>  (loop [loc vz]
>>    (if (end? loc)
>>  (root loc)
>>  (recur (next (if (and (integer? (node loc)) (odd? (node
>>  loc)))
>> (replace loc (* 2 (node loc)))
>> loc))
>> 
>>  > [2 2 [6 4 10]]
>> 
>>  On Tuesday, November 26, 2013 10:50:34 PM UTC+1, dabd wrote:
>> >
>> > I am trying to work with a tree representation using vectors where
>> > the
>> > first element is the node value and the rest are the children as
>> > suggested
>> > here:
>> >
>> >
>> > http://grokbase.com/t/gg/clojure/12afy2cz9p/how-to-represent-trees-for-use-with-zippers
>> >
>> > However I am having trouble using clojure.zip/edit to change a
>> > simple
>> > tree. I'd like to multiply the odd numbers by 2 in this case.
>> > https://gis

Releasing Static Prime: A static website editor and server written in Clojure and ClojureScript.

2013-11-27 Thread Kelker Ryan
Static PrimeA static website editor and server written in Clojure and ClojureScript. Visual Documentation Supportsin browser mouse only layout arrangementdynamic template loading for static filesstatic site indexmultiple adminshtml and markdown editingwrite, edit, delete pages



-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and 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] Optimus - a Ring middleware for frontend performance optimization.

2013-11-27 Thread Magnar Sveen
I think it would be best if the author chimed in, but it looks like there 
has been done some good work on optimizing the development workflow when 
you're working with languages that need to be transpiled. There isn't much 
front-end optimization, but looks like it's on the todo-list. There's also 
the slightly misguided inclusion of gzip at this point in the stack. You 
want gzip for all your text content - including dynamically generated html 
and json - so adding it to the static assets here would either be not 
enough, or redundant work.

On Tuesday, November 26, 2013 1:34:35 PM UTC+1, Stefan Kamphausen wrote:
>
> Hi,
>
> I'd be very interested in learning, how Twixt[1] compares to Optimus and 
> the other solutions cited.
>
> [1] https://github.com/AvisoNovate/twixt/
>
>
> Regards,
> stefan
>
>

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


To refer an auto-gensymed symbol in an internal unquoted expression?

2013-11-27 Thread Yoshinori Kohyama
Hello clojurians.

Someone, please teach me how I can refer an auto-gensymed symbol of an 
external syntax-quoted expression from an internal unquoted expression?

A simplified example:

user=> ((fn [d] `(fn [a#] ~(if d `(drop ~d a#) `a#))) 3)
(clojure.core/fn [a__**__auto__] (clojure.core/drop 3 a__**
__auto__))

user=> ((fn [d] `(fn [a#] ~(if d `(drop ~d a#) `a#))) nil)
(clojure.core/fn [a__**__auto__] a__**__auto__)

But what I want is an expression generating
  (clojure.core/fn [a__**__auto__] (clojure.core/drop 3 a__**
__auto__))
if 'd' is 3, and
  (clojure.core/fn [a__**__auto__] a__**__auto__)
if 'd' is nil.

I know that I can do this with (fn [d] (if d `(fn [a#] (drop ~d a#)) `(fn 
[a#] a#))).
But this is a simplified example and I need the outermost syntax-quote for 
some reasons in my real situation.
What I want is an expression which I can use instead of `(drop ~d a#) and 
`a# in the first expression in the example above.

Thank you in advance.

Regards,
Yoshinori Kohyama

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: To refer an auto-gensymed symbol in an internal unquoted expression?

2013-11-27 Thread Meikel Brandmeyer (kotarak)
Hi,

you want gensym directly:

(fn [d] (let [a gensym("a")] `(fn [~a] ~(if d `(drop ~d ~a) a

Kind regards
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: [ClojureScript] [ANN] cljs-start 0.0.5

2013-11-27 Thread test Comptetest
On Monday, November 25, 2013 7:59:00 PM UTC+1, Magomimmo wrote:
> what are:
> 
> 
> - you operating system
> - java virtual machine (java -version # from the terminal)
> - leiningen version (lein version # from the terminal)
> 
> 
> Have you tried to create a project with others lein-template? e.g. 
> 
> 
> https://github.com/konrad-garus/cljs-kickoff
>  

Not OP here, but I have exactly the same problem :

$ lein new cljs-start yourlibname
Generating fresh 'lein new' cljs-start project.
Template resource 'leiningen/new/cljs_start/README.MD' not found.

I tried your previous recommendations (rm -rf ~/.m2/repository/cljs-start, git 
clone https://github.com/magomimmo/cljs-start.git) t no avail.

$ uname -a
Linux lightning 3.11-2-amd64 #1 SMP Debian 3.11.8-1 (2013-11-13) x86_64 
GNU/Linux

$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

$ lein version
Leiningen 2.1.1 on Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM

Cheers,

B.

PS: Thank you *so much* for your tutorials Modern ClojureScript !  

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: [ClojureScript] [ANN] cljs-start 0.0.5

2013-11-27 Thread mynomoto
Then the solution should be the same.

As Magomimmo wrote:

you need to upgrade to leiningen >= 2.2.0

lein upgrade # from the terminal



On Wednesday, November 27, 2013 8:40:24 AM UTC-2, bernardH wrote:
>
> On Monday, November 25, 2013 7:59:00 PM UTC+1, Magomimmo wrote: 
> > what are: 
> > 
> > 
> > - you operating system 
> > - java virtual machine (java -version # from the terminal) 
> > - leiningen version (lein version # from the terminal) 
> > 
> > 
> > Have you tried to create a project with others lein-template? e.g.  
> > 
> > 
> > https://github.com/konrad-garus/cljs-kickoff 
> >   
>
> Not OP here, but I have exactly the same problem : 
>
> $ lein new cljs-start yourlibname 
> Generating fresh 'lein new' cljs-start project. 
> Template resource 'leiningen/new/cljs_start/README.MD' not found. 
>
> I tried your previous recommendations (rm -rf ~/.m2/repository/cljs-start, 
> git clone https://github.com/magomimmo/cljs-start.git) t no avail. 
>
> $ uname -a 
> Linux lightning 3.11-2-amd64 #1 SMP Debian 3.11.8-1 (2013-11-13) x86_64 
> GNU/Linux 
>
> $ java -version 
> java version "1.7.0_45" 
> Java(TM) SE Runtime Environment (build 1.7.0_45-b18) 
> Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) 
>
> $ lein version 
> Leiningen 2.1.1 on Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM 
>
> Cheers, 
>
> B. 
>
> PS: Thank you *so much* for your tutorials Modern ClojureScript !   
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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] fsrun : file change notifier high order lein task

2013-11-27 Thread James Reeves
It'll be easier to get feedback if you push it to Clojars. I want to try it
out, but not enough to clone the repo and manually install it.

Since it's only version 0.1.0, it's not as if it's expected to be flawless.

- James


On 27 November 2013 07:00, Deniz Kurucu  wrote:

> Ah yes, sorry it is not on clojars yet. Wanted some feedback before
> pushing it there :)
>
>
> On Wed, Nov 27, 2013 at 2:26 AM, Plinio Balduino wrote:
>
>> Excellent, Deniz
>>
>> But I'm getting an error when I try to run for the first time:
>>
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in central (
>> http://repo1.maven.org/maven2/)
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in clojars (
>> https://clojars.org/repo/)
>> This could be due to a typo in :dependencies or network issues.
>>
>> Part of my project.clj:
>>
>> (defproject blabla "0.1.0-SNAPSHOT"
>>   ; licenses, description, url
>>   :dependencies [[org.clojure/clojure "1.5.1"]]
>>   :plugins [[fsrun "0.1.0"]]
>>   ; etc etc etc
>> )
>>
>> Am I doing something wrong? My network is OK and I'm not using any proxy.
>>
>> Thank you
>>
>> Plínio
>>
>> On Monday, November 25, 2013 5:26:05 AM UTC-2, Deniz Kurucu wrote:
>>>
>>> fsrun is a simple high order lein task that run some other tasks when a
>>> file modification occurs. Originally, i wanted to run my clojurescript
>>> tests automatically and created fsrun. It is my first clojure project, so
>>> please keep that in mind :)
>>>
>>> github : https://github.com/makkalot/fsrun
>>>
>>> Thanks.
>>>
>>  --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and 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: [ANN] Optimus - a Ring middleware for frontend performance optimization.

2013-11-27 Thread Stefan Kamphausen


On Wednesday, November 27, 2013 11:11:27 AM UTC+1, Magnar Sveen wrote:
>
> I think it would be best if the author chimed in,
>

me too
 

> but it looks like there has been done some good work on optimizing the 
> development workflow when you're working with languages that need to be 
> transpiled. There isn't much front-end optimization, but looks like it's on 
> the todo-list. There's also the slightly misguided inclusion of gzip at 
> this point in the stack. You want gzip for all your text content - 
> including dynamically generated html and json - so adding it to the static 
> assets here would either be not enough, or redundant work.
>
>
Howard has quite some experience with this and I'd expect he put a great 
deal of that into the new library. :-)

Best,
stefan

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: [ClojureScript] [ANN] cljs-start 0.0.5

2013-11-27 Thread Mimmo Cosenza
confirm. 
mimmo

On Nov 27, 2013, at 11:56 AM, mynomoto  wrote:

> Then the solution should be the same.
> 
> As Magomimmo wrote:
> 
> you need to upgrade to leiningen >= 2.2.0
> 
> lein upgrade # from the terminal
> 
> 
> 
> On Wednesday, November 27, 2013 8:40:24 AM UTC-2, bernardH wrote:
> On Monday, November 25, 2013 7:59:00 PM UTC+1, Magomimmo wrote: 
> > what are: 
> > 
> > 
> > - you operating system 
> > - java virtual machine (java -version # from the terminal) 
> > - leiningen version (lein version # from the terminal) 
> > 
> > 
> > Have you tried to create a project with others lein-template? e.g.  
> > 
> > 
> > https://github.com/konrad-garus/cljs-kickoff 
> >   
> 
> Not OP here, but I have exactly the same problem : 
> 
> $ lein new cljs-start yourlibname 
> Generating fresh 'lein new' cljs-start project. 
> Template resource 'leiningen/new/cljs_start/README.MD' not found. 
> 
> I tried your previous recommendations (rm -rf ~/.m2/repository/cljs-start, 
> git clone https://github.com/magomimmo/cljs-start.git) t no avail. 
> 
> $ uname -a 
> Linux lightning 3.11-2-amd64 #1 SMP Debian 3.11.8-1 (2013-11-13) x86_64 
> GNU/Linux 
> 
> $ java -version 
> java version "1.7.0_45" 
> Java(TM) SE Runtime Environment (build 1.7.0_45-b18) 
> Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) 
> 
> $ lein version 
> Leiningen 2.1.1 on Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM 
> 
> Cheers, 
> 
> B. 
> 
> PS: Thank you *so much* for your tutorials Modern ClojureScript !   
> 
> 
> -- 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and 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: [ClojureScript] [ANN] cljs-start 0.0.5

2013-11-27 Thread Mimmo Cosenza
I should submit an issue to lein, because even if I set the min-lein-version to 
2.2.0 in the project.clj the eerro message you receive when you run from a lein 
version < 2.2.0 is misleading.

mimmo

On Nov 27, 2013, at 11:56 AM, mynomoto  wrote:

> Then the solution should be the same.
> 
> As Magomimmo wrote:
> 
> you need to upgrade to leiningen >= 2.2.0
> 
> lein upgrade # from the terminal
> 
> 
> 
> On Wednesday, November 27, 2013 8:40:24 AM UTC-2, bernardH wrote:
> On Monday, November 25, 2013 7:59:00 PM UTC+1, Magomimmo wrote: 
> > what are: 
> > 
> > 
> > - you operating system 
> > - java virtual machine (java -version # from the terminal) 
> > - leiningen version (lein version # from the terminal) 
> > 
> > 
> > Have you tried to create a project with others lein-template? e.g.  
> > 
> > 
> > https://github.com/konrad-garus/cljs-kickoff 
> >   
> 
> Not OP here, but I have exactly the same problem : 
> 
> $ lein new cljs-start yourlibname 
> Generating fresh 'lein new' cljs-start project. 
> Template resource 'leiningen/new/cljs_start/README.MD' not found. 
> 
> I tried your previous recommendations (rm -rf ~/.m2/repository/cljs-start, 
> git clone https://github.com/magomimmo/cljs-start.git) t no avail. 
> 
> $ uname -a 
> Linux lightning 3.11-2-amd64 #1 SMP Debian 3.11.8-1 (2013-11-13) x86_64 
> GNU/Linux 
> 
> $ java -version 
> java version "1.7.0_45" 
> Java(TM) SE Runtime Environment (build 1.7.0_45-b18) 
> Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) 
> 
> $ lein version 
> Leiningen 2.1.1 on Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM 
> 
> Cheers, 
> 
> B. 
> 
> PS: Thank you *so much* for your tutorials Modern ClojureScript !   
> 
> 
> -- 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

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


Re: [ANN] fsrun : file change notifier high order lein task

2013-11-27 Thread Mimmo Cosenza
Deniz,
you need to install gpg to be able to push a release to clojars.

here is the lein documentation 

When deploying a release that's not a snapshot, Leiningen will attempt to sign 
it using GPG to prove your authorship of the release. See the deploy guide. for 
details of how to set that up. The deploy guide includes instructions for 
deploying to other repositories as well.

and here is the deploy guide

https://github.com/technomancy/leiningen/blob/stable/doc/DEPLOY.md#gpg

mimmo

On Nov 27, 2013, at 12:25 PM, James Reeves  wrote:

> It'll be easier to get feedback if you push it to Clojars. I want to try it 
> out, but not enough to clone the repo and manually install it.
> 
> Since it's only version 0.1.0, it's not as if it's expected to be flawless.
> 
> - James
> 
> 
> On 27 November 2013 07:00, Deniz Kurucu  wrote:
> Ah yes, sorry it is not on clojars yet. Wanted some feedback before pushing 
> it there :)
> 
> 
> On Wed, Nov 27, 2013 at 2:26 AM, Plinio Balduino  wrote:
> Excellent, Deniz
> 
> But I'm getting an error when I try to run for the first time:
> 
> Could not find artifact fsrun:fsrun:jar:0.1.0 in central 
> (http://repo1.maven.org/maven2/)
> Could not find artifact fsrun:fsrun:jar:0.1.0 in clojars 
> (https://clojars.org/repo/)
> This could be due to a typo in :dependencies or network issues.
> 
> Part of my project.clj:
> 
> (defproject blabla "0.1.0-SNAPSHOT"
>   ; licenses, description, url
>   :dependencies [[org.clojure/clojure "1.5.1"]]
>   :plugins [[fsrun "0.1.0"]]
>   ; etc etc etc
> )
> 
> Am I doing something wrong? My network is OK and I'm not using any proxy.
> 
> Thank you
> 
> Plínio
> 
> On Monday, November 25, 2013 5:26:05 AM UTC-2, Deniz Kurucu wrote:
> fsrun is a simple high order lein task that run some other tasks when a file 
> modification occurs. Originally, i wanted to run my clojurescript tests 
> automatically and created fsrun. It is my first clojure project, so please 
> keep that in mind :)
> 
> github : https://github.com/makkalot/fsrun
> 
> Thanks.
> 
> -- 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and 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.

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: To refer an auto-gensymed symbol in an internal unquoted expression?

2013-11-27 Thread Yoshinori Kohyama
Meikel,

I see! Thanks a lot.

Best regards,
Yoshinori Kohyama

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: Working with zippers and trees

2013-11-27 Thread dabd
Your map-tree is exactly like an xml-zip.
The problem I find with it is that now branch? also returns true for leaf 
nodes:

(def m (map-tree {:v 1 :cs [{:v 2} {:v 3 :cs [{:v 4} {:v 5}]}]}))

> (-> m z/down)
[{:v 2} {:l [], :pnodes [{:v 1, :cs [{:v 2} {:v 3, :cs [{:v 4} {:v 5}]}]}], 
:ppath nil, :r ({:v 3, :cs [{:v 4} {:v 5}]})}]

> (-> m z/down z/branch?)
true

(def t (tree-zip [1 2 [3 4 5]]))

> (-> t z/down z/branch?)
false

On Wednesday, November 27, 2013 9:26:53 AM UTC, martin_clausen wrote:
>
> Ah, sorry. You could use a map-tree instead. It is a bit more verbose, 
> but I believe it does what you want. 
>
> (defn map-tree [root] 
> (z/zipper 
>  map? 
>  #(seq (:cs %)) 
>  (fn [node children] 
>   (assoc node :cs (and children (apply vector children 
>  root)) 
>
> (let [mt  (map-tree {:v 1 :cs [{:v 2} {:v 3 :cs [{:v 4} {:v 5}]}]})] 
> (loop [loc mt] 
>   (if (z/end? loc) 
> (z/root loc) 
> (recur (z/next (let [n  (:v (z/node loc))] 
>  (if (and (integer? n) (odd? n)) 
>(z/replace loc {:v(* 2 (:v (z/node loc))) :cs 
> (z/children loc)}) 
>loc))) 
>
> On Wed, Nov 27, 2013 at 8:35 AM, dabd > 
> wrote: 
> > The problem is that your vector-zip is not representing the tree I 
> pictured. 
> > 
> > 
> > On Wednesday, November 27, 2013 6:26:12 AM UTC, martin_clausen wrote: 
> >> 
> >> Yes, for instance like this: 
> >> 
> >> (let [vz (z/vector-zip [1 [2] [3 [4 5]]])] 
> >> (loop [loc vz] 
> >>   (if (z/end? loc) 
> >> (z/root loc) 
> >> (recur (z/next (if (and (integer? (z/node loc)) (odd? 
> (z/node 
> >> loc))) 
> >>(z/replace loc (* 2 (z/node loc))) 
> >>loc)) 
> >> 
> >> Which lets you avoid writing half the infrastructure yourself. 
> >> 
> >> On Wed, Nov 27, 2013 at 6:19 AM, dabd  wrote: 
> >> > I'm not sure what you mean by not being able to provide a meaningful 
> >> > branch?. 
> >> > 
> >> > I would like to represent a tree such a this: 
> >> > 
> >> >   1 
> >> > 
> >> >   / \ 
> >> >  2   3 
> >> > / \ 
> >> >4   5 
> >> > 
> >> > 
> >> > How can I achieve this using zippers? 
> >> > 
> >> > On Wednesday, November 27, 2013 4:30:15 AM UTC, martin_clausen wrote: 
> >> >> 
> >> >> To use the zipper library you have to be able to provide branch? 
> >> >> children 
> >> >> and make-node functions that apply to your data structure. 
> >> >> 
> >> >> I don't see a way to provide a meaningful branch? or children 
> function 
> >> >> for 
> >> >> the structure you describe. Vector? will not work as branch? as it 
> will 
> >> >> not 
> >> >> return true if passed the first element in a vector, and next will 
> not 
> >> >> work 
> >> >> as it will not return the children if passed the first element of a 
> >> >> vector. 
> >> >> 
> >> >> It looks to me like you don't get past the first element because the 
> >> >> call 
> >> >> to z/next fails both (and (branch? loc) (down loc)), (right loc) and 
> >> >> (up 
> >> >> loc) and therefore marks the first element as the end of the of the 
> >> >> structure. 
> >> >> 
> >> >> Is there a compelling reason for not using the vector-zip structure 
> for 
> >> >> your specific use-case? 
> >> >> 
> >> >> 
> >> >> On Wednesday, November 27, 2013 2:59:40 AM UTC+1, dabd wrote: 
> >> >>> 
> >> >>> The built-in vector-zip will build a tree with a different 
> structure 
> >> >>> than 
> >> >>> what I need. 
> >> >>> I want build a tree as described in the first post: the node value 
> is 
> >> >>> the 
> >> >>> first element of the vector and the children the rest of the 
> elements. 
> >> >>> 
> >> >>> 
> >> >>> zipper.core>  (loop [loc (tree-zipper [1 2 [3 4 5]])] 
> >> >>> (if (z/end? loc) 
> >> >>>  (z/root loc) 
> >> >>>  (do (println (z/node loc)) 
> >> >>>  (recur (z/next loc) 
> >> >>> [1 2 [3 4 5]] 
> >> >>> 
> >> >>> 2 
> >> >>> 
> >> >>> [3 4 5] 
> >> >>> 
> >> >>> 4 
> >> >>> 
> >> >>> 5 
> >> >>> 
> >> >>> [1 2 [3 4 5]] 
> >> >>> zipper.core>  (loop [loc (z/vector-zip [1 2 [3 4 5]])] 
> >> >>> (if (z/end? loc) 
> >> >>>  (z/root loc) 
> >> >>>  (do (println (z/node loc)) 
> >> >>>  (recur (z/next loc) 
> >> >>> [1 2 [3 4 5]] 
> >> >>> 
> >> >>> 1 
> >> >>> 
> >> >>> 2 
> >> >>> 
> >> >>> [3 4 5] 
> >> >>> 
> >> >>> 3 
> >> >>> 
> >> >>> 4 
> >> >>> 
> >> >>> 5 
> >> >>> 
> >> >>> [1 2 [3 4 5]] 
> >> >>> 
> >> >>> 
> >> >>> On Tuesday, November 26, 2013 11:56:45 PM UTC, martin_clausen 
> wrote: 
> >>  
> >>  With a nested vector tree you can use the built in vector-zip 
> >>  function 
> >>  to create your zipper. 
> >>  
> >>  As to the editing, the source code contains a very similar 
> use-case, 
> >>  which can be adapted to something like the following: 
> >>

Re: ClojureCLR 1.5.1 compiler problem

2013-11-27 Thread Brian Barnes

>
> It worked fine for me as well for a long time. Then I started playing with 
>> the vsClojure extension, and added a build task extension to compile 
>> projects internally without using Clojure.Compile.exe (for better control) 
>> that consists of code almost identical to the code in the 'main' function 
>> of Clojure.Compile, and that's when I started seeing this. Perhaps I'm 
>> missing some extra bit of initialization?
>>
>  
Brian.
 

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


Breaking out of doseq

2013-11-27 Thread Jonathon McKitrick
I'm iterating a map (regex -> function) and I'd like to call FUNCTION with 
the result of re-groups after a match for REGEX is found.  I also want to 
exit the sequence, returning the results of FUNCTION.  In common lisp, I 
would use return-from, but how would this be done in 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: Breaking out of doseq

2013-11-27 Thread Ambrose Bonnaire-Sergeant
Hi Jonathon,

I'm not sure I fully understand what you're after, but I suspect reduce +
reduced would be helpful.

(reduce (fn [a c] (reduced 'foo)) [] [1 2 3])
;=> 'foo

As far as I'm aware you can't exit a doseq early. (Actually I guess you
could use a mutable reference
as the argument to :while, but reduced is nicer).

http://clojuredocs.org/clojure_core/clojure.core/for#example_913

Thanks,
Ambrose


On Wed, Nov 27, 2013 at 10:26 PM, Jonathon McKitrick
wrote:

> I'm iterating a map (regex -> function) and I'd like to call FUNCTION with
> the result of re-groups after a match for REGEX is found.  I also want to
> exit the sequence, returning the results of FUNCTION.  In common lisp, I
> would use return-from, but how would this be done in 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.
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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] fsrun : file change notifier high order lein task

2013-11-27 Thread Deniz Kurucu
Thanks, will check docs and will push to clojars.


On Wed, Nov 27, 2013 at 2:20 PM, Mimmo Cosenza wrote:

> Deniz,
> you need to install gpg to be able to push a release to clojars.
>
> here is the lein documentation
>
> When deploying a release that's not a snapshot, Leiningen will attempt to
> sign it using GPG  to prove your authorship of the
> release. See the deploy 
> guide.
> for details of how to set that up. The deploy guide includes instructions
> for deploying to other repositories as well.
>
> and here is the deploy guide
>
> https://github.com/technomancy/leiningen/blob/stable/doc/DEPLOY.md#gpg
>
> mimmo
>
> On Nov 27, 2013, at 12:25 PM, James Reeves  wrote:
>
> It'll be easier to get feedback if you push it to Clojars. I want to try
> it out, but not enough to clone the repo and manually install it.
>
> Since it's only version 0.1.0, it's not as if it's expected to be flawless.
>
> - James
>
>
> On 27 November 2013 07:00, Deniz Kurucu  wrote:
>
>> Ah yes, sorry it is not on clojars yet. Wanted some feedback before
>> pushing it there :)
>>
>>
>> On Wed, Nov 27, 2013 at 2:26 AM, Plinio Balduino wrote:
>>
>>> Excellent, Deniz
>>>
>>> But I'm getting an error when I try to run for the first time:
>>>
>>> Could not find artifact fsrun:fsrun:jar:0.1.0 in central (
>>> http://repo1.maven.org/maven2/)
>>> Could not find artifact fsrun:fsrun:jar:0.1.0 in clojars (
>>> https://clojars.org/repo/)
>>> This could be due to a typo in :dependencies or network issues.
>>>
>>> Part of my project.clj:
>>>
>>> (defproject blabla "0.1.0-SNAPSHOT"
>>>   ; licenses, description, url
>>>   :dependencies [[org.clojure/clojure "1.5.1"]]
>>>   :plugins [[fsrun "0.1.0"]]
>>>   ; etc etc etc
>>> )
>>>
>>> Am I doing something wrong? My network is OK and I'm not using any proxy.
>>>
>>> Thank you
>>>
>>> Plínio
>>>
>>> On Monday, November 25, 2013 5:26:05 AM UTC-2, Deniz Kurucu wrote:

 fsrun is a simple high order lein task that run some other tasks when a
 file modification occurs. Originally, i wanted to run my clojurescript
 tests automatically and created fsrun. It is my first clojure project, so
 please keep that in mind :)

 github : https://github.com/makkalot/fsrun

 Thanks.

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

Re: Breaking out of doseq

2013-11-27 Thread Jay Fields
I'm not sure doseq is what you want.. I'd probably just use loop recur.

On Wed, Nov 27, 2013 at 9:43 AM, Jonathon McKitrick
 wrote:
> To clarify what I'm trying to do, I have a map of regexes, and after
> iterating them, when one matches (the order of the regexes is significant) I
> want exactly one result returned by applying the looked up function to the
> string.  After that regex matches, no more matches should be attempted.
>
> What is the 'reduced' function?
>
>
> On Wednesday, November 27, 2013 9:26:21 AM UTC-5, Jonathon McKitrick wrote:
>>
>> I'm iterating a map (regex -> function) and I'd like to call FUNCTION with
>> the result of re-groups after a match for REGEX is found.  I also want to
>> exit the sequence, returning the results of FUNCTION.  In common lisp, I
>> would use return-from, but how would this be done in 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.

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: Breaking out of doseq

2013-11-27 Thread Jonathon McKitrick
Ah, maybe recursion is the answer!

On Wednesday, November 27, 2013 9:26:21 AM UTC-5, Jonathon McKitrick wrote:
>
> I'm iterating a map (regex -> function) and I'd like to call FUNCTION with 
> the result of re-groups after a match for REGEX is found.  I also want to 
> exit the sequence, returning the results of FUNCTION.  In common lisp, I 
> would use return-from, but how would this be done in 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: Breaking out of doseq

2013-11-27 Thread Jonathon McKitrick
To clarify what I'm trying to do, I have a map of regexes, and after 
iterating them, when one matches (the order of the regexes is significant) 
I want exactly one result returned by applying the looked up function to 
the string.  After that regex matches, no more matches should be attempted.

What is the 'reduced' function?

On Wednesday, November 27, 2013 9:26:21 AM UTC-5, Jonathon McKitrick wrote:
>
> I'm iterating a map (regex -> function) and I'd like to call FUNCTION with 
> the result of re-groups after a match for REGEX is found.  I also want to 
> exit the sequence, returning the results of FUNCTION.  In common lisp, I 
> would use return-from, but how would this be done in 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: Breaking out of doseq

2013-11-27 Thread Ambrose Bonnaire-Sergeant
reduced wraps a value in such a way that it stops the current reduce and
returns a value.

You might want `some` in this case.

(let [matched (some matches? regexes)]
  ...)

http://clojure.github.io/clojure/clojure.core-api.html#clojure.core/some

Also filter + first has a similar effect.

Thanks,
Ambrose


On Wed, Nov 27, 2013 at 10:43 PM, Jonathon McKitrick
wrote:

> To clarify what I'm trying to do, I have a map of regexes, and after
> iterating them, when one matches (the order of the regexes is significant)
> I want exactly one result returned by applying the looked up function to
> the string.  After that regex matches, no more matches should be attempted.
>
> What is the 'reduced' function?
>
>
> On Wednesday, November 27, 2013 9:26:21 AM UTC-5, Jonathon McKitrick wrote:
>>
>> I'm iterating a map (regex -> function) and I'd like to call FUNCTION
>> with the result of re-groups after a match for REGEX is found.  I also want
>> to exit the sequence, returning the results of FUNCTION.  In common lisp, I
>> would use return-from, but how would this be done in 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.
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: Breaking out of doseq

2013-11-27 Thread Michael Klishin
2013/11/27 Jonathon McKitrick 

> To clarify what I'm trying to do, I have a map of regexes, and after
> iterating them, when one matches (the order of the regexes is significant)
> I want exactly one result returned by applying the looked up function to
> the string.  After that regex matches, no more matches should be attempted.


Sounds like you want clojure.core/filter.
-- 
MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin

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


Re: Breaking out of doseq

2013-11-27 Thread Phillip Lord

I think you want to use "some" instead -- you need a list of regexps
anyway given that, as you say, the order is significant.

Some can return the first match that hits. doseq is not good for this
anyway, since doseq doesn't return anything.

Phil

Jonathon McKitrick  writes:

> To clarify what I'm trying to do, I have a map of regexes, and after 
> iterating them, when one matches (the order of the regexes is significant) 
> I want exactly one result returned by applying the looked up function to 
> the string.  After that regex matches, no more matches should be attempted.
>
> What is the 'reduced' function?
>
> On Wednesday, November 27, 2013 9:26:21 AM UTC-5, Jonathon McKitrick wrote:
>>
>> I'm iterating a map (regex -> function) and I'd like to call FUNCTION with 
>> the result of re-groups after a match for REGEX is found.  I also want to 
>> exit the sequence, returning the results of FUNCTION.  In common lisp, I 
>> would use return-from, but how would this be done in clojure?
>>
>>
>
> -- 
-- 
Phillip Lord,   Phone: +44 (0) 191 222 7827
Lecturer in Bioinformatics, Email: phillip.l...@newcastle.ac.uk
School of Computing Science,
http://homepages.cs.ncl.ac.uk/phillip.lord
Room 914 Claremont Tower,   skype: russet_apples
Newcastle University,   twitter: phillord
NE1 7RU 

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


Re: [ANN] fsrun : file change notifier high order lein task

2013-11-27 Thread Mimmo Cosenza
Great. And remember to add it to the plugins directory as suggested by Phil.
During the wend I'll try to use it in my now project for the same reason you 
created it (i.e. to automagically run the unit tests when an emitted js file 
changes) and I'll let you know about my experience with it.

It could be great if it would be embeddable inside other plugins/libs as a lib 
by well defined API. 

mimmo

On Nov 27, 2013, at 3:34 PM, Deniz Kurucu  wrote:

> Thanks, will check docs and will push to clojars.
> 
> 
> On Wed, Nov 27, 2013 at 2:20 PM, Mimmo Cosenza  
> wrote:
> Deniz,
> you need to install gpg to be able to push a release to clojars.
> 
> here is the lein documentation 
> 
> When deploying a release that's not a snapshot, Leiningen will attempt to 
> sign it using GPG to prove your authorship of the release. See the deploy 
> guide. for details of how to set that up. The deploy guide includes 
> instructions for deploying to other repositories as well.
> 
> and here is the deploy guide
> 
> https://github.com/technomancy/leiningen/blob/stable/doc/DEPLOY.md#gpg
> 
> mimmo
> 
> On Nov 27, 2013, at 12:25 PM, James Reeves  wrote:
> 
>> It'll be easier to get feedback if you push it to Clojars. I want to try it 
>> out, but not enough to clone the repo and manually install it.
>> 
>> Since it's only version 0.1.0, it's not as if it's expected to be flawless.
>> 
>> - James
>> 
>> 
>> On 27 November 2013 07:00, Deniz Kurucu  wrote:
>> Ah yes, sorry it is not on clojars yet. Wanted some feedback before pushing 
>> it there :)
>> 
>> 
>> On Wed, Nov 27, 2013 at 2:26 AM, Plinio Balduino  wrote:
>> Excellent, Deniz
>> 
>> But I'm getting an error when I try to run for the first time:
>> 
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in central 
>> (http://repo1.maven.org/maven2/)
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in clojars 
>> (https://clojars.org/repo/)
>> This could be due to a typo in :dependencies or network issues.
>> 
>> Part of my project.clj:
>> 
>> (defproject blabla "0.1.0-SNAPSHOT"
>>   ; licenses, description, url
>>   :dependencies [[org.clojure/clojure "1.5.1"]]
>>   :plugins [[fsrun "0.1.0"]]
>>   ; etc etc etc
>> )
>> 
>> Am I doing something wrong? My network is OK and I'm not using any proxy.
>> 
>> Thank you
>> 
>> Plínio
>> 
>> On Monday, November 25, 2013 5:26:05 AM UTC-2, Deniz Kurucu wrote:
>> fsrun is a simple high order lein task that run some other tasks when a file 
>> modification occurs. Originally, i wanted to run my clojurescript tests 
>> automatically and created fsrun. It is my first clojure project, so please 
>> keep that in mind :)
>> 
>> github : https://github.com/makkalot/fsrun
>> 
>> Thanks.
>> 
>> -- 
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with your 
>> first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and 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.
> 
> 
> -- 
> -- 
> You 

Re: Working with zippers and trees

2013-11-27 Thread Martin Clausen
You are right, but why is this a problem? The zipper works as intended
and if you need to detect leaf nodes, that kan be done by checking for
the presence of a non-empty value of the children key.

On Wed, Nov 27, 2013 at 2:18 PM, dabd  wrote:
> Your map-tree is exactly like an xml-zip.
> The problem I find with it is that now branch? also returns true for leaf
> nodes:
>
> (def m (map-tree {:v 1 :cs [{:v 2} {:v 3 :cs [{:v 4} {:v 5}]}]}))
>
>> (-> m z/down)
> [{:v 2} {:l [], :pnodes [{:v 1, :cs [{:v 2} {:v 3, :cs [{:v 4} {:v 5}]}]}],
> :ppath nil, :r ({:v 3, :cs [{:v 4} {:v 5}]})}]
>
>> (-> m z/down z/branch?)
> true
>
> (def t (tree-zip [1 2 [3 4 5]]))
>
>> (-> t z/down z/branch?)
> false
>
> On Wednesday, November 27, 2013 9:26:53 AM UTC, martin_clausen wrote:
>>
>> Ah, sorry. You could use a map-tree instead. It is a bit more verbose,
>> but I believe it does what you want.
>>
>> (defn map-tree [root]
>> (z/zipper
>>  map?
>>  #(seq (:cs %))
>>  (fn [node children]
>>   (assoc node :cs (and children (apply vector children
>>  root))
>>
>> (let [mt  (map-tree {:v 1 :cs [{:v 2} {:v 3 :cs [{:v 4} {:v 5}]}]})]
>> (loop [loc mt]
>>   (if (z/end? loc)
>> (z/root loc)
>> (recur (z/next (let [n  (:v (z/node loc))]
>>  (if (and (integer? n) (odd? n))
>>(z/replace loc {:v(* 2 (:v (z/node loc))) :cs
>> (z/children loc)})
>>loc)))
>>
>> On Wed, Nov 27, 2013 at 8:35 AM, dabd  wrote:
>> > The problem is that your vector-zip is not representing the tree I
>> > pictured.
>> >
>> >
>> > On Wednesday, November 27, 2013 6:26:12 AM UTC, martin_clausen wrote:
>> >>
>> >> Yes, for instance like this:
>> >>
>> >> (let [vz (z/vector-zip [1 [2] [3 [4 5]]])]
>> >> (loop [loc vz]
>> >>   (if (z/end? loc)
>> >> (z/root loc)
>> >> (recur (z/next (if (and (integer? (z/node loc)) (odd?
>> >> (z/node
>> >> loc)))
>> >>(z/replace loc (* 2 (z/node loc)))
>> >>loc))
>> >>
>> >> Which lets you avoid writing half the infrastructure yourself.
>> >>
>> >> On Wed, Nov 27, 2013 at 6:19 AM, dabd  wrote:
>> >> > I'm not sure what you mean by not being able to provide a meaningful
>> >> > branch?.
>> >> >
>> >> > I would like to represent a tree such a this:
>> >> >
>> >> >   1
>> >> >
>> >> >   / \
>> >> >  2   3
>> >> > / \
>> >> >4   5
>> >> >
>> >> >
>> >> > How can I achieve this using zippers?
>> >> >
>> >> > On Wednesday, November 27, 2013 4:30:15 AM UTC, martin_clausen wrote:
>> >> >>
>> >> >> To use the zipper library you have to be able to provide branch?
>> >> >> children
>> >> >> and make-node functions that apply to your data structure.
>> >> >>
>> >> >> I don't see a way to provide a meaningful branch? or children
>> >> >> function
>> >> >> for
>> >> >> the structure you describe. Vector? will not work as branch? as it
>> >> >> will
>> >> >> not
>> >> >> return true if passed the first element in a vector, and next will
>> >> >> not
>> >> >> work
>> >> >> as it will not return the children if passed the first element of a
>> >> >> vector.
>> >> >>
>> >> >> It looks to me like you don't get past the first element because the
>> >> >> call
>> >> >> to z/next fails both (and (branch? loc) (down loc)), (right loc) and
>> >> >> (up
>> >> >> loc) and therefore marks the first element as the end of the of the
>> >> >> structure.
>> >> >>
>> >> >> Is there a compelling reason for not using the vector-zip structure
>> >> >> for
>> >> >> your specific use-case?
>> >> >>
>> >> >>
>> >> >> On Wednesday, November 27, 2013 2:59:40 AM UTC+1, dabd wrote:
>> >> >>>
>> >> >>> The built-in vector-zip will build a tree with a different
>> >> >>> structure
>> >> >>> than
>> >> >>> what I need.
>> >> >>> I want build a tree as described in the first post: the node value
>> >> >>> is
>> >> >>> the
>> >> >>> first element of the vector and the children the rest of the
>> >> >>> elements.
>> >> >>>
>> >> >>>
>> >> >>> zipper.core>  (loop [loc (tree-zipper [1 2 [3 4 5]])]
>> >> >>> (if (z/end? loc)
>> >> >>>  (z/root loc)
>> >> >>>  (do (println (z/node loc))
>> >> >>>  (recur (z/next loc)
>> >> >>> [1 2 [3 4 5]]
>> >> >>>
>> >> >>> 2
>> >> >>>
>> >> >>> [3 4 5]
>> >> >>>
>> >> >>> 4
>> >> >>>
>> >> >>> 5
>> >> >>>
>> >> >>> [1 2 [3 4 5]]
>> >> >>> zipper.core>  (loop [loc (z/vector-zip [1 2 [3 4 5]])]
>> >> >>> (if (z/end? loc)
>> >> >>>  (z/root loc)
>> >> >>>  (do (println (z/node loc))
>> >> >>>  (recur (z/next loc)
>> >> >>> [1 2 [3 4 5]]
>> >> >>>
>> >> >>> 1
>> >> >>>
>> >> >>> 2
>> >> >>>
>> >> >>> [3 4 5]
>> >> >>>
>> >> >>> 3
>> >> >>>
>> >> >>> 4
>> >> >>>
>> >> >>> 5
>> >> >>>
>> >> >>> [1 2 [3 4 5]]
>> >> >>>
>> >> >>>
>> >> >>> On Tuesday, November 26, 2013 11:56:45 PM UTC, marti

Re: Working with zippers and trees

2013-11-27 Thread dabd
Shouldn't be a practical problem just wondering if it's correct given the 
zipper definition requirements.

On Wednesday, November 27, 2013 3:40:36 PM UTC, martin_clausen wrote:
>
> You are right, but why is this a problem? The zipper works as intended 
> and if you need to detect leaf nodes, that kan be done by checking for 
> the presence of a non-empty value of the children key. 
>
> On Wed, Nov 27, 2013 at 2:18 PM, dabd > 
> wrote: 
> > Your map-tree is exactly like an xml-zip. 
> > The problem I find with it is that now branch? also returns true for 
> leaf 
> > nodes: 
> > 
> > (def m (map-tree {:v 1 :cs [{:v 2} {:v 3 :cs [{:v 4} {:v 5}]}]})) 
> > 
> >> (-> m z/down) 
> > [{:v 2} {:l [], :pnodes [{:v 1, :cs [{:v 2} {:v 3, :cs [{:v 4} {:v 
> 5}]}]}], 
> > :ppath nil, :r ({:v 3, :cs [{:v 4} {:v 5}]})}] 
> > 
> >> (-> m z/down z/branch?) 
> > true 
> > 
> > (def t (tree-zip [1 2 [3 4 5]])) 
> > 
> >> (-> t z/down z/branch?) 
> > false 
> > 
> > On Wednesday, November 27, 2013 9:26:53 AM UTC, martin_clausen wrote: 
> >> 
> >> Ah, sorry. You could use a map-tree instead. It is a bit more verbose, 
> >> but I believe it does what you want. 
> >> 
> >> (defn map-tree [root] 
> >> (z/zipper 
> >>  map? 
> >>  #(seq (:cs %)) 
> >>  (fn [node children] 
> >>   (assoc node :cs (and children (apply vector children 
> >>  root)) 
> >> 
> >> (let [mt  (map-tree {:v 1 :cs [{:v 2} {:v 3 :cs [{:v 4} {:v 5}]}]})] 
> >> (loop [loc mt] 
> >>   (if (z/end? loc) 
> >> (z/root loc) 
> >> (recur (z/next (let [n  (:v (z/node loc))] 
> >>  (if (and (integer? n) (odd? n)) 
> >>(z/replace loc {:v(* 2 (:v (z/node loc))) :cs 
> >> (z/children loc)}) 
> >>loc))) 
> >> 
> >> On Wed, Nov 27, 2013 at 8:35 AM, dabd  wrote: 
> >> > The problem is that your vector-zip is not representing the tree I 
> >> > pictured. 
> >> > 
> >> > 
> >> > On Wednesday, November 27, 2013 6:26:12 AM UTC, martin_clausen wrote: 
> >> >> 
> >> >> Yes, for instance like this: 
> >> >> 
> >> >> (let [vz (z/vector-zip [1 [2] [3 [4 5]]])] 
> >> >> (loop [loc vz] 
> >> >>   (if (z/end? loc) 
> >> >> (z/root loc) 
> >> >> (recur (z/next (if (and (integer? (z/node loc)) (odd? 
> >> >> (z/node 
> >> >> loc))) 
> >> >>(z/replace loc (* 2 (z/node loc))) 
> >> >>loc)) 
> >> >> 
> >> >> Which lets you avoid writing half the infrastructure yourself. 
> >> >> 
> >> >> On Wed, Nov 27, 2013 at 6:19 AM, dabd  wrote: 
> >> >> > I'm not sure what you mean by not being able to provide a 
> meaningful 
> >> >> > branch?. 
> >> >> > 
> >> >> > I would like to represent a tree such a this: 
> >> >> > 
> >> >> >   1 
> >> >> > 
> >> >> >   / \ 
> >> >> >  2   3 
> >> >> > / \ 
> >> >> >4   5 
> >> >> > 
> >> >> > 
> >> >> > How can I achieve this using zippers? 
> >> >> > 
> >> >> > On Wednesday, November 27, 2013 4:30:15 AM UTC, martin_clausen 
> wrote: 
> >> >> >> 
> >> >> >> To use the zipper library you have to be able to provide branch? 
> >> >> >> children 
> >> >> >> and make-node functions that apply to your data structure. 
> >> >> >> 
> >> >> >> I don't see a way to provide a meaningful branch? or children 
> >> >> >> function 
> >> >> >> for 
> >> >> >> the structure you describe. Vector? will not work as branch? as 
> it 
> >> >> >> will 
> >> >> >> not 
> >> >> >> return true if passed the first element in a vector, and next 
> will 
> >> >> >> not 
> >> >> >> work 
> >> >> >> as it will not return the children if passed the first element of 
> a 
> >> >> >> vector. 
> >> >> >> 
> >> >> >> It looks to me like you don't get past the first element because 
> the 
> >> >> >> call 
> >> >> >> to z/next fails both (and (branch? loc) (down loc)), (right loc) 
> and 
> >> >> >> (up 
> >> >> >> loc) and therefore marks the first element as the end of the of 
> the 
> >> >> >> structure. 
> >> >> >> 
> >> >> >> Is there a compelling reason for not using the vector-zip 
> structure 
> >> >> >> for 
> >> >> >> your specific use-case? 
> >> >> >> 
> >> >> >> 
> >> >> >> On Wednesday, November 27, 2013 2:59:40 AM UTC+1, dabd wrote: 
> >> >> >>> 
> >> >> >>> The built-in vector-zip will build a tree with a different 
> >> >> >>> structure 
> >> >> >>> than 
> >> >> >>> what I need. 
> >> >> >>> I want build a tree as described in the first post: the node 
> value 
> >> >> >>> is 
> >> >> >>> the 
> >> >> >>> first element of the vector and the children the rest of the 
> >> >> >>> elements. 
> >> >> >>> 
> >> >> >>> 
> >> >> >>> zipper.core>  (loop [loc (tree-zipper [1 2 [3 4 5]])] 
> >> >> >>> (if (z/end? loc) 
> >> >> >>>  (z/root loc) 
> >> >> >>>  (do (println (z/node loc)) 
> >> >> >>>  (recur (z/next loc) 
> >> >> >>> 

Re: [ANN] Overtone 0.9.0 Released

2013-11-27 Thread Cedric Greevey
Ah, good. In the past I've been curious, but what little documentation I
found seemed to imply* that there were a number of dependencies that
sounded like external libraries or applications that were needed, and which
(being not Java/Clojure components themselves) would not be installed
automatically by Leiningen (and might not even be available for some
hardware/OS combinations). Is that not the case, or else no longer the
case, then?

* Specifically, various software seemed to be named that I wasn't familiar
with, but there was no explicit setup instructions or ingredients-needed
list either. The general state of the documentation gave the impression of
a pre-beta state without a well-organized setup procedure existing yet.
Most other Clojure projects and libraries announced, by contrast, include
such right in the announcement message -- and it's usually just "add [some
dependency vector] to your project.clj". If that's the case also for
Overtone now, why was that not included in the announcement message? :)


On Wed, Nov 27, 2013 at 2:12 AM, Samuel Aaron  wrote:

> Hi Cedric,
>
> On 26 Nov 2013, at 16:45, Cedric Greevey  wrote:
>
> > Is there a turnkey download/install/play with version of this yet, or is
> that not until 1.0?
>
> For a Clojure developer, Overtone is already as 'turnkey' as it gets.
> Simply add "overtone 0.9.1" to your dependencies in project.clj, start a
> REPL with Leiningen and then (use 'overtone.live) - your powerful music
> REPL awaits!
>
> Sam
>
> ---
> http://sam.aaron.name
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and 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.


Obtain name of interface from java file, regex + slurp doesn't works

2013-11-27 Thread Simone Mosciatti
Hi all,

I am trying to parse some java source file that contain the definition of 
an interface, what I need is to get the name of the interface, what methods 
it defines and what other interfaces it extend.

I used a regex (there is any clever way other than analyze the source ?) 
that works pretty good, however it doesn't works all the time.

If I copy and paste the source test from the file to the repl it works 
without any problem, however if I slurp the file it works only on some 
files, not on every file.

What can be the problem ?

(defn is-interface? [str]
  (re-matches #"(.|\n)* interface (\w+) (.|\n|\{)*" str))

is the regex I am using.

This: 
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/ISeq.java
is a source that does NOT work.

This other: 
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/ILookup.java
is a source that DOES work.


 

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: Breaking out of doseq

2013-11-27 Thread Cedric Greevey
What about (first (filter identity (map (fn [[rx f]] (if (matches? rx
input) (f input))) regexes))), where regexes is something like [[regex1 f1]
[regex2 f2] ...] and input is some string. As long as none of the fs
returns nil, this should work, using lazy sequence behavior to stop at the
first matching regex. (You may want to do something to de-chunk the regexes
vector, if you use a vector, if the fs have side effects or any of the
regexes or fs are expensive, and use the de-chunked seq as the argument to
map.) The whole shebang should return nil if none of the regexes match (via
calling "first" on an empty sequence).


On Wed, Nov 27, 2013 at 10:21 AM, Phillip Lord  wrote:

>
> I think you want to use "some" instead -- you need a list of regexps
> anyway given that, as you say, the order is significant.
>
> Some can return the first match that hits. doseq is not good for this
> anyway, since doseq doesn't return anything.
>
> Phil
>
> Jonathon McKitrick  writes:
>
> > To clarify what I'm trying to do, I have a map of regexes, and after
> > iterating them, when one matches (the order of the regexes is
> significant)
> > I want exactly one result returned by applying the looked up function to
> > the string.  After that regex matches, no more matches should be
> attempted.
> >
> > What is the 'reduced' function?
> >
> > On Wednesday, November 27, 2013 9:26:21 AM UTC-5, Jonathon McKitrick
> wrote:
> >>
> >> I'm iterating a map (regex -> function) and I'd like to call FUNCTION
> with
> >> the result of re-groups after a match for REGEX is found.  I also want
> to
> >> exit the sequence, returning the results of FUNCTION.  In common lisp, I
> >> would use return-from, but how would this be done in clojure?
> >>
> >>
> >
> > --
> --
> 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.
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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] Overtone 0.9.0 Released

2013-11-27 Thread Samuel Aaron
Hi Cedric,

if you're interested in installing Overtone and understanding its dependencies, 
I highly recommend you take a look at the installation instructions on our Wiki:

https://github.com/overtone/overtone/wiki/Installing-overtone

If anything isn't clear or obvious - please do let me know.

Happy Hacking!

Sam

---
http://sam.aaron.name

On 27 Nov 2013, at 16:33, Cedric Greevey  wrote:

> Ah, good. In the past I've been curious, but what little documentation I 
> found seemed to imply* that there were a number of dependencies that sounded 
> like external libraries or applications that were needed, and which (being 
> not Java/Clojure components themselves) would not be installed automatically 
> by Leiningen (and might not even be available for some hardware/OS 
> combinations). Is that not the case, or else no longer the case, then?
> 
> * Specifically, various software seemed to be named that I wasn't familiar 
> with, but there was no explicit setup instructions or ingredients-needed list 
> either. The general state of the documentation gave the impression of a 
> pre-beta state without a well-organized setup procedure existing yet. Most 
> other Clojure projects and libraries announced, by contrast, include such 
> right in the announcement message -- and it's usually just "add [some 
> dependency vector] to your project.clj". If that's the case also for Overtone 
> now, why was that not included in the announcement message? :)
> 
> 
> On Wed, Nov 27, 2013 at 2:12 AM, Samuel Aaron  wrote:
> Hi Cedric,
> 
> On 26 Nov 2013, at 16:45, Cedric Greevey  wrote:
> 
> > Is there a turnkey download/install/play with version of this yet, or is 
> > that not until 1.0?
> 
> For a Clojure developer, Overtone is already as 'turnkey' as it gets. Simply 
> add "overtone 0.9.1" to your dependencies in project.clj, start a REPL with 
> Leiningen and then (use 'overtone.live) - your powerful music REPL awaits!
> 
> Sam
> 
> ---
> http://sam.aaron.name
> 
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and 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: [ANN] Overtone 0.9.0 Released

2013-11-27 Thread Mark Engelberg
One point of confusion for me when installing overtone was that the docs
say that the internal server "doesn't work everywhere", without providing
any info about what systems it is known to work on or known not to work on.

A second point of confusion is that I can't determine from the docs what's
involved with creating a deliverable executable app that uses overtone, as
opposed to just installing it for oneself to play around with at the REPL.
Do users of the app have to install supercollider separately?  What about
instruments like the sampled piano?  Does the user have to wait several
minutes for those samples to be downloaded the first time she runs the app,
or is there a way to bundle all that with the app?  Is there any way to get
rid of the long pause when starting the server?  Is overtone too
"heavyweight" to use it embedded in an app to produce tones and/or music,
and if so, is there a better way in Clojure?



On Wed, Nov 27, 2013 at 9:45 AM, Samuel Aaron  wrote:

> Hi Cedric,
>
> if you're interested in installing Overtone and understanding its
> dependencies, I highly recommend you take a look at the installation
> instructions on our Wiki:
>
> https://github.com/overtone/overtone/wiki/Installing-overtone
>
> If anything isn't clear or obvious - please do let me know.
>
> Happy Hacking!
>
> Sam
>
> ---
> http://sam.aaron.name
>
> On 27 Nov 2013, at 16:33, Cedric Greevey  wrote:
>
> > Ah, good. In the past I've been curious, but what little documentation I
> found seemed to imply* that there were a number of dependencies that
> sounded like external libraries or applications that were needed, and which
> (being not Java/Clojure components themselves) would not be installed
> automatically by Leiningen (and might not even be available for some
> hardware/OS combinations). Is that not the case, or else no longer the
> case, then?
> >
> > * Specifically, various software seemed to be named that I wasn't
> familiar with, but there was no explicit setup instructions or
> ingredients-needed list either. The general state of the documentation gave
> the impression of a pre-beta state without a well-organized setup procedure
> existing yet. Most other Clojure projects and libraries announced, by
> contrast, include such right in the announcement message -- and it's
> usually just "add [some dependency vector] to your project.clj". If that's
> the case also for Overtone now, why was that not included in the
> announcement message? :)
> >
> >
> > On Wed, Nov 27, 2013 at 2:12 AM, Samuel Aaron 
> wrote:
> > Hi Cedric,
> >
> > On 26 Nov 2013, at 16:45, Cedric Greevey  wrote:
> >
> > > Is there a turnkey download/install/play with version of this yet, or
> is that not until 1.0?
> >
> > For a Clojure developer, Overtone is already as 'turnkey' as it gets.
> Simply add "overtone 0.9.1" to your dependencies in project.clj, start a
> REPL with Leiningen and then (use 'overtone.live) - your powerful music
> REPL awaits!
> >
> > Sam
> >
> > ---
> > http://sam.aaron.name
> >
> > --
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to clojure@googlegroups.com
> > Note that posts from new members are moderated - please be patient with
> your first post.
> > To unsubscribe from this group, send email to
> > clojure+unsubscr...@googlegroups.com
> > For more options, visit this group at
> > http://groups.google.com/group/clojure?hl=en
> > ---
> > You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> > To unsubscribe from this group and 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 rece

Re: [ClojureScript] [ANN] cljs-start 0.0.5

2013-11-27 Thread test Comptetest
Indeed, with a fresh lein it now works.

Thanks again, I'll be sure to use it with my students !

Cheers,

B.

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


Re: Releasing Static Prime: A static website editor and server written in Clojure and ClojureScript.

2013-11-27 Thread Kelker Ryan
There's now a video demo of this project at www.dailymotion.com/video/x17pggk_high-resolution-static-prime-a-static-website-editor-and-server-written-in-clojure-and-clojurescrip_tech  27.11.2013, 18:50, "Kelker Ryan" :Static PrimeA static website editor and server written in Clojure and ClojureScript. Visual Documentation Supportsin browser mouse only layout arrangementdynamic template loading for static filesstatic site indexmultiple adminshtml and markdown editingwrite, edit, delete pages --  --  You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en ---  You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.



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


Re: [ANN] fsrun : file change notifier high order lein task

2013-11-27 Thread Plínio Balduino
Hi, Deniz

I cloned the repo and installed locally to use with my code that count the size 
of and article and it was very useful. 

Thanks for your contribution and congratulations for your work. 

Plinio Balduino

> On 27/11/2013, at 05:00, Deniz Kurucu  wrote:
> 
> Ah yes, sorry it is not on clojars yet. Wanted some feedback before pushing 
> it there :)
> 
> 
>> On Wed, Nov 27, 2013 at 2:26 AM, Plinio Balduino  wrote:
>> Excellent, Deniz
>> 
>> But I'm getting an error when I try to run for the first time:
>> 
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in central 
>> (http://repo1.maven.org/maven2/)
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in clojars 
>> (https://clojars.org/repo/)
>> This could be due to a typo in :dependencies or network issues.
>> 
>> Part of my project.clj:
>> 
>> (defproject blabla "0.1.0-SNAPSHOT"
>>   ; licenses, description, url
>>   :dependencies [[org.clojure/clojure "1.5.1"]]
>>   :plugins [[fsrun "0.1.0"]]
>>   ; etc etc etc
>> )
>> 
>> Am I doing something wrong? My network is OK and I'm not using any proxy.
>> 
>> Thank you
>> 
>> Plínio
>> 
>>> On Monday, November 25, 2013 5:26:05 AM UTC-2, Deniz Kurucu wrote:
>>> fsrun is a simple high order lein task that run some other tasks when a 
>>> file modification occurs. Originally, i wanted to run my clojurescript 
>>> tests automatically and created fsrun. It is my first clojure project, so 
>>> please keep that in mind :)
>>> 
>>> github : https://github.com/makkalot/fsrun
>>> 
>>> Thanks.
>> 
>> -- 
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with your 
>> first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and 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: 2013 State of Clojure & ClojureScript survey results

2013-11-27 Thread Brian Craft
I at least partly agree with most of the replies here. Yes, interop counts 
for something, and I arguably should have started there, but it's 
orthogonal to the question of how solid clojure libraries are, on average. 
You might choose not to write a library because it adds nothing beyond what 
interop gives you. But having written a library, interop is not relevant to 
the quality of the library. And in this case, as others have pointed out, 
the host is inconsistent, so "use interop" is not a complete solution. 
Interop is a poor excuse for writing poor libraries. For comparison, 
consider that javascript library authors manage to deliver a consistent API 
across a much more challenging set of VMs.

Another example: I also needed binary data transforms. Gloss was 
recommended, but it was unreliable: it would hang at exit. smee.binary was 
reliable, but too slow for my application. So, I ditched them both and 
wrote it in java interop. But this is a painful way to develop: try clojure 
library, find it's buggy; try second clojure library, find it's slow; write 
it in interop and wonder at this point why I'm not just using java. And 
then there are all the globals, ugh. I was happy Stuart brought this up at 
Clojure/West this year.

And, again, I realize it's a young language, so rough edges are expected. 
I'm just surprised at the poll results.

On Tuesday, November 19, 2013 7:00:20 AM UTC-8, Michael Klishin wrote:
>
>
> 2013/11/19 Brian Craft >
>
>> Bold statement, Brian. Surely you've tried at least 60% of the libraries 
>> out there to make
>>
> your judgement more scientific than a survey with thousands of 
> participants ;)
>
> Please try finding a sane concurrency library in Ruby, or use the standard 
> library primitives.
> Try working with binary protocols or even basic statistical problems in 
> JavaScript. And ask yourself
> what % of Python libraries is of the same quality as Requests. Or go work 
> with crypto libraries
> in any of the above.
>
> Clojure's standard library is small but at least if you ask me, overall it 
> is higher quality than most languages
> out there. Certainly leaps and bounds better engineering-wise than Ruby.
>

Random sampling to discover the shape of a distribution is entirely 
reasonable, doesn't require anything like 60% coverage, and isn't 
self-evidently worse than this poll, which of course is not well 
controlled. Clojure is on the fringe of the fringe among programming 
languages. Most developers have not found it compelling. I'm willing to bet 
that the state of the libraries is one factor in that result: that my 
opinion on this subject would be the majority opinion if the polling were 
broader, and not self-selecting.

I partly agree with your list of design deficiencies in other languages, 
above, but note that many of them are solved by falling back to native 
code, which can be quite simple. Also, the demand for concurrency is much 
smaller than the need for solid core libraries.

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: 2013 State of Clojure & ClojureScript survey results

2013-11-27 Thread David Nolen
On Wed, Nov 27, 2013 at 1:41 PM, Brian Craft  wrote:

> have pointed out, the host is inconsistent, so "use interop" is not a
> complete solution. Interop is a poor excuse for writing poor libraries. For
> comparison, consider that javascript library authors manage to deliver a
> consistent API across a much more challenging set of VMs.
>

I don't have anything to contribute to this thread except to point out that
this statement passed as fact does not correspond with reality.

David

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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] fsrun : file change notifier high order lein task

2013-11-27 Thread Deniz Kurucu
Hi,

I'm glad it was useful for you, if you notice any bugs please let me know.

Thanks.


On Wed, Nov 27, 2013 at 8:17 PM, Plínio Balduino wrote:

> Hi, Deniz
>
> I cloned the repo and installed locally to use with my code that count the
> size of and article and it was very useful.
>
> Thanks for your contribution and congratulations for your work.
>
> Plinio Balduino
>
> On 27/11/2013, at 05:00, Deniz Kurucu  wrote:
>
> Ah yes, sorry it is not on clojars yet. Wanted some feedback before
> pushing it there :)
>
>
> On Wed, Nov 27, 2013 at 2:26 AM, Plinio Balduino wrote:
>
>> Excellent, Deniz
>>
>> But I'm getting an error when I try to run for the first time:
>>
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in central (
>> http://repo1.maven.org/maven2/)
>> Could not find artifact fsrun:fsrun:jar:0.1.0 in clojars (
>> https://clojars.org/repo/)
>> This could be due to a typo in :dependencies or network issues.
>>
>> Part of my project.clj:
>>
>> (defproject blabla "0.1.0-SNAPSHOT"
>>   ; licenses, description, url
>>   :dependencies [[org.clojure/clojure "1.5.1"]]
>>   :plugins [[fsrun "0.1.0"]]
>>   ; etc etc etc
>> )
>>
>> Am I doing something wrong? My network is OK and I'm not using any proxy.
>>
>> Thank you
>>
>> Plínio
>>
>> On Monday, November 25, 2013 5:26:05 AM UTC-2, Deniz Kurucu wrote:
>>>
>>> fsrun is a simple high order lein task that run some other tasks when a
>>> file modification occurs. Originally, i wanted to run my clojurescript
>>> tests automatically and created fsrun. It is my first clojure project, so
>>> please keep that in mind :)
>>>
>>> github : https://github.com/makkalot/fsrun
>>>
>>> Thanks.
>>>
>>  --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and 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.
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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] Optimus - a Ring middleware for frontend performance optimization.

2013-11-27 Thread Magnar Sveen

On Wednesday, November 27, 2013 1:08:34 PM UTC+1, Stefan Kamphausen wrote:
 

> Howard has quite some experience with this and I'd expect he put a great 
> deal of that into the new library. :-)
>
 
Indeed. There's certainly a lot of care that's been put into the features 
that are in Twixt now. :-)

- Magnar

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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] Overtone 0.9.0 Released

2013-11-27 Thread Cedric Greevey
Uh ... so it *does* require something to be installed separately, or it
*doesn't*? Make up your mind. :)


On Wed, Nov 27, 2013 at 1:00 PM, Mark Engelberg wrote:

> One point of confusion for me when installing overtone was that the docs
> say that the internal server "doesn't work everywhere", without providing
> any info about what systems it is known to work on or known not to work on.
>
> A second point of confusion is that I can't determine from the docs what's
> involved with creating a deliverable executable app that uses overtone, as
> opposed to just installing it for oneself to play around with at the REPL.
> Do users of the app have to install supercollider separately?  What about
> instruments like the sampled piano?  Does the user have to wait several
> minutes for those samples to be downloaded the first time she runs the app,
> or is there a way to bundle all that with the app?  Is there any way to get
> rid of the long pause when starting the server?  Is overtone too
> "heavyweight" to use it embedded in an app to produce tones and/or music,
> and if so, is there a better way in Clojure?
>
>
>
> On Wed, Nov 27, 2013 at 9:45 AM, Samuel Aaron  wrote:
>
>> Hi Cedric,
>>
>> if you're interested in installing Overtone and understanding its
>> dependencies, I highly recommend you take a look at the installation
>> instructions on our Wiki:
>>
>> https://github.com/overtone/overtone/wiki/Installing-overtone
>>
>> If anything isn't clear or obvious - please do let me know.
>>
>> Happy Hacking!
>>
>> Sam
>>
>> ---
>> http://sam.aaron.name
>>
>> On 27 Nov 2013, at 16:33, Cedric Greevey  wrote:
>>
>> > Ah, good. In the past I've been curious, but what little documentation
>> I found seemed to imply* that there were a number of dependencies that
>> sounded like external libraries or applications that were needed, and which
>> (being not Java/Clojure components themselves) would not be installed
>> automatically by Leiningen (and might not even be available for some
>> hardware/OS combinations). Is that not the case, or else no longer the
>> case, then?
>> >
>> > * Specifically, various software seemed to be named that I wasn't
>> familiar with, but there was no explicit setup instructions or
>> ingredients-needed list either. The general state of the documentation gave
>> the impression of a pre-beta state without a well-organized setup procedure
>> existing yet. Most other Clojure projects and libraries announced, by
>> contrast, include such right in the announcement message -- and it's
>> usually just "add [some dependency vector] to your project.clj". If that's
>> the case also for Overtone now, why was that not included in the
>> announcement message? :)
>> >
>> >
>> > On Wed, Nov 27, 2013 at 2:12 AM, Samuel Aaron 
>> wrote:
>> > Hi Cedric,
>> >
>> > On 26 Nov 2013, at 16:45, Cedric Greevey  wrote:
>> >
>> > > Is there a turnkey download/install/play with version of this yet, or
>> is that not until 1.0?
>> >
>> > For a Clojure developer, Overtone is already as 'turnkey' as it gets.
>> Simply add "overtone 0.9.1" to your dependencies in project.clj, start a
>> REPL with Leiningen and then (use 'overtone.live) - your powerful music
>> REPL awaits!
>> >
>> > Sam
>> >
>> > ---
>> > http://sam.aaron.name
>> >
>> > --
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "Clojure" group.
>> > To post to this group, send email to clojure@googlegroups.com
>> > Note that posts from new members are moderated - please be patient with
>> your first post.
>> > To unsubscribe from this group, send email to
>> > clojure+unsubscr...@googlegroups.com
>> > For more options, visit this group at
>> > http://groups.google.com/group/clojure?hl=en
>> > ---
>> > You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> > To unsubscribe from this group and 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@googl

Re: [ANN] Yesql 0.2.1 - Clojure & SQL queries rethought.

2013-11-27 Thread Kris Jenkins
Hi Paul,

Good catch. The call to lazy-seq was a bit of a hangover from an earlier 
implementation. I've just pushed v0.2.2 to clojars to fix.

Thanks for flagging it up.

Cheers,
Kris

On Saturday, 23 November 2013 01:02:08 UTC, Paul Samways wrote:
>
> (premature send, sorry)
>
> For example:
>
> (sql/db-transaction [t (db/connection)] (select-users t))
>
> will cause a NullPointerException as the query doesn't get executed until 
> after the transaction is commited. Adding a (doall), or actually using the 
> result in the form obviously works around this, but I was still scratching 
> my head until I looked into the source.
>
>
> On Sat, Nov 23, 2013 at 11:58 AM, Paul Samways 
> 
> > wrote:
>
>> Great work Kris, provides just enough abstraction over jdbc without 
>> getting in the way. One question though, and this may be just because I am 
>> relatively new to Clojure, but making the returned query lazy seems to be a 
>> bit of a gotch'ya.
>>
>> For example:
>>
>>
>>
>> On Mon, Nov 11, 2013 at 10:10 PM, Kris Jenkins 
>> 
>> > wrote:
>>
>>> https://github.com/krisajenkins/yesql
>>>
>>> Yesql is a simple library for blending SQL & Clojure together, cleanly. 
>>> Here's how it works , 
>>> and how to use it .
>>>
>>> Feedback welcomed,
>>> Kris
>>>
>>> -- 
>>> -- 
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com 
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to clojure+u...@googlegroups.com .
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>
>

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


Re: [ANN] manners 0.2.0 released

2013-11-27 Thread Craig

Looks interesting. I've come to Clojure from Java, and validation of 
arbitrary data is important for my applications. Thanks for the 
contribution.

On Wednesday, November 27, 2013 7:15:43 PM UTC+11, Ryan McGowan wrote:
>
> A validation library built on using predicates properly.
>
> I just released a new version of my take on a simple, general purpose 
> validation library.  Version 0.2.0 includes a chaining feature very much 
> like (and inspired by) the chain function in 
> vlad, 
> another validation library. For the remote few who are familiar with 
> manners, to implement this the definition of a manner has changed slightly 
> to allow one or more predicate message pairs (previously only one was 
> allowed).
>
> https://github.com/RyanMcG/manners
>

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


Re: How to store the results in a vector ?

2013-11-27 Thread sindhu hosamane
Hello 


Tried using ??- and ??<- 

It didn't work . 

I still get an error 


IllegalArgumentException Parameter declaration let should be a vector  
clojure.core/assert-valid-fdecl (core.clj:6732)


my output looks like 


  Warning  

  Warning  

  Warning  

  Sequence Hold  

  Warning  

  Sequence Hold  

  Sequence Hold  

  Status  

  Status  

  Sequence Hold


I want store this output of cascalog query  in a array and then check which 
?category entry is "warning " and display only those.


Tried below code didn't work .


(defn checkout

  (let [ x (?<- (stdout)[?category]((select-fields info-tap 
["?category"])?category

   ))]

 (if (= x "Warning") 

 println x

   

   )))


Please help .I am a newbie in clojure .



On Sunday, November 17, 2013 10:05:50 PM UTC+1, sindhu hosamane wrote:
>
> Hello friends ,
>
> (?<- (stdout)[?category]((select-fields info-tap ["?category"]) ?category)
> )
>
> Above is my Cascalog query which produces result like :
>
>
> Warning
>
> Start inhibit 
>
> Stop
>
> Inhibit 
>
> Warning
>
> Halt
>
>
> how to store the above result in a vector ?
>
> my way is 
>
>
> (let [x (?<- (stdout)[?category]((select-fields info-tap ["?category"])
>  ?category
>
>   ))])
>
>
> is this correct ? but it does not seem working.Or how to store the above 
> result ? 
>
>
>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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] fsrun : file change notifier high order lein task

2013-11-27 Thread Deniz Kurucu
Hi,

Just pushed fsrun to clojars :

[fsrun "0.1.1"]

Thanks, for looking.



On Wed, Nov 27, 2013 at 8:58 PM, Deniz Kurucu  wrote:

> Hi,
>
> I'm glad it was useful for you, if you notice any bugs please let me know.
>
> Thanks.
>
>
> On Wed, Nov 27, 2013 at 8:17 PM, Plínio Balduino wrote:
>
>> Hi, Deniz
>>
>> I cloned the repo and installed locally to use with my code that count
>> the size of and article and it was very useful.
>>
>> Thanks for your contribution and congratulations for your work.
>>
>> Plinio Balduino
>>
>> On 27/11/2013, at 05:00, Deniz Kurucu  wrote:
>>
>> Ah yes, sorry it is not on clojars yet. Wanted some feedback before
>> pushing it there :)
>>
>>
>> On Wed, Nov 27, 2013 at 2:26 AM, Plinio Balduino wrote:
>>
>>> Excellent, Deniz
>>>
>>> But I'm getting an error when I try to run for the first time:
>>>
>>> Could not find artifact fsrun:fsrun:jar:0.1.0 in central (
>>> http://repo1.maven.org/maven2/)
>>> Could not find artifact fsrun:fsrun:jar:0.1.0 in clojars (
>>> https://clojars.org/repo/)
>>> This could be due to a typo in :dependencies or network issues.
>>>
>>> Part of my project.clj:
>>>
>>> (defproject blabla "0.1.0-SNAPSHOT"
>>>   ; licenses, description, url
>>>   :dependencies [[org.clojure/clojure "1.5.1"]]
>>>   :plugins [[fsrun "0.1.0"]]
>>>   ; etc etc etc
>>> )
>>>
>>> Am I doing something wrong? My network is OK and I'm not using any proxy.
>>>
>>> Thank you
>>>
>>> Plínio
>>>
>>> On Monday, November 25, 2013 5:26:05 AM UTC-2, Deniz Kurucu wrote:

 fsrun is a simple high order lein task that run some other tasks when a
 file modification occurs. Originally, i wanted to run my clojurescript
 tests automatically and created fsrun. It is my first clojure project, so
 please keep that in mind :)

 github : https://github.com/makkalot/fsrun

 Thanks.

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

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


Re: How to store the results in a vector ?

2013-11-27 Thread James Reeves
Hi Sindhu

Let's start from the beginning. You have some source of data. I'll simulate
this with a vector:

(def info
  [["Warning" "Something went wrong"]
   ["Status" "Error"]
   ["Sequence Hold" "Holding"]])

No doubt your actual data looks quite different, but bear with me.

Next, I'll construct a tap from the data source. You're probably pulling it
in from a file or database, so your code won't be the same as this:

(def info-tap

  (<- [?category ?message]
  (info :> ?category ?message)))


This demonstrates how to construct a tap using the <- form. The [?category
?message] part tells Cascalog the columns you want outputted, and the (info
:> ?category ?message) part pulls this information from a data source.

Now I have some data, let's look at your problem. You said you want to pull
this information into an array, so that you can check which category is
"Warning" and display only those entries. However, you can do all of this
from within Cascalog itself. In fact, it's just the sort of task that
Cascalog was designed to do.

Let's start by just printing out the categories and messages. We can do
this with the "?-" function:


(?- (stdout) info-tap)


This passes all the entries in info-tap to STDOUT. In other words, it
prints them to the screen.

But we want to print out *just* the warnings, so to do that we need to
create a new tap:

(def warning-tap

  (<- [?category ?message]

  (info-tap :> ?category ?message)

  (= ?category "Warning")))


Do you see how it's almost exactly the same as how I defined "info-tap"?
The only difference is I added a constraint, (= ?category "Warning"). This
filters out only the rows where this constraint is true.

We can print this the same way as we did before:

(?- (stdout) warning-tap)


We can also combine the two previous examples into one. The ?<- form is
equivalent to ?- combined with <-.


(?<- (stdout)
 [?category ?message]

 (info-tap :> ?category ?message)

 (= ?category "Warning")))


Finally, if you really want the output as a data structure, rather than
just printing it out, we can use ??<-.

(def warning-list
  (??<- [?category ?message]

(info-tap :> ?category ?message)

(= ?category "Warning")))


Does that make things clearer?

- James


On 27 November 2013 21:43, sindhu hosamane  wrote:

> Hello
>
>
> Tried using ??- and ??<-
>
> It didn't work .
>
> I still get an error
>
>
> IllegalArgumentException Parameter declaration let should be a vector
> clojure.core/assert-valid-fdecl (core.clj:6732)
>
>
> my output looks like
>
>
>   Warning
>
>   Warning
>
>   Warning
>
>   Sequence Hold
>
>   Warning
>
>   Sequence Hold
>
>   Sequence Hold
>
>   Status
>
>   Status
>
>   Sequence Hold
>
>
> I want store this output of cascalog query  in a array and then check
> which ?category entry is "warning " and display only those.
>
>
> Tried below code didn't work .
>
>
> (defn checkout
>
>   (let [ x (?<- (stdout)[?category]((select-fields info-tap 
> ["?category"])?category
>
>))]
>
>  (if (= x "Warning")
>
>  println x
>
>
>
>)))
>
>
> Please help .I am a newbie in clojure .
>
>
>
> On Sunday, November 17, 2013 10:05:50 PM UTC+1, sindhu hosamane wrote:
>>
>> Hello friends ,
>>
>> (?<- (stdout)[?category]((select-fields info-tap ["?category"]) ?category
>> ))
>>
>> Above is my Cascalog query which produces result like :
>>
>>
>> Warning
>>
>> Start inhibit
>>
>> Stop
>>
>> Inhibit
>>
>> Warning
>>
>> Halt
>>
>>
>> how to store the above result in a vector ?
>>
>> my way is
>>
>>
>> (let [x (?<- (stdout)[?category]((select-fields info-tap ["?category"])
>>  ?category
>>
>>   ))])
>>
>>
>> is this correct ? but it does not seem working.Or how to store the above
>> result ?
>>
>>
>>
>>
>>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and 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 r

Re: .cljrc

2013-11-27 Thread Dave Tenny
Thanks, I seem to have accomplished what I need for now.  It was a bit
frustrating to figure out exactly what I could do in profiles.clj.  For
example, I can't find any documentation on :injections, which was key to
evaluating some code once I'd specified libraries as dependencies.

Where are the full options of projects.clj and profiles.clj documented?  I
can't find it anywhere in the git tree except by way of example in the
sample project.clj, and the tutorial.


On Mon, Nov 25, 2013 at 5:49 PM, dgrnbrg  wrote:

> Another great feature of Leiningen is the :injections key in project.clj.
> This lets you run arbitrary code on the Leiningen-managed JVM startup. I
> recommend this when using Spyscope, which is a debugging tool that only
> needs to be required before you can use it:
> https://github.com/dgrnbrg/spyscope#usage
>
> Using :injections is a powerful to customize the default referred vars, as
> well.
>
> On Monday, November 25, 2013 10:01:12 AM UTC-5, Moritz Ulrich wrote:
>
>> Leiningen profiles in ~/.lein/profiles.clj will be merged into the
>> current project.clj by leiningen. Also dumented in
>> https://github.com/technomancy/leiningen/blob/stable/doc/PROFILES.md
>>
>> On Mon, Nov 25, 2013 at 3:34 PM, Dave Tenny  wrote:
>> > With all my attention on trying to learn things about clojure, I've
>> either
>> > missed or forgotten how do to a simple thing.
>> >
>> > As I learn clojure I'm writing a few definitions that represent tools I
>> like
>> > to use in development.
>> >
>> > What is the simplest way to have those tools present in arbitrary
>> clojure
>> > REPLs started with lein repl, emacs cider-jack-in, etc., without
>> putting
>> > them in project.clj files for every lein project I'm working on ?
>> >
>> > I just want to load some things into the user (or other default ns if
>> my
>> > hypothetical .cljrc changes it) namespace and have it happen all the
>> time,
>> > except when I'm doing release builds and such of a particular project.
>> >
>> > Suggestions?
>> >
>> >
>> > --
>> > --
>> > 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 a topic in the
> Google Groups "Clojure" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/clojure/7NWXyQsG3WU/unsubscribe.
> To unsubscribe from this group and all its topics, 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: To refer an auto-gensymed symbol in an internal unquoted expression?

2013-11-27 Thread Yoshinori Kohyama
Meikel and people seeing this topic,

Meikels' works fine with fix of a typo: gensym("a") -> (gensym "a")

Code below to make it easier to distinguish a gensymed symbol  from its var 
name.

user=> ((fn [d] (let [a (gensym "foo")] `(fn [~a] ~(if d `(drop ~d ~a) 
a 3)
(clojure.core/fn [foo20] (clojure.core/drop 3 foo20))

user=> ((fn [d] (let [a (gensym "foo")] `(fn [~a] ~(if d `(drop ~d ~a) 
a nil)
(clojure.core/fn [foo25] foo25)

Thank you.

Best Regards,
Yoshinori Kohyama

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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 to convert LISP to Java class

2013-11-27 Thread Shabbir Ahamed
Dear All,

I am trying to transfer data from one database to the other and in between 
I am using a LISP file which has to be converted to a Java Class. I want to 
know is there any implementation in Clojure that does the logic for me. If 
any please e-mail me at shabbu4j...@gmail.com

Thanks & Regards,

Shabbir Ahamed

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: CloudFormation template generation with Clojure

2013-11-27 Thread Marshall Brekka
I recently wrote a CF template building tool for my company. its part of a 
larger project that we want to eventually open source, but the CF template 
stuff is small enough that I can put most of it into a gist. 
https://gist.github.com/marshallbrekka/7686151
This was basically copied and pasted from a single namespace with a few 
things left out that weren't terribly relevant.

Take a look at the resource fn . Its the most used fn for all of our stack. 
Basically every single thing we create is defined as a resource.
You probably noticed that I didn't try to create wrappers around any of the 
CF primitives (ec2, elb, subnet, etc).
This was a design decision, mostly because it makes doing complex template 
generation much easier because you are just dealing with maps and lists.
Finally, we didn't try to accommodate parameters because, this being 
clojure, we could just generate a template dynamically with all of the 
things that would have been parameters hardcoded right into the template. 
Obviously if you did need that ability it wouldn't be to hard to add it to 
the system we created.
 
Hope its helpful.

On Monday, November 25, 2013 8:41:29 PM UTC-8, Kevin Bell wrote:
>
> Hey folks, I'm working on a tool to enable the generation of AWS 
> CloudFormation templates using a Clojure-based syntax kind of like 
> leiningen's project.clj. I'm working on how the syntax should look to be 
> most clojurey, and I wonder if anyone has some input: 
> https://gist.github.com/bellkev/7653342
>
> I should add that I'm very new to Clojure and using this project as an 
> opportunity to learn more about the language internals. So please forgive 
> any particularly non-idiomatic Clojure...
>
> Thanks!!
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and 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: CloudFormation template generation with Clojure

2013-11-27 Thread Kevin Bell
Cool, thanks Marshall!

I do think it would be nice to have an option to more or less 
compile/decompile between Clojure and CloudFormation templates. That would 
help lower the barrier to entry for people currently heavily using CF but 
not so much Clojure. (I'm kind of trying to use this project as a "Trojan 
Horse" to get some Clojure into my "Java shop" company...)

That said, after the discussion on this thread as well as with some folks 
on the IRC channel, I think I DEFINITELY want keep 99% of the 
logic/functionality in my project as pure Clojure data/functions, with with 
perhaps just one or two light macro wrappers around things if it makes 
sense.

I look forward seeing what else you come up with in this area. You, Jeroen 
(from earlier in this thread), and I should definitely keep in touch as we 
come up with more functionality.

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


Re: how to convert LISP to Java class

2013-11-27 Thread Mars0i
Shabbir Ahamed,

People here can be very helpful.  However, I don't think that you have 
described your problem in enough detail for anyone to know how to answer.  
Why is there a Lisp file in the middle of the process?  What's in it?  What 
dialect of Lisp is it in?  Why does it need to be converted to a Java 
class?  What is the class supposed to do?  What are the two databases, and 
what is the structure of the data?  Answers to all of these questions might 
be relevant.  Additional information might be relevant as well.

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


Re: how to convert LISP to Java class

2013-11-27 Thread Gary Verhaegen
Clojure is a separate dialect of LISP that happens to run on the JVM. It is
not a tool to magically turn existing LISP dialects into Java. That said,
manually converting from Scheme or Common Lisp to Clojure could be
relatively easy, if the LISP code is small.

Clojure does not emit Java code, though, and for a more direct LISP to Java
bytecode translation I would advise you to take a look at either Kawa
Scheme or ABCL.

On Thursday, 28 November 2013, Mars0i wrote:

> Shabbir Ahamed,
>
> People here can be very helpful.  However, I don't think that you have
> described your problem in enough detail for anyone to know how to answer.
> Why is there a Lisp file in the middle of the process?  What's in it?  What
> dialect of Lisp is it in?  Why does it need to be converted to a Java
> class?  What is the class supposed to do?  What are the two databases, and
> what is the structure of the data?  Answers to all of these questions might
> be relevant.  Additional information might be relevant as well.
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to 
> clojure@googlegroups.com 'clojure@googlegroups.com');>
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com  'clojure%2bunsubscr...@googlegroups.com');>
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com  'clojure%2bunsubscr...@googlegroups.com');>.
> For more options, visit https://groups.google.com/groups/opt_out.
>

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