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

2013-11-25 Thread Mimmo Cosenza
On Nov 25, 2013, at 7:06 AM, Tom Henderson t...@mathpunk.net wrote:

 It works! I've been discouraged-- I liked programming in Clojure, and I had 
 been hoping Clojurescript would be my grand entry into web sites and apps, 
 but trying to learn HTML and CSS and JS and CLJS all at the same time has 
 been too much. This just straight up WORKED. 

I'm glad it allows you keep trying hard!

 
 I don't understand why the (run) command doesn't give me access to the js 
 namespace,

The (run) just start an http server (using ring, composure and enlive libs). 
Here you're still on the server side (clojure). 

 but (browser-repl) works beautifully.

here you are on the client side (cljs) and from here you have access to js. 
 
 Once I figure out how to include a JS library, and maybe get my head around 
 templating, I'll be unstoppable! :D
 

I'm preparing an example on how to use cljs-start with an already implemented 
cljs lib (I'll use hiccups as an example). If you have a little of patient 
tomorrow should be published. 

My best

Mimmo

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

2013-11-25 Thread Cedric Greevey
And yet it does happen, with PrintWriter and similar. Consider the output
of (println) on different operating systems.


On Mon, Nov 25, 2013 at 12:59 AM, Stefan Kamphausen ska2...@gmail.comwrote:

 I agree with Alex. I would not want any magic to happen
 to my string.

 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.


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

2013-11-25 Thread Tim Visher
On Mon, Nov 25, 2013 at 6:18 AM, Cedric Greevey cgree...@gmail.com wrote:
 And yet it does happen, with PrintWriter and similar. Consider the output of
 (println) on different operating systems.

Do you have an example of println converting a \n character embedded
in a string to the host's line terminator?

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

2013-11-25 Thread Cedric Greevey
(println) outputs nothing *but* the host's line terminator.


On Mon, Nov 25, 2013 at 6:22 AM, Tim Visher tim.vis...@gmail.com wrote:

 On Mon, Nov 25, 2013 at 6:18 AM, Cedric Greevey cgree...@gmail.com
 wrote:
  And yet it does happen, with PrintWriter and similar. Consider the
 output of
  (println) on different operating systems.

 Do you have an example of println converting a \n character embedded
 in a string to the host's line terminator?

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

2013-11-25 Thread Tim Visher
On Mon, Nov 25, 2013 at 6:29 AM, Cedric Greevey cgree...@gmail.com wrote:
 (println) outputs nothing *but* the host's line terminator.

Note that you have not embedded a \n character in anything in that example.

What does (println \n) print?

--

In Christ,

Timmy V.

http://blog.twonegatives.com/
http://five.sentenc.es/ -- Spend less time on mail

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


expand a form

2013-11-25 Thread Andy Smith
Hi,

I am new to clojure and I was wondering if there is a macro I can use to 
fully expand all symbols and macros in a form, without performing the final 
evaluation of the built in functions?

Thanks

Andy

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


Re: expand a form

2013-11-25 Thread Guru Devanla
Hi Andy,

Doesn't macroexpand do what you are looking for?

Thx


On Mon, Nov 25, 2013 at 4:55 AM, Andy Smith the4thamig...@googlemail.comwrote:

 Hi,

 I am new to clojure and I was wondering if there is a macro I can use to
 fully expand all symbols and macros in a form, without performing the final
 evaluation of the built in functions?

 Thanks

 Andy

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


println / for unexpected behaviour

2013-11-25 Thread edward


Some (println) weirdness (board is a vector to vectors):

(println (board 0))
(println (board 1))
(println (board 2))
(println (board 3))
(println (board 4))
(println (board 5))
(println (board 6))
(println (board 7))

Works as I would expect, printing to the console.

However:

(for [row board]
(println row))

Doesn't: the output from println is part of the result of evaluating the 
for (along with a slew of nils).

([:empty :empty :empty :empty :empty :empty :empty :empty]
[:empty :empty :empty :empty :empty :empty :empty :empty]
[:empty :empty :empty :empty :empty :empty :empty :empty]
[:empty :empty :empty :white :black :empty :empty :empty]
[:empty :empty :empty :black :white :empty :empty :empty]
[:empty :empty :empty :empty :empty :empty :empty :empty]
[:empty :empty :empty :empty :empty :empty :empty :empty]
[:empty :empty :empty :empty :empty :empty :empty :empty]
nil nil nil nil nil nil nil nil)

Any idea why there is any difference at all between the two? The only thing 
I can think of is for's lazy evaluation but I don't see how.

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

2013-11-25 Thread Ambrose Bonnaire-Sergeant
Hi Edward,

I believe the return value of your expression is (nil nil nil nil ...), but
the printlns are forced just after the ( is printed.

Thanks,
Ambrose


On Mon, Nov 25, 2013 at 9:14 PM, edw...@kenworthy.info wrote:

 Some (println) weirdness (board is a vector to vectors):

 (println (board 0))
 (println (board 1))
 (println (board 2))
 (println (board 3))
 (println (board 4))
 (println (board 5))
 (println (board 6))
 (println (board 7))

 Works as I would expect, printing to the console.

 However:

 (for [row board]
 (println row))

 Doesn't: the output from println is part of the result of evaluating the
 for (along with a slew of nils).

 ([:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :white :black :empty :empty :empty]
 [:empty :empty :empty :black :white :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 nil nil nil nil nil nil nil nil)

 Any idea why there is any difference at all between the two? The only
 thing I can think of is for's lazy evaluation but I don't see how.

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

2013-11-25 Thread Cedric Greevey
Clearly board is a chunked seq in this case.

Use doseq when you want side effects for-each of some seqable, but don't
care about the return values. The arguments for doseq are identical to
those for for, but a) doseq will return nil and b) if the output of for was
discarded (rather than the repl realizing the sequence to print the nils)
the side effects would never take place, whereas doseq forces them to take
place whether or not the nil *it* returns is used or discarded.


On Mon, Nov 25, 2013 at 8:25 AM, Ambrose Bonnaire-Sergeant 
abonnaireserge...@gmail.com wrote:

 Hi Edward,

 I believe the return value of your expression is (nil nil nil nil ...),
 but the printlns are forced just after the ( is printed.

 Thanks,
 Ambrose


 On Mon, Nov 25, 2013 at 9:14 PM, edw...@kenworthy.info wrote:

 Some (println) weirdness (board is a vector to vectors):

 (println (board 0))
 (println (board 1))
 (println (board 2))
 (println (board 3))
 (println (board 4))
 (println (board 5))
 (println (board 6))
 (println (board 7))

 Works as I would expect, printing to the console.

 However:

 (for [row board]
 (println row))

 Doesn't: the output from println is part of the result of evaluating the
 for (along with a slew of nils).

 ([:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :white :black :empty :empty :empty]
 [:empty :empty :empty :black :white :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 nil nil nil nil nil nil nil nil)

 Any idea why there is any difference at all between the two? The only
 thing I can think of is for's lazy evaluation but I don't see how.

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

2013-11-25 Thread Phillip Lord
Deniz Kurucu makka...@gmail.com writes:

 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


Ha! I wanted a way of doing this just the other day.

My solution was this; linux specifc, unfortunately and slightly more
complex than I thought it was going to be. It only shows the first
screenful of output on each rerun, so it's could for running a test
ticker in the corner of the screen.

#!/bin/bash
while inotifywait -q -r -e MODIFY --exclude .#* --exclude .*~ .
do
SIZE=`stty size | cut -d  -f1`
SIZE=`expr $SIZE - 4` 
clear
date
echo lein $*
lein $* 21 | head --lines=$SIZE -
echo complete
done;


Phil

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


Re: println / for unexpected behaviour

2013-11-25 Thread Stefan Kamphausen
Hi Edward,


you are being hit by laziness here.  Clojure's 'for' is not like the 'for' 
you may know from other programming languages.  It is made for list 
comprehensions, that is it is building new list-y things.  It does not do 
this instantly, the items may be realized only when the caller asks for 
them.  In your case the caller is your REPL which prints the return value, 
thereby realizing the lazy sequence.  Thus, the output for the REPL and 
your println mix.

As Cedric already wrote, if you want to process the board for side-effect 
like printing, use doseq.  Use for only for its return value and make no 
assumptions as to when those values are created.


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


Re: Spit seems to use incorrect line terminator on Windoze

2013-11-25 Thread Alex Miller
PrintWriter has a different api than spit. PrintWriter has the ability to 
print objects and also the ability to println objects. When printing a 
line, it inserts the host-specific new line characters. If you print a 
String with PrintWriter, it will be exactly the string you tell it (new 
lines will not be replaced).

spit puts a string in a file.

On Monday, November 25, 2013 5:18:17 AM UTC-6, Cedric Greevey wrote:

 And yet it does happen, with PrintWriter and similar. Consider the output 
 of (println) on different operating systems.


 On Mon, Nov 25, 2013 at 12:59 AM, Stefan Kamphausen 
 ska...@gmail.comjavascript:
  wrote:

 I agree with Alex. I would not want any magic to happen
 to my string.

 Best,
 Stefan

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




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


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

2013-11-25 Thread Mimmo Cosenza

On Nov 25, 2013, at 10:42 AM, Mimmo Cosenza mimmo.cose...@gmail.com wrote:

 I'm preparing an example on how to use cljs-start with an already implemented 
 cljs lib (I'll use hiccups as an example). If you have a little of patient 
 tomorrow should be published. 
 

Hi Tom, here is the sample I was talking about. It use the already implemented 
hiccups lib to demonstrate by instrumenting it with cljs-start.

https://github.com/magomimmo/cljs-start/blob/master/doc/sample.md

Inside you'll also find a brepling session with the instrumented hiccups. I 
don't know why nobody documents any brepl session (even me. in the modern-cljs 
series I should say something more about this task which is very, very 
important to become productive in cljs). 

I hope to contribute a little bit in modifying for the next year the results of 
the recent survey conducted by the tireless Chas Emerick.


HIH 
Mimmo


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

2013-11-25 Thread Andy Smith
It doesnt seem to expand function calls though right?

On Monday, 25 November 2013 12:55:27 UTC, Andy Smith wrote:

 Hi,

 I am new to clojure and I was wondering if there is a macro I can use to 
 fully expand all symbols and macros in a form, without performing the final 
 evaluation of the built in functions?

 Thanks

 Andy


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


.cljrc

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

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

When i run lein new cljs-start wonderful-lib

I'm getting that error and nothing is created.

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

Thanks.



On Mon, Nov 25, 2013 at 4:24 PM, Mimmo Cosenza mimmo.cose...@gmail.comwrote:


 On Nov 25, 2013, at 10:42 AM, Mimmo Cosenza mimmo.cose...@gmail.com
 wrote:

 I'm preparing an example on how to use cljs-start with an already
 implemented cljs lib (I'll use hiccups as an example). If you have a little
 of patient tomorrow should be published.


 Hi Tom, here is the sample I was talking about. It use the already
 implemented hiccups lib to demonstrate by instrumenting it with cljs-start.

 https://github.com/magomimmo/cljs-start/blob/master/doc/sample.md

 Inside you'll also find a brepling session with the instrumented hiccups.
 I don't know why nobody documents any brepl session (even me. in the
 modern-cljs series I should say something more about this task which is
 very, very important to become productive in cljs).

 I hope to contribute a little bit in modifying for the next year the
 results of the recent survey conducted by the tireless Chas Emerick.


 HIH
 Mimmo


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

rm -rf ~/.m2/repository/cljs-start

and run again

lein new cljs-start youlibname

If this does not work try the following

git clone https://github.com/magomimmo/cljs-start.git
cd cljs-start
lein install


and try again to create the project with

lein new cljs-start yourlibname

LTM if it works.

mimmo


On Nov 25, 2013, at 4:06 PM, Deniz Kurucu makka...@gmail.com wrote:

 Hi,
 
 When i run lein new cljs-start wonderful-lib
 
 I'm getting that error and nothing is created.
 
 Generating fresh 'lein new' cljs-start project.
 Template resource 'leiningen/new/cljs_start/README.MD' not found.
 
 Thanks.
 
 
 
 On Mon, Nov 25, 2013 at 4:24 PM, Mimmo Cosenza mimmo.cose...@gmail.com 
 wrote:
 
 On Nov 25, 2013, at 10:42 AM, Mimmo Cosenza mimmo.cose...@gmail.com wrote:
 
 I'm preparing an example on how to use cljs-start with an already 
 implemented cljs lib (I'll use hiccups as an example). If you have a little 
 of patient tomorrow should be published. 
 
 
 Hi Tom, here is the sample I was talking about. It use the already 
 implemented hiccups lib to demonstrate by instrumenting it with cljs-start.
 
 https://github.com/magomimmo/cljs-start/blob/master/doc/sample.md
 
 Inside you'll also find a brepling session with the instrumented hiccups. I 
 don't know why nobody documents any brepl session (even me. in the 
 modern-cljs series I should say something more about this task which is very, 
 very important to become productive in cljs). 
 
 I hope to contribute a little bit in modifying for the next year the results 
 of the recent survey conducted by the tireless Chas Emerick.
 
 
 HIH 
 Mimmo
 
 
 
 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
 
 
 -- 
 Note that posts from new members are moderated - please be patient with your 
 first post.
 --- 
 You received this message because you are subscribed to the Google Groups 
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at http://groups.google.com/group/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: T-shirts?

2013-11-25 Thread Rich Hickey
Official T shirts are finally available!

http://clojure.org/swag

Thanks for your support,

Rich

On Jul 29, 2013, at 5:27 PM, s...@ummon.com wrote:

 Speaking as the person who made the 'Clojure = Simplicity' hoody/t-shirt, I 
 am more than happy to assign it to the clojure community if wanted. I created 
 it a while back as I couldn't find any. I will also gladly donate my zazzle 
 balance (all $8.12 of it) from the sales :)
 
 Regards
 S.
 
  Original Message 
 Subject: Re: T-shirts?
 From: James Rothering james.rother...@gmail.com
 Date: Mon, July 29, 2013 5:16 pm
 To: clojure@googlegroups.com
 
 +1 I'll buy, too.
 
 
 On Mon, Jul 29, 2013 at 1:38 PM, Joel Holdbrooks cjholdbro...@gmail.com 
 wrote:
 +1. I'd love this.
 
 On Sunday, July 28, 2013 3:22:21 PM UTC-7, Isaac Wagner wrote:
 There was a discussion a while ago about stickers which led to 
 http://clojure.org/swag. Could we get some sanctioned T-shirts as well? There 
 are a few Clojure shirts on Zazzle, but what I would be interested in is some 
 black, grey, and white shirts with nothing but a big Clojure logo on the 
 front and I would love to buy them in a way that supports Clojure.
 
 Isaac
 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  
 
 
 
 -- 
 Regards,
 
 James Rothering
 
 (Msg) 206-888-1776
 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and 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: T-shirts?

2013-11-25 Thread Bruce Durling
Yay! Thanks Rich!

Good picture of you. Have you been working out before taking those
shots in the t-shirt?

cheers,
Bruce

On Mon, Nov 25, 2013 at 4:31 PM, Rich Hickey richhic...@gmail.com wrote:
 Official T shirts are finally available!

 http://clojure.org/swag

 Thanks for your support,

 Rich

 On Jul 29, 2013, at 5:27 PM, s...@ummon.com wrote:

 Speaking as the person who made the 'Clojure = Simplicity' hoody/t-shirt, 
 I am more than happy to assign it to the clojure community if wanted. I 
 created it a while back as I couldn't find any. I will also gladly donate my 
 zazzle balance (all $8.12 of it) from the sales :)

 Regards
 S.

  Original Message 
 Subject: Re: T-shirts?
 From: James Rothering james.rother...@gmail.com
 Date: Mon, July 29, 2013 5:16 pm
 To: clojure@googlegroups.com

 +1 I'll buy, too.


 On Mon, Jul 29, 2013 at 1:38 PM, Joel Holdbrooks cjholdbro...@gmail.com 
 wrote:
 +1. I'd love this.

 On Sunday, July 28, 2013 3:22:21 PM UTC-7, Isaac Wagner wrote:
 There was a discussion a while ago about stickers which led to 
 http://clojure.org/swag. Could we get some sanctioned T-shirts as well? 
 There are a few Clojure shirts on Zazzle, but what I would be interested in 
 is some black, grey, and white shirts with nothing but a big Clojure logo on 
 the front and I would love to buy them in a way that supports Clojure.

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





 --
 Regards,

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



-- 
@otfrom | CTO  co-founder @MastodonC | mastodonc.com
See recent coverage of us in the Economist http://econ.st/WeTd2i and
the Financial Times http://on.ft.com/T154BA

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

[ANN] Overtone 0.9.0 Released

2013-11-25 Thread Samuel Aaron
Hi there noise polluters!

It's that glorious time again - another version of Overtone has forced its 
timbral wings out of its cocoon. 0.9.0 is here and is edgy. It was so edgy, 
that it burst into flames and mutated into 0.9.1 before a blink of the eye![1]

This release represents a fundamental shift in our development approach. 
Instead of designing and implementing new abstractions that may possibly prove 
useful, all of the features and modifications in 0.9.1 have been implemented as 
a reaction to specific performance/composition requirements.

One of our major users is the Clojure powered band Meta-eX[2] and they have 
been using and testing 0.9.1 in all of their recent gigs, including a straight 
hour techno set in Club Noxx, Antwerp. Now, that's real performance testing ;-)

So, what's new? Well, let me invite you to read our Changelog[3] which is much 
more detailed than previous versions. Major improvements/contributions can be 
summarised as follows:

* apply-by/at improvements
* Improved Synth Positioning Syntax
* MIDI API revamp
* New Graphviz support
* Bus Monitoring system
* Simple Persistent Store
* More pervasive stop fns
* Node event handlers
* Improved envelope helper fns
* New workshop examples

As usual, let us know your thoughts and experiences over on the Overtone 
mailing list:

http://groups.google.com/group/overtone/

Happy Hacking!

Sam


http://sam.aaron.name


[1]: 
https://github.com/overtone/overtone/commit/ec66e790ca14ce36fb9a7c50804e72a3d23ff2bf
[2]: http://meta-ex.com
[3]: https://github.com/overtone/overtone/blob/master/CHANGELOG.md

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

both didn't work. Any other ideas ?

lein new cljs-start coolappp

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


On Mon, Nov 25, 2013 at 5:20 PM, Mimmo Cosenza mimmo.cose...@gmail.comwrote:

 Hi,



 try the following:

 rm -rf ~/.m2/repository/cljs-start

 and run again

 lein new cljs-start youlibname

 If this does not work try the following

 git clone https://github.com/magomimmo/cljs-start.git
 cd cljs-start
 lein install


 and try again to create the project with

 lein new cljs-start yourlibname

 LTM if it works.

 mimmo


 On Nov 25, 2013, at 4:06 PM, Deniz Kurucu makka...@gmail.com wrote:

 Hi,

 When i run lein new cljs-start wonderful-lib

 I'm getting that error and nothing is created.

 Generating fresh 'lein new' cljs-start project.
 Template resource 'leiningen/new/cljs_start/README.MD http://readme.md/'
 not found.

 Thanks.



 On Mon, Nov 25, 2013 at 4:24 PM, Mimmo Cosenza mimmo.cose...@gmail.comwrote:


 On Nov 25, 2013, at 10:42 AM, Mimmo Cosenza mimmo.cose...@gmail.com
 wrote:

 I'm preparing an example on how to use cljs-start with an already
 implemented cljs lib (I'll use hiccups as an example). If you have a little
 of patient tomorrow should be published.


 Hi Tom, here is the sample I was talking about. It use the already
 implemented hiccups lib to demonstrate by instrumenting it with cljs-start.

 https://github.com/magomimmo/cljs-start/blob/master/doc/sample.md

 Inside you'll also find a brepling session with the instrumented hiccups.
 I don't know why nobody documents any brepl session (even me. in the
 modern-cljs series I should say something more about this task which is
 very, very important to become productive in cljs).

 I hope to contribute a little bit in modifying for the next year the
 results of the recent survey conducted by the tireless Chas Emerick.


 HIH
 Mimmo



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



 --
 Note that posts from new members are moderated - please be patient with
 your first post.
 ---
 You received this message because you are subscribed to the Google Groups
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at http://groups.google.com/group/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] Optimus - a Ring middleware for frontend performance optimization.

2013-11-25 Thread Murtaza Husain
Magnar,

Thanks for the project ! Nicely fills up a void.

Thanks,
Murtaza

On Monday, November 25, 2013 3:30:10 AM UTC+5:30, Magnar Sveen wrote:

 I just open sourced optimus. README and code here: 
 https://github.com/magnars/optimushttps://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmagnars%2Foptimussa=Dsntz=1usg=AFQjCNHVew3Ey2Bh409AV3mEhpEipbxGzQ

 Optimus is a Ring middleware for frontend performance optimization.

 It serves your static assets:

- in production: as optimized bundles
- in development: as unchanged, individual files

 In other words: Develop with ease. Optimize in production.

 *Features*

 Depending on how you use it, optimus:

- concatenates your JavaScript and CSS files into bundles.
- minifies your JavaScript with UglifyJS 
 2https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmishoo%2FUglifyJS2sa=Dsntz=1usg=AFQjCNGjUWtc9t6OLfeCSFD67Qiv1YJHuA
- minifies your CSS with 
 CSSOhttp://www.google.com/url?q=http%3A%2F%2Fbem.info%2Ftools%2Foptimizers%2Fcsso%2Fsa=Dsntz=1usg=AFQjCNHFxxUFir_vcxqI79FeEYI-2xijmQ
- adds cache-busters to your static asset URLs
- adds far future Expires 
 headershttp://www.google.com/url?q=http%3A%2F%2Fdeveloper.yahoo.com%2Fperformance%2Frules.html%23expiressa=Dsntz=1usg=AFQjCNFc3zu6wMgQIthHxVHy4AoHDyPdQw

 Also, if you're using Angular.JS:

- prepopulates the Angular template 
 cachehttp://www.google.com/url?q=http%3A%2F%2Fdocs.angularjs.org%2Fapi%2Fng.%2524templateCachesa=Dsntz=1usg=AFQjCNE8i4GlTWl0r4u9fKoAyEipcMYAlw
  with 
your HTML templates.



 https://github.com/magnars/optimushttps://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmagnars%2Foptimussa=Dsntz=1usg=AFQjCNHVew3Ey2Bh409AV3mEhpEipbxGzQ


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

2013-11-25 Thread Guru Devanla
Hi Andy,

Not sure what you need in terms of function calls being expanded. Can you
provide an example.

Here is an silly example, even though this kind of macro is not needed:

(def addone [v]
(+ v 1)

(defmacro testmacro [init]
   (list 'addone init))

(macroexpand '(testmacro 10))

expands to

(addone 10)

Thanks
Guru


On Mon, Nov 25, 2013 at 6:32 AM, Andy Smith the4thamig...@googlemail.comwrote:

 It doesnt seem to expand function calls though right?


 On Monday, 25 November 2013 12:55:27 UTC, Andy Smith wrote:

 Hi,

 I am new to clojure and I was wondering if there is a macro I can use to
 fully expand all symbols and macros in a form, without performing the final
 evaluation of the built in functions?

 Thanks

 Andy

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

2013-11-25 Thread Laurent PETIT
Hey Bruce,

2013/11/25 Bruce Durling b...@otfrom.com:
 Yay! Thanks Rich!

 Good picture of you. Have you been working out before taking those
 shots in the t-shirt?

It's a direct side-effect of following Clojure's strengths in your
life: simplicity, power, focus ;-)

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


Re: Releasing Caribou today: Open Source Clojure Web Ecosystem

2013-11-25 Thread Ryan Spangler
Jim,

Thanks for the note!  Yeah we have been talking about ways to make the
immutant download optional, so that solves that problem, thanks!  It will
be coming out in the next release.

As for the app/ dir, it is configurable between environments, as long as
people know about it.  I can make that more clear in the docs for Immutant
deployment (actually it is an issue for tomcat deployment as well).

Great song btw.  Not direct inspiration, but maybe kicking around in the
subconscious there?

Thanks for Immutant as well, I am a big fan!  We run all of our Caribou
deployments on Immutant.  Still working on integrating some of the larger
features into our workflow.


On Sun, Nov 24, 2013 at 4:05 PM, Jim Crossley j...@crossleys.org wrote:

 Prasanna, Ryan and Justin,

 Hi. I just got around to playing with Caribou today. Very nice!

 I was happy to see you including Immutant config in the application
 template, but you don't need it. Immutant will happily bootstrap a deployed
 app using the :ring options map in project.clj. As long as you're including
 that, the immutant.clj file in the application template is redundant.
 Here's more info:
 http://immutant.org/builds/LATEST/html-docs/initialization.html#initialization-porting

 And I agree removing the immutant dependency in project.clj will greatly
 reduce the number of downloaded jars. Technically, you only need that
 dependency in project.clj when running *outside* of the Immutant container,
 e.g. when your tests refer to the immutant namespaces.

 The only other Immutant-related feedback I might offer is wrt the assets
 dir, app/. Relative paths like that are only gonna work if you start up
 Immutant in your project's directory, so in production you'll likely want
 that to be an absolute path.

 I especially like the project's name. It reminds me of the Pixies song:
 https://www.youtube.com/watch?v=x6m-pwWCDKU

 Thanks!
 Jim


 On Wed, Nov 13, 2013 at 1:25 AM, Ryan Spangler ryan.spang...@gmail.comwrote:

 Justin,

 As far as I know, Immutant is not a dependency, but an option.  Let me
 know if that is not true however.


 On Tuesday, November 12, 2013 10:13:17 PM UTC-8, Justin Smith wrote:

 Typically my first step making a caribou app is to remove the immutant
 dependency. It's pretty straightforward to take it out.

 On Tuesday, November 12, 2013 9:19:27 PM UTC-8, Prasanna Gautam wrote:

 This is really cool. Very easy to get up and running for first try. I
 have a few questions on the architecture.

 Why Immutant instead of plain ring as the default? I think the number
 of dependencies could be much lower with it.

 I know it's only alpha.. but I'm asking this on behalf of others who
 might be thinking the same.
 And, are there plans for NoSQL database support, like MongoDB, MapDB (
 http://www.mapdb.org/ - I just found out about it myself but this is
 the only decent in-memory NoSQL solution other than Berkeley DB)?

 On Tuesday, November 12, 2013 6:52:10 PM UTC-5, Ryan Spangler wrote:

 Hello Clojure,

 Excited to announce today the release of Caribou!
 http://let-caribou.in/

 We have been building web sites and web applications with it for over
 two years now and improving it every day.  Currently we have four people
 working on it and another ten using it to build things, so it is getting a
 lot of real world testing.

 It has been designed as a collection of independent libraries that
 could each be useful on their own, but which come together as a meaningful
 whole.

 We have been spending the last couple months getting it ready for a
 full open source release, and I am happy to say it is finally ready.
  Funded and supported by Instrument in Portland, OR:
 http://weareinstrument.com/  We have four projects using it in
 production, and several more about to be launched (as well as over a dozen
 internal things).

 Documentation is here:  http://caribou.github.io/
 caribou/docs/outline.html

 Source is here:  http://github.com/caribou/caribou (use this for
 issues, you don't actually need the source as it is installed through a
 lein template).

 Some of the independently useful libraries Caribou is built on are:

 * Polaris -- Routing with data (not macros) and reverse routing! :
 https://github.com/caribou/polaris
 * Lichen -- Image resizing to and from s3 or on disk:
 https://github.com/caribou/lichen
 * Schmetterling -- Debugging Clojure processes from the browser:
 https://github.com/prismofeverything/schmetterling
 * Antlers -- Useful extensions to mustache templating (helpers and
 blocks, among other things):  https://github.com/caribou/antlers
 * Groundhog -- Replay http requests: https://github.com/
 noisesmith/groundhog

 And many others.

 Basically this is an Alpha release, and I am announcing it here first
 in order to get as much feedback from the community as possible.  We have
 made it as useful as we can for our purposes and recognize that for it to
 improve from here, we really need as many people using it and building
 things 

Re: [ANN] Optimus - a Ring middleware for frontend performance optimization.

2013-11-25 Thread Jason Bennett
Magnar, could you talk a little about how your project is better 
than/different from Stefon/dieter and cornet? I feel like we have a lot of 
these projects now, all doing mostly the same thing.

I also don't totally understand why they're all done as Ring middleware 
instead of lein/maven plugins. Maybe this is my Java background talking, 
but that seems to me to be the logical place to put this sort of thing.

jason 

On Sunday, November 24, 2013 2:00:10 PM UTC-8, Magnar Sveen wrote:

 I just open sourced optimus. README and code here: 
 https://github.com/magnars/optimushttps://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmagnars%2Foptimussa=Dsntz=1usg=AFQjCNHVew3Ey2Bh409AV3mEhpEipbxGzQ

 Optimus is a Ring middleware for frontend performance optimization.

 It serves your static assets:

- in production: as optimized bundles
- in development: as unchanged, individual files

 In other words: Develop with ease. Optimize in production.

 *Features*

 Depending on how you use it, optimus:

- concatenates your JavaScript and CSS files into bundles.
- minifies your JavaScript with UglifyJS 
 2https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmishoo%2FUglifyJS2sa=Dsntz=1usg=AFQjCNGjUWtc9t6OLfeCSFD67Qiv1YJHuA
- minifies your CSS with 
 CSSOhttp://www.google.com/url?q=http%3A%2F%2Fbem.info%2Ftools%2Foptimizers%2Fcsso%2Fsa=Dsntz=1usg=AFQjCNHFxxUFir_vcxqI79FeEYI-2xijmQ
- adds cache-busters to your static asset URLs
- adds far future Expires 
 headershttp://www.google.com/url?q=http%3A%2F%2Fdeveloper.yahoo.com%2Fperformance%2Frules.html%23expiressa=Dsntz=1usg=AFQjCNFc3zu6wMgQIthHxVHy4AoHDyPdQw

 Also, if you're using Angular.JS:

- prepopulates the Angular template 
 cachehttp://www.google.com/url?q=http%3A%2F%2Fdocs.angularjs.org%2Fapi%2Fng.%2524templateCachesa=Dsntz=1usg=AFQjCNE8i4GlTWl0r4u9fKoAyEipcMYAlw
  with 
your HTML templates.



 https://github.com/magnars/optimushttps://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmagnars%2Foptimussa=Dsntz=1usg=AFQjCNHVew3Ey2Bh409AV3mEhpEipbxGzQ


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


Re: Clojure CLR versioning and binary downloads

2013-11-25 Thread Frank Hale
Thanks David for this information, I really appreciate the work you (and
others) are doing on the CLR version.


On Sun, Nov 24, 2013 at 7:56 AM, Shantanu Kumar kumar.shant...@gmail.comwrote:

 I am trying to run some tests (that worked fine with Mono+ClojureCLR
 1.4.1) in Mono+ClojureCLR 1.5.0 from SourceForge and finding the below
 exception:

 $ # CLOJURE_LOAD_PATH is configured properly
 $ mono /path/to/clojure-clr-1.5.0-Release-4.0/Clojure.Main.exe -i
 /tmp/intermediate-file -e (use 'clojure.test) (run-tests
 'sqlrat.template-test 'sqlrat.entity-test)

 FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An
 exception was thrown by the type initializer for Clojure.CljMain ---
 System.TypeInitializationException: An exception was thrown by the type
 initializer for clojure.lang.RT ---
 clojure.lang.Compiler+AssemblyInitializationException: Cannot find
 initializer for clojure.core.clj, Version=0.0.0.0, Culture=neutral,
 PublicKeyToken=null.clojure/core
   at clojure.lang.Compiler.InitAssembly (System.Reflection.Assembly assy,
 System.String relativePath) [0x0] in filename unknown:0
   at clojure.lang.Compiler.LoadAssembly (System.IO.FileInfo assyInfo,
 System.String relativePath) [0x0] in filename unknown:0
   at clojure.lang.RT.load (System.String relativePath, Boolean
 failIfNotFound) [0x0] in filename unknown:0
   at clojure.lang.RT.load (System.String relativePath) [0x0] in
 filename unknown:0
   at clojure.lang.RT.DoInit () [0x0] in filename unknown:0
   at clojure.lang.RT..cctor () [0x0] in filename unknown:0
   --- End of inner exception stack trace ---
   at Clojure.CljMain..cctor () [0x0] in filename unknown:0
   --- End of inner exception stack trace ---

 Can you give any pointer where should I probe?

 Shantanu


 On Sunday, 24 November 2013 04:59:56 UTC+5:30, dmiller wrote:

 1.5.0 of Clojure CLR includes the one fix in 1.5.1.  I got excited and
 went one too far. Normally, the version numbers match exactly.

 I tagged 1.5.0 a little prematurely.  We had some troubles on the NuGet
 release and on the mono build.  I wasn't really ready for an official 1.5.0
 release, so I hadn't done the SourceForge binary distributions.

 That's all been fixed as of earlier today (11/23/2013 relative to Central
 Standard).

 ClojureCLR 1.5.0 is officially out.

 This version has a NuGet package, with binaries for .Net 3.5 and .Net
 4.0.  All the binaries to run ClojureCLR itself are in one file,
 Clojure.dll, due to the magic of ILMerge and a lot of new internal plumbing
 to allow embedded DLL resources and merged DLLs.  Also, this version is
 signed so that it can be referenced in signed projects or GAC'd.

 There are Debug and Release binaries  (not ILMerged) for .Net 3.5 and
 4.0 on the SourceForge site.

 The wiki pages on the github site have been updated.

 Mono is now supported.  You can run it under Mono.  You can compile it
 directly using xbuild with mono.  Details on the wiki.

 Regarding the Clojure.Main and Clojure.Compile binaries in the NuGet
 package:  Yes, you have to move them to run them.  Clojure.dll has to be in
 the lib\ folder in order for the package to work properly when included in
 a project.  Ancillary files such as Clojure.Main and Clojure.Compile are
 standalones and are not needed for other projects.  They are properly
 contained in the tools\  folder.  I was asked to include them in the NuGet
 package for ClojureCLR.  I'm not happy with the current arrangement, in a
 nitpicky way.  I'm open to suggestions.

 -David



 On Friday, November 22, 2013 8:41:58 PM UTC-6, Frank Hale wrote:

 As far as I can tell the Clojure CLR version number does not track the
 JVM version number at least for some builds. The latest build 1.5.0 as far
 as I can tell is at the same patch level as 1.5.1 on the JVM. This
 numbering seems confusing to me. Are there any plans to streamline the
 version numbers between the two platforms?

 Additionally I don't understand why on the Clojure CLR SourceForge page
 there are only debug versions available for download and 1.5.0 is not
 represented there. If you want 1.5.0 you have to use nuget to get it. I was
 also a bit dumbfounded that the nuget version was broken out of the box and
 what I mean by that is that once you have downloaded it you cannot run the
 compiler or the REPL from it's current directory without first dumping the
 exe's into the lib folder since they are segregated in the package. Running
 the compiler or REPL from their directory will result in them complaining
 that they cannot find the required Clojure CLR DLL's that they need.

 These are kind of nit-picky issues but they've been bugging me for a
 while.

  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send 

Re: Clojure CLR versioning and binary downloads

2013-11-25 Thread Frank Hale
Are there any plans to directly link the CLR downloads on the Clojure
downloads page on Clojure.org? I think it may be helpful to do that because
it's a bit difficult to get to the SourceForge download site by first going
to Clojure.org. The link on Clojure.org takes you to the Github repo, there
you have to click on a link to get to the binary downloads and then you
have to scroll through to find the SourceForge link.






On Mon, Nov 25, 2013 at 1:38 PM, Frank Hale frankh...@gmail.com wrote:

 Thanks David for this information, I really appreciate the work you (and
 others) are doing on the CLR version.


 On Sun, Nov 24, 2013 at 7:56 AM, Shantanu Kumar 
 kumar.shant...@gmail.comwrote:

 I am trying to run some tests (that worked fine with Mono+ClojureCLR
 1.4.1) in Mono+ClojureCLR 1.5.0 from SourceForge and finding the below
 exception:

 $ # CLOJURE_LOAD_PATH is configured properly
 $ mono /path/to/clojure-clr-1.5.0-Release-4.0/Clojure.Main.exe -i
 /tmp/intermediate-file -e (use 'clojure.test) (run-tests
 'sqlrat.template-test 'sqlrat.entity-test)

 FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An
 exception was thrown by the type initializer for Clojure.CljMain ---
 System.TypeInitializationException: An exception was thrown by the type
 initializer for clojure.lang.RT ---
 clojure.lang.Compiler+AssemblyInitializationException: Cannot find
 initializer for clojure.core.clj, Version=0.0.0.0, Culture=neutral,
 PublicKeyToken=null.clojure/core
   at clojure.lang.Compiler.InitAssembly (System.Reflection.Assembly assy,
 System.String relativePath) [0x0] in filename unknown:0
   at clojure.lang.Compiler.LoadAssembly (System.IO.FileInfo assyInfo,
 System.String relativePath) [0x0] in filename unknown:0
   at clojure.lang.RT.load (System.String relativePath, Boolean
 failIfNotFound) [0x0] in filename unknown:0
   at clojure.lang.RT.load (System.String relativePath) [0x0] in
 filename unknown:0
   at clojure.lang.RT.DoInit () [0x0] in filename unknown:0
   at clojure.lang.RT..cctor () [0x0] in filename unknown:0
   --- End of inner exception stack trace ---
   at Clojure.CljMain..cctor () [0x0] in filename unknown:0
   --- End of inner exception stack trace ---

 Can you give any pointer where should I probe?

 Shantanu


 On Sunday, 24 November 2013 04:59:56 UTC+5:30, dmiller wrote:

 1.5.0 of Clojure CLR includes the one fix in 1.5.1.  I got excited and
 went one too far. Normally, the version numbers match exactly.

 I tagged 1.5.0 a little prematurely.  We had some troubles on the NuGet
 release and on the mono build.  I wasn't really ready for an official 1.5.0
 release, so I hadn't done the SourceForge binary distributions.

 That's all been fixed as of earlier today (11/23/2013 relative to
 Central Standard).

 ClojureCLR 1.5.0 is officially out.

 This version has a NuGet package, with binaries for .Net 3.5 and .Net
 4.0.  All the binaries to run ClojureCLR itself are in one file,
 Clojure.dll, due to the magic of ILMerge and a lot of new internal plumbing
 to allow embedded DLL resources and merged DLLs.  Also, this version is
 signed so that it can be referenced in signed projects or GAC'd.

 There are Debug and Release binaries  (not ILMerged) for .Net 3.5 and
 4.0 on the SourceForge site.

 The wiki pages on the github site have been updated.

 Mono is now supported.  You can run it under Mono.  You can compile it
 directly using xbuild with mono.  Details on the wiki.

 Regarding the Clojure.Main and Clojure.Compile binaries in the NuGet
 package:  Yes, you have to move them to run them.  Clojure.dll has to be in
 the lib\ folder in order for the package to work properly when included in
 a project.  Ancillary files such as Clojure.Main and Clojure.Compile are
 standalones and are not needed for other projects.  They are properly
 contained in the tools\  folder.  I was asked to include them in the NuGet
 package for ClojureCLR.  I'm not happy with the current arrangement, in a
 nitpicky way.  I'm open to suggestions.

 -David



 On Friday, November 22, 2013 8:41:58 PM UTC-6, Frank Hale wrote:

 As far as I can tell the Clojure CLR version number does not track the
 JVM version number at least for some builds. The latest build 1.5.0 as far
 as I can tell is at the same patch level as 1.5.1 on the JVM. This
 numbering seems confusing to me. Are there any plans to streamline the
 version numbers between the two platforms?

 Additionally I don't understand why on the Clojure CLR SourceForge page
 there are only debug versions available for download and 1.5.0 is not
 represented there. If you want 1.5.0 you have to use nuget to get it. I was
 also a bit dumbfounded that the nuget version was broken out of the box and
 what I mean by that is that once you have downloaded it you cannot run the
 compiler or the REPL from it's current directory without first dumping the
 exe's into the lib folder since they are segregated in the package. Running
 the 

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

2013-11-25 Thread Mimmo Cosenza
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
 
thanks

mimmo

On Nov 25, 2013, at 6:02 PM, Deniz Kurucu makka...@gmail.com wrote:

 
 Hi,
 
 both didn't work. Any other ideas ?
 
 lein new cljs-start coolappp
 
 Generating fresh 'lein new' cljs-start project.
 Template resource 'leiningen/new/cljs_start/README.MD' not found.
 
 
 On Mon, Nov 25, 2013 at 5:20 PM, Mimmo Cosenza mimmo.cose...@gmail.com 
 wrote:
 Hi,
  
 try the following:
 
 rm -rf ~/.m2/repository/cljs-start
 
 and run again
 
 lein new cljs-start youlibname
 
 If this does not work try the following
 
 git clone https://github.com/magomimmo/cljs-start.git
 cd cljs-start
 lein install
 
 
 and try again to create the project with
 
 lein new cljs-start yourlibname
 
 LTM if it works.
 
 mimmo
 
 
 On Nov 25, 2013, at 4:06 PM, Deniz Kurucu makka...@gmail.com wrote:
 
 Hi,
 
 When i run lein new cljs-start wonderful-lib
 
 I'm getting that error and nothing is created.
 
 Generating fresh 'lein new' cljs-start project.
 Template resource 'leiningen/new/cljs_start/README.MD' not found.
 
 Thanks.
 
 
 
 On Mon, Nov 25, 2013 at 4:24 PM, Mimmo Cosenza mimmo.cose...@gmail.com 
 wrote:
 
 On Nov 25, 2013, at 10:42 AM, Mimmo Cosenza mimmo.cose...@gmail.com wrote:
 
 I'm preparing an example on how to use cljs-start with an already 
 implemented cljs lib (I'll use hiccups as an example). If you have a little 
 of patient tomorrow should be published. 
 
 
 Hi Tom, here is the sample I was talking about. It use the already 
 implemented hiccups lib to demonstrate by instrumenting it with cljs-start.
 
 https://github.com/magomimmo/cljs-start/blob/master/doc/sample.md
 
 Inside you'll also find a brepling session with the instrumented hiccups. I 
 don't know why nobody documents any brepl session (even me. in the 
 modern-cljs series I should say something more about this task which is 
 very, very important to become productive in cljs). 
 
 I hope to contribute a little bit in modifying for the next year the results 
 of the recent survey conducted by the tireless Chas Emerick.
 
 
 HIH 
 Mimmo
 
 
 
 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
 
 
 -- 
 Note that posts from new members are moderated - please be patient with your 
 first post.
 --- 
 You received this message because you are subscribed to the Google Groups 
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at http://groups.google.com/group/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.
 
 
 -- 
 Note that posts from new members are moderated - please be patient with your 
 first post.
 --- 
 You received this message because you are subscribed to the Google Groups 
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at http://groups.google.com/group/clojurescript.



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: [ANN] Optimus - a Ring middleware for frontend performance optimization.

2013-11-25 Thread Magnar Sveen
Hi Jason! 

Magnar, could you talk a little about how your project is better 
 than/different from Stefon/dieter and cornet? I feel like we have a lot of 
 these projects now, all doing mostly the same thing.


Thanks for asking. I'll try to shed some light on the differences as I see 
them, and hopefully the people behind Dieter/Stefon (they're very similar) 
can add some details into their thinking. I haven't seen Comet, and google 
didn't help much either. Can you share a link?

As for Optimus vs Stefon: First of all it's a difference in focus. Stefon 
focuses on being an asset pipeline modelled after Sprockets in Rails. It 
lets you write LESS, CoffeeScript, Haml - turning it into CSS and 
JavaScript. Optimus is not about transpiling from other languages, but 
about frontend optimization. As such, it rewrites your urls to include 
cache busters and serves your assets with far-future expires headers, so 
they can be cached aggressively in production. As I add more features to 
optimus, they too will focus around better frontend performance - and not 
more languages to be transpiled.

While this is the main point in my mind, there are also other differences 
that aren't just details that everyone will agree on. :-) These two come to 
mind:

1. Stefon serves assets live in development, but requires a build step in 
production to precompile the files. Optimus does not require a build step, 
but compiles your asset when the server starts. 

2. Stefon creates bundles by having custom .stefon files with edn-flavored 
lists of files in your directories of static assets. Optimus also needs a 
list of bundles, but does so using Clojure in your program. I would think 
that Stefons' approach is better if your frontend developers are not 
comfortable editing the Clojure code, while Optimus' approach allows more 
programatic control.

I hope I haven't misrepresented Stefon in any way - these are my 
impressions. Since I'm a front-end optimization nut, these arguments were 
enough to sway me to create a different package. It would be several major 
breaking changes to Dieter and Stefon's architectures and APIs, and I 
didn't think I would get anywhere fighting for these changes in github 
issues.

 

 I also don't totally understand why they're all done as Ring middleware 
 instead of lein/maven plugins. Maybe this is my Java background talking, 
 but that seems to me to be the logical place to put this sort of thing.


Front-end development with a compilation step is pretty horrible. There's 
also the case that the URL to a static asset and its location on disk is 
entirely different after optimization.

Hope that answers your questions somewhat decently. And if it didn't, maybe 
you'll be swayed by the argument that a little competition is a good thing 
for the community. :)

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

2013-11-25 Thread Deniz Kurucu
On Mon, Nov 25, 2013 at 8:59 PM, Mimmo Cosenza mimmo.cose...@gmail.comwrote:

 what are:

 - you operating system


Ubuntu 12.04 64 bit


 - java virtual machine (java -version # from the terminal)


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)



 - leiningen version (lein version # from the terminal)


Leiningen 2.1.3 on Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM



 Have you tried to create a project with others lein-template? e.g.

 https://github.com/konrad-garus/cljs-kickoff


Yes, that one works.



 thanks

 mimmo


Thanks.


 On Nov 25, 2013, at 6:02 PM, Deniz Kurucu makka...@gmail.com wrote:


 Hi,

 both didn't work. Any other ideas ?

 lein new cljs-start coolappp

 Generating fresh 'lein new' cljs-start project.
 Template resource 'leiningen/new/cljs_start/README.MD http://readme.md/'
 not found.


 On Mon, Nov 25, 2013 at 5:20 PM, Mimmo Cosenza mimmo.cose...@gmail.comwrote:

 Hi,



 try the following:

 rm -rf ~/.m2/repository/cljs-start

 and run again

 lein new cljs-start youlibname

 If this does not work try the following

 git clone https://github.com/magomimmo/cljs-start.git
 cd cljs-start
 lein install


 and try again to create the project with

 lein new cljs-start yourlibname

 LTM if it works.

 mimmo


 On Nov 25, 2013, at 4:06 PM, Deniz Kurucu makka...@gmail.com wrote:

 Hi,

 When i run lein new cljs-start wonderful-lib

 I'm getting that error and nothing is created.

 Generating fresh 'lein new' cljs-start project.
 Template resource 'leiningen/new/cljs_start/README.MD http://readme.md/'
 not found.

 Thanks.



 On Mon, Nov 25, 2013 at 4:24 PM, Mimmo Cosenza 
 mimmo.cose...@gmail.comwrote:


 On Nov 25, 2013, at 10:42 AM, Mimmo Cosenza mimmo.cose...@gmail.com
 wrote:

 I'm preparing an example on how to use cljs-start with an already
 implemented cljs lib (I'll use hiccups as an example). If you have a little
 of patient tomorrow should be published.


 Hi Tom, here is the sample I was talking about. It use the already
 implemented hiccups lib to demonstrate by instrumenting it with cljs-start.

 https://github.com/magomimmo/cljs-start/blob/master/doc/sample.md

 Inside you'll also find a brepling session with the instrumented
 hiccups. I don't know why nobody documents any brepl session (even me. in
 the modern-cljs series I should say something more about this task which is
 very, very important to become productive in cljs).

 I hope to contribute a little bit in modifying for the next year the
 results of the recent survey conducted by the tireless Chas Emerick.


 HIH
 Mimmo



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



 --
 Note that posts from new members are moderated - please be patient with
 your first post.
 ---
 You received this message because you are subscribed to the Google Groups
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at http://groups.google.com/group/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.



 --
 Note that posts from new members are moderated - please be patient with
 your first post.
 ---
 You received this message because you are subscribed to the Google Groups
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at 

Re: expand a form

2013-11-25 Thread Andy Smith
In your example a full expansion might be : (. clojure.lang.Numbers (add 10 
1))


On Monday, 25 November 2013 17:16:42 UTC, Guru Devanla wrote:

 Hi Andy,

 Not sure what you need in terms of function calls being expanded. Can you 
 provide an example.

 Here is an silly example, even though this kind of macro is not needed:

 (def addone [v]
 (+ v 1)

 (defmacro testmacro [init]
(list 'addone init))

 (macroexpand '(testmacro 10))

 expands to

 (addone 10)

 Thanks
 Guru


 On Mon, Nov 25, 2013 at 6:32 AM, Andy Smith 
 the4th...@googlemail.comjavascript:
  wrote:

 It doesnt seem to expand function calls though right?


 On Monday, 25 November 2013 12:55:27 UTC, Andy Smith wrote:

 Hi,

 I am new to clojure and I was wondering if there is a macro I can use to 
 fully expand all symbols and macros in a form, without performing the final 
 evaluation of the built in functions?

 Thanks

 Andy

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




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


Re: T-shirts?

2013-11-25 Thread gaz jones
This shirt appears to be complecting fashion, programming, AND advertising.


On Mon, Nov 25, 2013 at 11:17 AM, Laurent PETIT laurent.pe...@gmail.comwrote:

 Hey Bruce,

 2013/11/25 Bruce Durling b...@otfrom.com:
  Yay! Thanks Rich!
 
  Good picture of you. Have you been working out before taking those
  shots in the t-shirt?

 It's a direct side-effect of following Clojure's strengths in your
 life: simplicity, power, focus ;-)

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

2013-11-25 Thread John D. Hume
You won't find the results as easy to read as what you're asking for, but
clojure.tools.analyzer will show you calls that have been inlined by the
compiler.
On Nov 25, 2013 2:24 PM, Andy Smith the4thamig...@googlemail.com wrote:

 In your example a full expansion might be : (. clojure.lang.Numbers (add
 10 1))


 On Monday, 25 November 2013 17:16:42 UTC, Guru Devanla wrote:

 Hi Andy,

 Not sure what you need in terms of function calls being expanded. Can you
 provide an example.

 Here is an silly example, even though this kind of macro is not needed:

 (def addone [v]
 (+ v 1)

 (defmacro testmacro [init]
(list 'addone init))

 (macroexpand '(testmacro 10))

 expands to

 (addone 10)

 Thanks
 Guru


 On Mon, Nov 25, 2013 at 6:32 AM, Andy Smith the4th...@googlemail.comwrote:

 It doesnt seem to expand function calls though right?


 On Monday, 25 November 2013 12:55:27 UTC, Andy Smith wrote:

 Hi,

 I am new to clojure and I was wondering if there is a macro I can use
 to fully expand all symbols and macros in a form, without performing the
 final evaluation of the built in functions?

 Thanks

 Andy

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


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


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


Re: expand a form

2013-11-25 Thread Gary Verhaegen
Not sure it covers what you're asking for, but if you want to manually step
through your function calls, you can use syntax-quote, provided that you
have access to the spurce code of the functions you want to step through.

Or you can try the debuggers in Clojure-enabled IDEs like Eclipse and
IntelliJ.

On Monday, 25 November 2013, John D. Hume wrote:

 You won't find the results as easy to read as what you're asking for, but
 clojure.tools.analyzer will show you calls that have been inlined by the
 compiler.
 On Nov 25, 2013 2:24 PM, Andy Smith the4thamig...@googlemail.com
 wrote:

 In your example a full expansion might be : (. clojure.lang.Numbers (add
 10 1))


 On Monday, 25 November 2013 17:16:42 UTC, Guru Devanla wrote:

 Hi Andy,

 Not sure what you need in terms of function calls being expanded. Can you
 provide an example.

 Here is an silly example, even though this kind of macro is not needed:

 (def addone [v]
 (+ v 1)

 (defmacro testmacro [init]
(list 'addone init))

 (macroexpand '(testmacro 10))

 expands to

 (addone 10)

 Thanks
 Guru


 On Mon, Nov 25, 2013 at 6:32 AM, Andy Smith the4th...@googlemail.comwrote:

 It doesnt seem to expand function calls though right?


 On Monday, 25 November 2013 12:55:27 UTC, Andy Smith wrote:

 Hi,

 I am new to clojure and I was wondering if there is a macro I can use to
 fully expand all symbols and macros in a form, without performing the final
 evaluation of the built in functions?

 Thanks

 Andy

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



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


Clojure style

2013-11-25 Thread Frank Hale
Given the following code snippet would declaring a Var with an anonymous
function be considered bad style? Would there be any real use cases where
this would be regarded as a cleaner mechanism to declare a function rather
than declaring one with defn?

user= (def pow #(Math/pow %1 %2))
#'user/pow
user= (pow 2 4)
16.0

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


Re: Clojure style

2013-11-25 Thread Gary Trakhman
Yes, I'd consider this bad style, for one, you don't get the arglists
metadata showing the names of variables during a repl session.  That
metadata is on the var, and not the function itself.  I'm not familiar with
Math/pow's function signature off the top of my head.

I would consider it only in the specific case where you want a computation
to happen at compile-time, perhaps by calling a function that returns a
function (core.memoize, for instance).  The work to set up the cache is
done during namespace initialization and never after.


On Mon, Nov 25, 2013 at 4:18 PM, Frank Hale frankh...@gmail.com wrote:

 Given the following code snippet would declaring a Var with an anonymous
 function be considered bad style? Would there be any real use cases where
 this would be regarded as a cleaner mechanism to declare a function rather
 than declaring one with defn?

 user= (def pow #(Math/pow %1 %2))
 #'user/pow
 user= (pow 2 4)
 16.0

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

2013-11-25 Thread Frank Hale
Thank you. My example was contrived as I was reading through the Clojure
style guide (linked below). This kind of thing isn't specifically mentioned
so I had the urge to try it and it works. That got me thinking that this
would likely be bad style (hackish). I started Googling but did not find
anything yet. It is interesting though.

https://github.com/bbatsov/clojure-style-guide


On Mon, Nov 25, 2013 at 4:27 PM, Gary Trakhman gary.trakh...@gmail.comwrote:

 Yes, I'd consider this bad style, for one, you don't get the arglists
 metadata showing the names of variables during a repl session.  That
 metadata is on the var, and not the function itself.  I'm not familiar with
 Math/pow's function signature off the top of my head.

 I would consider it only in the specific case where you want a computation
 to happen at compile-time, perhaps by calling a function that returns a
 function (core.memoize, for instance).  The work to set up the cache is
 done during namespace initialization and never after.


 On Mon, Nov 25, 2013 at 4:18 PM, Frank Hale frankh...@gmail.com wrote:

 Given the following code snippet would declaring a Var with an anonymous
 function be considered bad style? Would there be any real use cases where
 this would be regarded as a cleaner mechanism to declare a function rather
 than declaring one with defn?

 user= (def pow #(Math/pow %1 %2))
 #'user/pow
 user= (pow 2 4)
 16.0

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

2013-11-25 Thread Paul Bostrom
The light-colored shirts have a bug...or is it a feature?

On Monday, November 25, 2013 2:29:21 PM UTC-6, Gareth Jones wrote:

 This shirt appears to be complecting fashion, programming, AND advertising.


 On Mon, Nov 25, 2013 at 11:17 AM, Laurent PETIT 
 lauren...@gmail.comjavascript:
  wrote:

 Hey Bruce,

 2013/11/25 Bruce Durling b...@otfrom.com javascript::
  Yay! Thanks Rich!
 
  Good picture of you. Have you been working out before taking those
  shots in the t-shirt?

 It's a direct side-effect of following Clojure's strengths in your
 life: simplicity, power, focus ;-)

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




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


Re: [ANN] Optimus - a Ring middleware for frontend performance optimization.

2013-11-25 Thread Jason Bennett
Ok, thanks for the reply. Cornet is at https://github.com/cosmi/cornet, 
it's similar to stefon.

I believe there are some existing middlewares for ring that do similar 
things (like wrap-not-modified). Do you replace this or work with it?

jason

On Monday, November 25, 2013 11:10:54 AM UTC-8, Magnar Sveen wrote:

 Hi Jason! 

 Magnar, could you talk a little about how your project is better 
 than/different from Stefon/dieter and cornet? I feel like we have a lot of 
 these projects now, all doing mostly the same thing.


 Thanks for asking. I'll try to shed some light on the differences as I see 
 them, and hopefully the people behind Dieter/Stefon (they're very similar) 
 can add some details into their thinking. I haven't seen Comet, and google 
 didn't help much either. Can you share a link?

 As for Optimus vs Stefon: First of all it's a difference in focus. Stefon 
 focuses on being an asset pipeline modelled after Sprockets in Rails. It 
 lets you write LESS, CoffeeScript, Haml - turning it into CSS and 
 JavaScript. Optimus is not about transpiling from other languages, but 
 about frontend optimization. As such, it rewrites your urls to include 
 cache busters and serves your assets with far-future expires headers, so 
 they can be cached aggressively in production. As I add more features to 
 optimus, they too will focus around better frontend performance - and not 
 more languages to be transpiled.

 While this is the main point in my mind, there are also other differences 
 that aren't just details that everyone will agree on. :-) These two come to 
 mind:

 1. Stefon serves assets live in development, but requires a build step in 
 production to precompile the files. Optimus does not require a build step, 
 but compiles your asset when the server starts. 

 2. Stefon creates bundles by having custom .stefon files with edn-flavored 
 lists of files in your directories of static assets. Optimus also needs a 
 list of bundles, but does so using Clojure in your program. I would think 
 that Stefons' approach is better if your frontend developers are not 
 comfortable editing the Clojure code, while Optimus' approach allows more 
 programatic control.

 I hope I haven't misrepresented Stefon in any way - these are my 
 impressions. Since I'm a front-end optimization nut, these arguments were 
 enough to sway me to create a different package. It would be several major 
 breaking changes to Dieter and Stefon's architectures and APIs, and I 
 didn't think I would get anywhere fighting for these changes in github 
 issues.

  

 I also don't totally understand why they're all done as Ring middleware 
 instead of lein/maven plugins. Maybe this is my Java background talking, 
 but that seems to me to be the logical place to put this sort of thing.


 Front-end development with a compilation step is pretty horrible. There's 
 also the case that the URL to a static asset and its location on disk is 
 entirely different after optimization.

 Hope that answers your questions somewhat decently. And if it didn't, 
 maybe you'll be swayed by the argument that a little competition is a good 
 thing for the community. :)

 - 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: expand a form

2013-11-25 Thread Alex Miller
You might find tools.trace useful for examining a form as it is executed. 
 https://github.com/clojure/tools.trace


On Monday, November 25, 2013 6:55:27 AM UTC-6, Andy Smith wrote:

 Hi,

 I am new to clojure and I was wondering if there is a macro I can use to 
 fully expand all symbols and macros in a form, without performing the final 
 evaluation of the built in functions?

 Thanks

 Andy


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


Re: Clojure CLR versioning and binary downloads

2013-11-25 Thread Alex Miller
I added a link here http://clojure.org/clojureclr to the binary download 
wiki page. I'm happy to update this page in whatever way people find useful 
- feel free to ping me on email David, Frank, or others.

On Monday, November 25, 2013 12:48:51 PM UTC-6, Frank Hale wrote:

 Are there any plans to directly link the CLR downloads on the Clojure 
 downloads page on Clojure.org? I think it may be helpful to do that because 
 it's a bit difficult to get to the SourceForge download site by first going 
 to Clojure.org. The link on Clojure.org takes you to the Github repo, there 
 you have to click on a link to get to the binary downloads and then you 
 have to scroll through to find the SourceForge link.  






 On Mon, Nov 25, 2013 at 1:38 PM, Frank Hale fran...@gmail.comjavascript:
  wrote:

 Thanks David for this information, I really appreciate the work you (and 
 others) are doing on the CLR version.


 On Sun, Nov 24, 2013 at 7:56 AM, Shantanu Kumar 
 kumar.s...@gmail.comjavascript:
  wrote:

 I am trying to run some tests (that worked fine with Mono+ClojureCLR 
 1.4.1) in Mono+ClojureCLR 1.5.0 from SourceForge and finding the below 
 exception:

 $ # CLOJURE_LOAD_PATH is configured properly
 $ mono /path/to/clojure-clr-1.5.0-Release-4.0/Clojure.Main.exe -i 
 /tmp/intermediate-file -e (use 'clojure.test) (run-tests 
 'sqlrat.template-test 'sqlrat.entity-test)

 FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An 
 exception was thrown by the type initializer for Clojure.CljMain --- 
 System.TypeInitializationException: An exception was thrown by the type 
 initializer for clojure.lang.RT --- 
 clojure.lang.Compiler+AssemblyInitializationException: Cannot find 
 initializer for clojure.core.clj, Version=0.0.0.0, Culture=neutral, 
 PublicKeyToken=null.clojure/core
   at clojure.lang.Compiler.InitAssembly (System.Reflection.Assembly 
 assy, System.String relativePath) [0x0] in filename unknown:0 
   at clojure.lang.Compiler.LoadAssembly (System.IO.FileInfo assyInfo, 
 System.String relativePath) [0x0] in filename unknown:0 
   at clojure.lang.RT.load (System.String relativePath, Boolean 
 failIfNotFound) [0x0] in filename unknown:0 
   at clojure.lang.RT.load (System.String relativePath) [0x0] in 
 filename unknown:0 
   at clojure.lang.RT.DoInit () [0x0] in filename unknown:0 
   at clojure.lang.RT..cctor () [0x0] in filename unknown:0 
   --- End of inner exception stack trace ---
   at Clojure.CljMain..cctor () [0x0] in filename unknown:0 
   --- End of inner exception stack trace ---

 Can you give any pointer where should I probe?

 Shantanu


 On Sunday, 24 November 2013 04:59:56 UTC+5:30, dmiller wrote:

 1.5.0 of Clojure CLR includes the one fix in 1.5.1.  I got excited and 
 went one too far. Normally, the version numbers match exactly.

 I tagged 1.5.0 a little prematurely.  We had some troubles on the NuGet 
 release and on the mono build.  I wasn't really ready for an official 
 1.5.0 
 release, so I hadn't done the SourceForge binary distributions.

 That's all been fixed as of earlier today (11/23/2013 relative to 
 Central Standard).

 ClojureCLR 1.5.0 is officially out.

 This version has a NuGet package, with binaries for .Net 3.5 and .Net 
 4.0.  All the binaries to run ClojureCLR itself are in one file, 
 Clojure.dll, due to the magic of ILMerge and a lot of new internal 
 plumbing 
 to allow embedded DLL resources and merged DLLs.  Also, this version is 
 signed so that it can be referenced in signed projects or GAC'd.  

 There are Debug and Release binaries  (not ILMerged) for .Net 3.5 and 
 4.0 on the SourceForge site.

 The wiki pages on the github site have been updated.

 Mono is now supported.  You can run it under Mono.  You can compile it 
 directly using xbuild with mono.  Details on the wiki.

 Regarding the Clojure.Main and Clojure.Compile binaries in the NuGet 
 package:  Yes, you have to move them to run them.  Clojure.dll has to be 
 in 
 the lib\ folder in order for the package to work properly when included in 
 a project.  Ancillary files such as Clojure.Main and Clojure.Compile are 
 standalones and are not needed for other projects.  They are properly 
 contained in the tools\  folder.  I was asked to include them in the NuGet 
 package for ClojureCLR.  I'm not happy with the current arrangement, in a 
 nitpicky way.  I'm open to suggestions.

 -David



 On Friday, November 22, 2013 8:41:58 PM UTC-6, Frank Hale wrote:

 As far as I can tell the Clojure CLR version number does not track the 
 JVM version number at least for some builds. The latest build 1.5.0 as 
 far 
 as I can tell is at the same patch level as 1.5.1 on the JVM. This 
 numbering seems confusing to me. Are there any plans to streamline the 
 version numbers between the two platforms?

 Additionally I don't understand why on the Clojure CLR SourceForge 
 page there are only debug versions available for download and 1.5.0 is 
 not 
 represented there. If you 

Re: Clojure CLR versioning and binary downloads

2013-11-25 Thread Frank Hale
Awesome! Thanks Alex.

On the current Clojure downloads page it's simple to get a copy of the JVM
Clojure but it's not as simple to get a copy of the CLR Clojure. It'd be
nice if a direct link could be made to make it just as easy to obtain the
CLR version from the SourceForge page here:

http://sourceforge.net/projects/clojureclr/files/

Additionally a note about how to obtain the CLR version in other ways (ex.
Nuget) may also be handy to post there. I think most people coming into
Clojure are going to hit Clojure.org looking for information first and
having the current experience of multiple clicks to reach the download site
is a bit too cumbersome. I think it'd behoove the community if it was made
as easy as possible to get directly to the software from Clojure.org.


On Mon, Nov 25, 2013 at 5:10 PM, Alex Miller a...@puredanger.com wrote:

 I added a link here http://clojure.org/clojureclr to the binary download
 wiki page. I'm happy to update this page in whatever way people find useful
 - feel free to ping me on email David, Frank, or others.


 On Monday, November 25, 2013 12:48:51 PM UTC-6, Frank Hale wrote:

 Are there any plans to directly link the CLR downloads on the Clojure
 downloads page on Clojure.org? I think it may be helpful to do that because
 it's a bit difficult to get to the SourceForge download site by first going
 to Clojure.org. The link on Clojure.org takes you to the Github repo, there
 you have to click on a link to get to the binary downloads and then you
 have to scroll through to find the SourceForge link.






 On Mon, Nov 25, 2013 at 1:38 PM, Frank Hale fran...@gmail.com wrote:

 Thanks David for this information, I really appreciate the work you (and
 others) are doing on the CLR version.


 On Sun, Nov 24, 2013 at 7:56 AM, Shantanu Kumar kumar.s...@gmail.comwrote:

 I am trying to run some tests (that worked fine with Mono+ClojureCLR
 1.4.1) in Mono+ClojureCLR 1.5.0 from SourceForge and finding the below
 exception:

 $ # CLOJURE_LOAD_PATH is configured properly
 $ mono /path/to/clojure-clr-1.5.0-Release-4.0/Clojure.Main.exe -i
 /tmp/intermediate-file -e (use 'clojure.test) (run-tests
 'sqlrat.template-test 'sqlrat.entity-test)

 FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An
 exception was thrown by the type initializer for Clojure.CljMain ---
 System.TypeInitializationException: An exception was thrown by the
 type initializer for clojure.lang.RT --- clojure.lang.Compiler+
 AssemblyInitializationException: Cannot find initializer for
 clojure.core.clj, Version=0.0.0.0, Culture=neutral,
 PublicKeyToken=null.clojure/core
   at clojure.lang.Compiler.InitAssembly (System.Reflection.Assembly
 assy, System.String relativePath) [0x0] in filename unknown:0
   at clojure.lang.Compiler.LoadAssembly (System.IO.FileInfo assyInfo,
 System.String relativePath) [0x0] in filename unknown:0
   at clojure.lang.RT.load (System.String relativePath, Boolean
 failIfNotFound) [0x0] in filename unknown:0
   at clojure.lang.RT.load (System.String relativePath) [0x0] in
 filename unknown:0
   at clojure.lang.RT.DoInit () [0x0] in filename unknown:0
   at clojure.lang.RT..cctor () [0x0] in filename unknown:0
   --- End of inner exception stack trace ---
   at Clojure.CljMain..cctor () [0x0] in filename unknown:0
   --- End of inner exception stack trace ---

 Can you give any pointer where should I probe?

 Shantanu


 On Sunday, 24 November 2013 04:59:56 UTC+5:30, dmiller wrote:

 1.5.0 of Clojure CLR includes the one fix in 1.5.1.  I got excited and
 went one too far. Normally, the version numbers match exactly.

 I tagged 1.5.0 a little prematurely.  We had some troubles on the
 NuGet release and on the mono build.  I wasn't really ready for an 
 official
 1.5.0 release, so I hadn't done the SourceForge binary distributions.

 That's all been fixed as of earlier today (11/23/2013 relative to
 Central Standard).

 ClojureCLR 1.5.0 is officially out.

 This version has a NuGet package, with binaries for .Net 3.5 and .Net
 4.0.  All the binaries to run ClojureCLR itself are in one file,
 Clojure.dll, due to the magic of ILMerge and a lot of new internal 
 plumbing
 to allow embedded DLL resources and merged DLLs.  Also, this version is
 signed so that it can be referenced in signed projects or GAC'd.

 There are Debug and Release binaries  (not ILMerged) for .Net 3.5 and
 4.0 on the SourceForge site.

 The wiki pages on the github site have been updated.

 Mono is now supported.  You can run it under Mono.  You can compile it
 directly using xbuild with mono.  Details on the wiki.

 Regarding the Clojure.Main and Clojure.Compile binaries in the NuGet
 package:  Yes, you have to move them to run them.  Clojure.dll has to be 
 in
 the lib\ folder in order for the package to work properly when included in
 a project.  Ancillary files such as Clojure.Main and Clojure.Compile are
 standalones and are not needed for other projects.  They are properly
 

Re: [ANN] Optimus - a Ring middleware for frontend performance optimization.

2013-11-25 Thread Magnar Sveen
Thanks for the link to cornet. Must be the kerning on my font, since I read 
comet. :-) I'll definitely check it out. At first glance it looks like a 
replacement for Dieter/Stefon, more focused on transpiling than 
optimization. I can't see any mention of it tackling problems like cache 
busting, and the issues that come with it. For instance how the cache 
busters on CSS files need to be a cascade of the assets they link to.

As for basic ring middlewares, I try not to reimplement them. So you would 
use wrap-content-type, for instance. As for wrap-not-modified, that's an 
interesting thought - especially since we know the asset hasn't changed, or 
it would be under another name. I'll have to look into that further. Nice 
tip, thanks.

- Magnar

On Monday, November 25, 2013 10:56:33 PM UTC+1, Jason Bennett wrote:

 Ok, thanks for the reply. Cornet is at 
 https://github.com/cosmi/cornethttps://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fcosmi%2Fcornetsa=Dsntz=1usg=AFQjCNGTDwnsbtlpY6VpnA2Xpg3UKB19Sg,
  
 it's similar to stefon.

 I believe there are some existing middlewares for ring that do similar 
 things (like wrap-not-modified). Do you replace this or work with it?

 jason

 On Monday, November 25, 2013 11:10:54 AM UTC-8, Magnar Sveen wrote:

 Hi Jason! 

 Magnar, could you talk a little about how your project is better 
 than/different from Stefon/dieter and cornet? I feel like we have a lot of 
 these projects now, all doing mostly the same thing.


 Thanks for asking. I'll try to shed some light on the differences as I 
 see them, and hopefully the people behind Dieter/Stefon (they're very 
 similar) can add some details into their thinking. I haven't seen Comet, 
 and google didn't help much either. Can you share a link?

 As for Optimus vs Stefon: First of all it's a difference in focus. Stefon 
 focuses on being an asset pipeline modelled after Sprockets in Rails. It 
 lets you write LESS, CoffeeScript, Haml - turning it into CSS and 
 JavaScript. Optimus is not about transpiling from other languages, but 
 about frontend optimization. As such, it rewrites your urls to include 
 cache busters and serves your assets with far-future expires headers, so 
 they can be cached aggressively in production. As I add more features to 
 optimus, they too will focus around better frontend performance - and not 
 more languages to be transpiled.

 While this is the main point in my mind, there are also other differences 
 that aren't just details that everyone will agree on. :-) These two come to 
 mind:

 1. Stefon serves assets live in development, but requires a build step in 
 production to precompile the files. Optimus does not require a build step, 
 but compiles your asset when the server starts. 

 2. Stefon creates bundles by having custom .stefon files with 
 edn-flavored lists of files in your directories of static assets. Optimus 
 also needs a list of bundles, but does so using Clojure in your program. I 
 would think that Stefons' approach is better if your frontend developers 
 are not comfortable editing the Clojure code, while Optimus' approach 
 allows more programatic control.

 I hope I haven't misrepresented Stefon in any way - these are my 
 impressions. Since I'm a front-end optimization nut, these arguments were 
 enough to sway me to create a different package. It would be several major 
 breaking changes to Dieter and Stefon's architectures and APIs, and I 
 didn't think I would get anywhere fighting for these changes in github 
 issues.

  

 I also don't totally understand why they're all done as Ring middleware 
 instead of lein/maven plugins. Maybe this is my Java background talking, 
 but that seems to me to be the logical place to put this sort of thing.


 Front-end development with a compilation step is pretty horrible. There's 
 also the case that the URL to a static asset and its location on disk is 
 entirely different after optimization.

 Hope that answers your questions somewhat decently. And if it didn't, 
 maybe you'll be swayed by the argument that a little competition is a good 
 thing for the community. :)

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

2013-11-25 Thread dgrnbrg
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.mdhttps://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Ftechnomancy%2Fleiningen%2Fblob%2Fstable%2Fdoc%2FPROFILES.mdsa=Dsntz=1usg=AFQjCNGPecCbKEDAS5MWZP4qvsqXetVkTw
  

 On Mon, Nov 25, 2013 at 3:34 PM, Dave Tenny dave@gmail.comjavascript: 
 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.comjavascript: 
  Note that posts from new members are moderated - please be patient with 
 your 
  first post. 
  To unsubscribe from this group, send email to 
  clojure+u...@googlegroups.com javascript: 
  For more options, visit this group at 
  http://groups.google.com/group/clojure?hl=en 
  --- 
  You received this message because you are subscribed to the Google 
 Groups 
  Clojure group. 
  To unsubscribe from this group and stop receiving emails from it, send 
 an 
  email to clojure+u...@googlegroups.com javascript:. 
  For more options, visit https://groups.google.com/groups/opt_out. 


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


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

2013-11-25 Thread Mimmo Cosenza
you need to upgrade to leiningen = 2.2.0

lein upgrade # from the terminal

On Nov 25, 2013, at 8:18 PM, Deniz Kurucu makka...@gmail.com wrote:

 
 
 
 On Mon, Nov 25, 2013 at 8:59 PM, Mimmo Cosenza mimmo.cose...@gmail.com 
 wrote:
 what are:
 
 - you operating system
 
 Ubuntu 12.04 64 bit
  
 - java virtual machine (java -version # from the terminal)
 
 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)
 
  
 - leiningen version (lein version # from the terminal)
 
 
 Leiningen 2.1.3 on Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM
 
  
 Have you tried to create a project with others lein-template? e.g. 
 
 https://github.com/konrad-garus/cljs-kickoff
 
 Yes, that one works.
  
  
 thanks
 
 mimmo
 
 
 Thanks.
  
 On Nov 25, 2013, at 6:02 PM, Deniz Kurucu makka...@gmail.com wrote:
 
 
 Hi,
 
 both didn't work. Any other ideas ?
 
 lein new cljs-start coolappp
 
 Generating fresh 'lein new' cljs-start project.
 Template resource 'leiningen/new/cljs_start/README.MD' not found.
 
 
 On Mon, Nov 25, 2013 at 5:20 PM, Mimmo Cosenza mimmo.cose...@gmail.com 
 wrote:
 Hi,
  
 try the following:
 
 rm -rf ~/.m2/repository/cljs-start
 
 and run again
 
 lein new cljs-start youlibname
 
 If this does not work try the following
 
 git clone https://github.com/magomimmo/cljs-start.git
 cd cljs-start
 lein install
 
 
 and try again to create the project with
 
 lein new cljs-start yourlibname
 
 LTM if it works.
 
 mimmo
 
 
 On Nov 25, 2013, at 4:06 PM, Deniz Kurucu makka...@gmail.com wrote:
 
 Hi,
 
 When i run lein new cljs-start wonderful-lib
 
 I'm getting that error and nothing is created.
 
 Generating fresh 'lein new' cljs-start project.
 Template resource 'leiningen/new/cljs_start/README.MD' not found.
 
 Thanks.
 
 
 
 On Mon, Nov 25, 2013 at 4:24 PM, Mimmo Cosenza mimmo.cose...@gmail.com 
 wrote:
 
 On Nov 25, 2013, at 10:42 AM, Mimmo Cosenza mimmo.cose...@gmail.com wrote:
 
 I'm preparing an example on how to use cljs-start with an already 
 implemented cljs lib (I'll use hiccups as an example). If you have a 
 little of patient tomorrow should be published. 
 
 
 Hi Tom, here is the sample I was talking about. It use the already 
 implemented hiccups lib to demonstrate by instrumenting it with cljs-start.
 
 https://github.com/magomimmo/cljs-start/blob/master/doc/sample.md
 
 Inside you'll also find a brepling session with the instrumented hiccups. I 
 don't know why nobody documents any brepl session (even me. in the 
 modern-cljs series I should say something more about this task which is 
 very, very important to become productive in cljs). 
 
 I hope to contribute a little bit in modifying for the next year the 
 results of the recent survey conducted by the tireless Chas Emerick.
 
 
 HIH 
 Mimmo
 
 
 
 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
 
 
 -- 
 Note that posts from new members are moderated - please be patient with 
 your first post.
 --- 
 You received this message because you are subscribed to the Google Groups 
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at http://groups.google.com/group/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.
 
 
 -- 
 Note that posts from new members are moderated - please be patient with your 
 first post.
 --- 
 You received this message because you are subscribed to the Google Groups 
 ClojureScript group.
 To unsubscribe from this group and 

Re: Clojure CLR versioning and binary downloads

2013-11-25 Thread Frank Hale
It'd be great if this page http://clojure.org/downloads could reflect
Clojure JVM, Clojure CLR, Clojurescript or relevant info on how to easily
obtain the necessary software to get started. Sure, it's not all that
difficult if you are curious and don't mind poking around for a few minutes
but I do think that that page could be improved upon specifically for the
other versions of Clojure that are out there.


On Mon, Nov 25, 2013 at 5:15 PM, Frank Hale frankh...@gmail.com wrote:

 Awesome! Thanks Alex.

 On the current Clojure downloads page it's simple to get a copy of the JVM
 Clojure but it's not as simple to get a copy of the CLR Clojure. It'd be
 nice if a direct link could be made to make it just as easy to obtain the
 CLR version from the SourceForge page here:

 http://sourceforge.net/projects/clojureclr/files/

 Additionally a note about how to obtain the CLR version in other ways (ex.
 Nuget) may also be handy to post there. I think most people coming into
 Clojure are going to hit Clojure.org looking for information first and
 having the current experience of multiple clicks to reach the download site
 is a bit too cumbersome. I think it'd behoove the community if it was made
 as easy as possible to get directly to the software from Clojure.org.


 On Mon, Nov 25, 2013 at 5:10 PM, Alex Miller a...@puredanger.com wrote:

 I added a link here http://clojure.org/clojureclr to the binary download
 wiki page. I'm happy to update this page in whatever way people find useful
 - feel free to ping me on email David, Frank, or others.


 On Monday, November 25, 2013 12:48:51 PM UTC-6, Frank Hale wrote:

 Are there any plans to directly link the CLR downloads on the Clojure
 downloads page on Clojure.org? I think it may be helpful to do that because
 it's a bit difficult to get to the SourceForge download site by first going
 to Clojure.org. The link on Clojure.org takes you to the Github repo, there
 you have to click on a link to get to the binary downloads and then you
 have to scroll through to find the SourceForge link.






 On Mon, Nov 25, 2013 at 1:38 PM, Frank Hale fran...@gmail.com wrote:

 Thanks David for this information, I really appreciate the work you
 (and others) are doing on the CLR version.


 On Sun, Nov 24, 2013 at 7:56 AM, Shantanu Kumar 
 kumar.s...@gmail.comwrote:

 I am trying to run some tests (that worked fine with Mono+ClojureCLR
 1.4.1) in Mono+ClojureCLR 1.5.0 from SourceForge and finding the below
 exception:

 $ # CLOJURE_LOAD_PATH is configured properly
 $ mono /path/to/clojure-clr-1.5.0-Release-4.0/Clojure.Main.exe -i
 /tmp/intermediate-file -e (use 'clojure.test) (run-tests
 'sqlrat.template-test 'sqlrat.entity-test)

 FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An
 exception was thrown by the type initializer for Clojure.CljMain ---
 System.TypeInitializationException: An exception was thrown by the
 type initializer for clojure.lang.RT --- clojure.lang.Compiler+
 AssemblyInitializationException: Cannot find initializer for
 clojure.core.clj, Version=0.0.0.0, Culture=neutral,
 PublicKeyToken=null.clojure/core
   at clojure.lang.Compiler.InitAssembly (System.Reflection.Assembly
 assy, System.String relativePath) [0x0] in filename unknown:0
   at clojure.lang.Compiler.LoadAssembly (System.IO.FileInfo assyInfo,
 System.String relativePath) [0x0] in filename unknown:0
   at clojure.lang.RT.load (System.String relativePath, Boolean
 failIfNotFound) [0x0] in filename unknown:0
   at clojure.lang.RT.load (System.String relativePath) [0x0] in
 filename unknown:0
   at clojure.lang.RT.DoInit () [0x0] in filename unknown:0
   at clojure.lang.RT..cctor () [0x0] in filename unknown:0
   --- End of inner exception stack trace ---
   at Clojure.CljMain..cctor () [0x0] in filename unknown:0
   --- End of inner exception stack trace ---

 Can you give any pointer where should I probe?

 Shantanu


 On Sunday, 24 November 2013 04:59:56 UTC+5:30, dmiller wrote:

 1.5.0 of Clojure CLR includes the one fix in 1.5.1.  I got excited
 and went one too far. Normally, the version numbers match exactly.

 I tagged 1.5.0 a little prematurely.  We had some troubles on the
 NuGet release and on the mono build.  I wasn't really ready for an 
 official
 1.5.0 release, so I hadn't done the SourceForge binary distributions.

 That's all been fixed as of earlier today (11/23/2013 relative to
 Central Standard).

 ClojureCLR 1.5.0 is officially out.

 This version has a NuGet package, with binaries for .Net 3.5 and .Net
 4.0.  All the binaries to run ClojureCLR itself are in one file,
 Clojure.dll, due to the magic of ILMerge and a lot of new internal 
 plumbing
 to allow embedded DLL resources and merged DLLs.  Also, this version is
 signed so that it can be referenced in signed projects or GAC'd.

 There are Debug and Release binaries  (not ILMerged) for .Net 3.5
 and 4.0 on the SourceForge site.

 The wiki pages on the github site have been updated.

 

Re: [ANN] clojure.java.jdbc 0.3.0-beta2 BREAKING CHANGES!

2013-11-25 Thread Sean Corfield
The auto-generated documentation has been updated (thank you Tom!):

http://clojure.github.io/java.jdbc/

This separates the documentation clearly into new API and deprecated
API. Feedback on docstrings in the new API appreciated (via
s...@corfield.org or issues on JIRA if you feel inclined to provide
patches as well).

Sean

On Sun, Nov 24, 2013 at 10:39 PM, Sean Corfield seancorfi...@gmail.com wrote:
 Based on feedback from the community, I have released
 clojure.java.jdbc 0.3.0-beta2 to Maven Central.

 This includes two very important changes:

 * The clojure.java.jdbc.sql and clojure.java.jdbc.ddl namespaces have
 been removed.
 * The API functions that were already marked as deprecated have moved
 to the clojure.java.jdbc.deprecated namespace

 This means that if you depend on the clojure.java.jdbc.sql or
 clojure.java.jdbc.ddl namespaces, which were introduced in
 0.3.0-alpha1, you will need to switch to the java-jdbc/dsl project
 (release 0.1.0 is on Clojars). The new namespaces in that project are
 java-jdbc.sql and java-jdbc.ddl. If you depend on these namespaces, I
 strongly recommend you migrate to a more sophisticated DSL, such as:

 * HoneySQL - https://github.com/jkk/honeysql
 * SQLingvo - https://github.com/r0man/sqlingvo
 * Korma - http://www.sqlkorma.com

 More importantly, if you depend on the older (0.2.3) API in
 clojure.java.jdbc, you'll need to switch to the
 clojure.java.jdbc.deprecated namespace in your code, until you can
 migrate to new API in clojure.java.jdbc instead.

 These steps are more radical than I would have liked but they simplify
 the library and streamline the API - and the auto-generated
 documentation - which should reduce all the confusion expressed about
 the library right now. This will allow the library to move forward in
 a more focused manner, with an API that no longer depends on dynamic
 variables.
 --
 Sean A Corfield -- (904) 302-SEAN
 An Architect's View -- http://corfield.org/
 World Singles, LLC. -- http://worldsingles.com/

 Perfection is the enemy of the good.
 -- Gustave Flaubert, French realist novelist (1821-1880)



-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

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


Re: [ANN] Optimus - a Ring middleware for frontend performance optimization.

2013-11-25 Thread Paul Biggar
[FYI: I'm the author/forker of stefon]

These libraries aren't bad, but to be honest, I think we've done it all 
wrong. We're just all scratching our own itches, not writing reusable 
components (unlike most of the rest of the clojure web ecosystem).

If you look at stefon, you get a set of non-composable functions, designed 
for my exact use case. Optimus, cornet, and dieter all suffer from the same 
problems.

Cornet, supports compilation (with different compiler and versions from 
stefon), serving assets, and configuring itself from a JVM command line. It 
also has :dev and :prod modes (though these mean dont minify and do 
minify. It does split out the functions in a slightly composable way (you 
can have `(wrap-lesscss-processor loader :mode :dev)`), but those still use 
:mode.

Stefon supports: concatenating JS and CSS, compiling less, coffeescript, 
hamlcoffee, minification using Closure compiler (currently broken), some 
trivial css minification, cache-busting and expiry headers, and asset 
references (eg data-uri to put the contents of one asset in another). It 
also supports caching compilation and clj-v8 for speed, and expiration 
headers and cache busting. It has precompilation for production use with a 
CDN).

Dieter is basically like stefon, but older and less maintained, and some 
different choices around precompilation.

Optimus supports concatenating, minification, cache busting, expiry 
headers, and something angular specific. Also assets dont have to be files 
on disk, and a there's a list of a dozen or so other features that contrast 
it to stefon or cornet in a neutral way (neither decision is right or 
wrong, just different).

So basically stefon supports all high level use cases, optimus support all 
of them except compilation, cornet supports most of it but not cache 
busting. But where we do support the same things, we do it in many 
different ways.

So my problem here is that we've each chosen to couple everything together. 
If you want to use stefon's CDN feature in production, with optimus' dev 
asset serving, with cornet's minification, you're out of luck.

Weavejester made a critique of stefon on reddit [1] a while back. He made 
the point why isn't this just middleware, by which I believe he means 
why cant this all be split up into composable functions?

He's right. We should, IMO, stop doing what we're doing, and rebuild our 
projects into a set of composable components that play well together:

- a choice of caching middlewares
- a choice of minifying middlewares
- a choice of asset compilers (including different versions and 
implementations) (also some way for them to interact to support a pipeline)
- a choice of precompilation/CDN and compiling on the server
- composable optimizations (caching compilations)
- a choice of how to concatenate assets

I don't really know how to do this though, just that they should be 
different libraries, and that all orthogonal feature sets should be 
composable. I'd love to hear people's thoughts on how we can accomplish 
this.

[1] 
http://www.reddit.com/r/Clojure/comments/1n1n0p/circlecistefon_asset_pipeline_for_clojure_closely/ccexi3a

On Monday, 25 November 2013 11:10:54 UTC-8, Magnar Sveen wrote:

 Hi Jason! 

 Magnar, could you talk a little about how your project is better 
 than/different from Stefon/dieter and cornet? I feel like we have a lot of 
 these projects now, all doing mostly the same thing.


 Thanks for asking. I'll try to shed some light on the differences as I see 
 them, and hopefully the people behind Dieter/Stefon (they're very similar) 
 can add some details into their thinking. I haven't seen Comet, and google 
 didn't help much either. Can you share a link?

 As for Optimus vs Stefon: First of all it's a difference in focus. Stefon 
 focuses on being an asset pipeline modelled after Sprockets in Rails. It 
 lets you write LESS, CoffeeScript, Haml - turning it into CSS and 
 JavaScript. Optimus is not about transpiling from other languages, but 
 about frontend optimization. As such, it rewrites your urls to include 
 cache busters and serves your assets with far-future expires headers, so 
 they can be cached aggressively in production. As I add more features to 
 optimus, they too will focus around better frontend performance - and not 
 more languages to be transpiled.

 While this is the main point in my mind, there are also other differences 
 that aren't just details that everyone will agree on. :-) These two come to 
 mind:

 1. Stefon serves assets live in development, but requires a build step in 
 production to precompile the files. Optimus does not require a build step, 
 but compiles your asset when the server starts. 

 2. Stefon creates bundles by having custom .stefon files with edn-flavored 
 lists of files in your directories of static assets. Optimus also needs a 
 list of bundles, but does so using Clojure in your program. I would think 
 that Stefons' approach is better if your frontend 

CloudFormation template generation with Clojure

2013-11-25 Thread Kevin Bell
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.


ANN: core.logic 0.8.5

2013-11-25 Thread David Nolen
This release represents a fairly significant change to the simple DB
functionality that core.logic provides - instead of a mess of mutable atoms
thanks to Norman Richard we now store facts in a persistent data structure.
This is likely a breaking change for some people, but it's a long
outstanding issue that I'm happy to see finally remedied.

The only other changes in this release are minor performance enhancements
to both the Clojure and ClojureScript implementations.

More information here: http://github.com/clojure/core.logic

Feedback welcome!

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: println / for unexpected behaviour

2013-11-25 Thread edward
Thanks very much Cedric.

(What do you mean by: 'Clearly board is a chunked seq in this case.'?)

On Monday, November 25, 2013 1:58:36 PM UTC, Cedric Greevey wrote:

 Clearly board is a chunked seq in this case.

 Use doseq when you want side effects for-each of some seqable, but don't 
 care about the return values. The arguments for doseq are identical to 
 those for for, but a) doseq will return nil and b) if the output of for was 
 discarded (rather than the repl realizing the sequence to print the nils) 
 the side effects would never take place, whereas doseq forces them to take 
 place whether or not the nil *it* returns is used or discarded.


 On Mon, Nov 25, 2013 at 8:25 AM, Ambrose Bonnaire-Sergeant 
 abonnair...@gmail.com javascript: wrote:

 Hi Edward,

 I believe the return value of your expression is (nil nil nil nil ...), 
 but the printlns are forced just after the ( is printed.

 Thanks,
 Ambrose


 On Mon, Nov 25, 2013 at 9:14 PM, edw...@kenworthy.info javascript:wrote:

 Some (println) weirdness (board is a vector to vectors):

 (println (board 0))
 (println (board 1))
 (println (board 2))
 (println (board 3))
 (println (board 4))
 (println (board 5))
 (println (board 6))
 (println (board 7))

 Works as I would expect, printing to the console.

 However:

 (for [row board]
 (println row))

 Doesn't: the output from println is part of the result of evaluating the 
 for (along with a slew of nils).

 ([:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :white :black :empty :empty :empty]
 [:empty :empty :empty :black :white :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 [:empty :empty :empty :empty :empty :empty :empty :empty]
 nil nil nil nil nil nil nil nil)

 Any idea why there is any difference at all between the two? The only 
 thing I can think of is for's lazy evaluation but I don't see how.
  
 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google 
 Groups Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.


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




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


Re: println / for unexpected behaviour

2013-11-25 Thread edward
Thanks Stefan.

I had a suspicion that it was to do with for's laziness but I had assumed 
it was a characteristic of the seq it built rather than the forms inside 
it. Seems a bit strange but will have to get used to it :-)

On Monday, November 25, 2013 2:11:45 PM UTC, Stefan Kamphausen wrote:

 Hi Edward,


 you are being hit by laziness here.  Clojure's 'for' is not like the 'for' 
 you may know from other programming languages.  It is made for list 
 comprehensions, that is it is building new list-y things.  It does not do 
 this instantly, the items may be realized only when the caller asks for 
 them.  In your case the caller is your REPL which prints the return value, 
 thereby realizing the lazy sequence.  Thus, the output for the REPL and 
 your println mix.

 As Cedric already wrote, if you want to process the board for side-effect 
 like printing, use doseq.  Use for only for its return value and make no 
 assumptions as to when those values are created.


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


Re: CloudFormation template generation with Clojure

2013-11-25 Thread Craig

I don't know much about CF templates, but stripping some detail from your 
middle fragment moves further from data and to a DSL:

(deftemplate my-template
  :aws-template-format-version 2010-09-09
  :description My description
  
  (param my-parameter :type :string :description My string parameter)
  
  (mapping my-mapping
   :first-level-key-one {:second-level-key-one Value}
   :first-level-key-two {:second-level-key-two Another Value})
  
  (condition my-condition (not my-parameter))
  (condition my-second-condition (= (- my-mapping :first-level-key-one 
:second-level-key-one) my-parameter))
  
  (resource my-instance aws.ec2/instance :image-id ami-79fd7eee)
  
  (output my-first-output (:instance-type my-instance))
  (output my-second-output my-parameter))

Craig


On Tuesday, November 26, 2013 3:41:29 PM UTC+11, 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/7653342https://www.google.com/url?q=https%3A%2F%2Fgist.github.com%2Fbellkev%2F7653342sa=Dsntz=1usg=AFQjCNF5RUFgHxpojQ1x0EPxJFQ09ibA3A

 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.