Re: How do I use spec and deftype together?

2018-07-05 Thread markus . agwin
Just in case someone stumbles over this post, I found a simple solution 
which works for me:

(do
  (require '[clojure.spec.alpha :as s])
  (import '(clojure.lang ISeq))
  (defprotocol Foo (foo [this]))
  (defrecord Bar [bar] Foo (foo [this] (.bar this)))
  (deftype   Baz [bar]
Foo (foo [this] (.bar this))
ISeq (seq [this] `(~(.bar this
  (s/def ::bar number?)
  [(s/valid? (s/keys :req-un [::bar]) (->Bar 0))
   (s/valid? (s/cat :bar ::bar) (->Baz 0))]) ;[true true]

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


Re: defrecord can't impl some interface methods

2018-07-05 Thread Leon Grapenthin
Great thanks, I just upvoted that. 

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


Re: What is the minimal Emacs config for practical Clojure development?

2018-07-05 Thread Austin Haas

I tried Monroe, yesterday. It seems to work as advertised. I didn't have 
any issues. It's nice that "jump to definition" works out of the box. It 
does not appear to support Eldoc, so no help with function signatures.

This is the Emacs config I'm currently using: 

;;; clojure-mode

(add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/clojure-mode/")
(require 'clojure-mode)
(add-hook 'clojure-mode-hook 'rainbow-delimiters-mode)
(add-hook 'clojure-mode-hook 'paredit-mode)
(add-hook 'clojure-mode-hook 'hs-minor-mode)
(add-hook 'clojure-mode-hook #'eldoc-mode)

;;; REPL

;; Monroe

(add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/monroe/")
(require 'monroe)
(add-hook 'clojure-mode-hook 'clojure-enable-monroe)
(setf monroe-detail-stacktraces 'true)

I went on to include Figwheel. 

I created a new project using `lein new figwheel my-project` (which 
provides the fig-start and cljs-repl functions), and then entered the 
following commands to set up a Clojurescript dev environment: 

M-x monroe-nrepl-server-start
M-x monroe
(fig-start)
(cljs-repl)

On my machine, those 4 steps take about 30 seconds to run. The first takes 
18 seconds, and the rest only take about a second each, but the whole 
process ends up taking close to 30.

Figwheel seems to work great, but I couldn't figure out how to evaluate 
code in a library dependency and have it updated in the running system. I 
can evaluate functions, but the new definitions don't appear to be called 
by the main code. I might be misunderstanding how this is supposed to work; 
I don't know if it's a Figwheel issue or a Monroe issue or my mistake. But 
to work around that, and to fix other issues preventing a clean initial 
compilation, I had to restart the REPL a few dozen times, which was tedious.

I'm posting this information in case it is useful to someone else who is 
trying to discover the current state-of-the-art with running Clojure in 
Emacs in a straightforward, minimal way. I'm also hoping that people will 
reply with comments and suggested improvements. (FWIW, I've been using 
Emacs full-time for about 20 years, Clojure full-time for about 7 years, 
and Common Lisp for 5+ years before that, so I'm not new to REPL-driven 
development in Emacs.)


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


Re: What is the minimal Emacs config for practical Clojure development?

2018-07-05 Thread rob
If ClojureScript repl integration works smoothly out of the box then that's 
already one reason to use it over Cider...  (This is not a jab at Cider, 
just a statement of fact that Cider's support for ClojureScript development 
has so far been lacking, IME)

On Thursday, July 5, 2018 at 10:51:02 AM UTC-7, Austin Haas wrote:
>
>
> I tried Monroe, yesterday. It seems to work as advertised. I didn't have 
> any issues. It's nice that "jump to definition" works out of the box. It 
> does not appear to support Eldoc, so no help with function signatures.
>
> This is the Emacs config I'm currently using: 
>
> ;;; clojure-mode
>
> (add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/clojure-mode/")
> (require 'clojure-mode)
> (add-hook 'clojure-mode-hook 'rainbow-delimiters-mode)
> (add-hook 'clojure-mode-hook 'paredit-mode)
> (add-hook 'clojure-mode-hook 'hs-minor-mode)
> (add-hook 'clojure-mode-hook #'eldoc-mode)
>
> ;;; REPL
>
> ;; Monroe
>
> (add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/monroe/")
> (require 'monroe)
> (add-hook 'clojure-mode-hook 'clojure-enable-monroe)
> (setf monroe-detail-stacktraces 'true)
>
> I went on to include Figwheel. 
>
> I created a new project using `lein new figwheel my-project` (which 
> provides the fig-start and cljs-repl functions), and then entered the 
> following commands to set up a Clojurescript dev environment: 
>
> M-x monroe-nrepl-server-start
> M-x monroe
> (fig-start)
> (cljs-repl)
>
> On my machine, those 4 steps take about 30 seconds to run. The first takes 
> 18 seconds, and the rest only take about a second each, but the whole 
> process ends up taking close to 30.
>
> Figwheel seems to work great, but I couldn't figure out how to evaluate 
> code in a library dependency and have it updated in the running system. I 
> can evaluate functions, but the new definitions don't appear to be called 
> by the main code. I might be misunderstanding how this is supposed to work; 
> I don't know if it's a Figwheel issue or a Monroe issue or my mistake. But 
> to work around that, and to fix other issues preventing a clean initial 
> compilation, I had to restart the REPL a few dozen times, which was tedious.
>
> I'm posting this information in case it is useful to someone else who is 
> trying to discover the current state-of-the-art with running Clojure in 
> Emacs in a straightforward, minimal way. I'm also hoping that people will 
> reply with comments and suggested improvements. (FWIW, I've been using 
> Emacs full-time for about 20 years, Clojure full-time for about 7 years, 
> and Common Lisp for 5+ years before that, so I'm not new to REPL-driven 
> development in Emacs.)
>
>
>

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


Re: What is the minimal Emacs config for practical Clojure development?

2018-07-05 Thread Gary Trakhman
I'm not sure the desires for lightweight clojure-emacs integration and any
CLJS integration are yet sympathetic.  Figwheel is a pretty complex piece
of software. For example, see my issue that has been languishing for almost
a year and hints at greater problems with the compiler integration:
https://github.com/bhauman/lein-figwheel/issues/593 .  From my perspective,
this is more due to coupling of the REPL to the compiler itself than a
problem with figwheel.

But I was surprised when the thread went in this direction just from
reasons I think someone might want to not use cider, fast startup time,
less stuff to go wrong.  CLJS adds that back unless it's gotten
significantly better since the last time I tried.

On Thu, Jul 5, 2018 at 2:19 PM rob  wrote:

> If ClojureScript repl integration works smoothly out of the box then
> that's already one reason to use it over Cider...  (This is not a jab at
> Cider, just a statement of fact that Cider's support for ClojureScript
> development has so far been lacking, IME)
>
>
> On Thursday, July 5, 2018 at 10:51:02 AM UTC-7, Austin Haas wrote:
>>
>>
>> I tried Monroe, yesterday. It seems to work as advertised. I didn't have
>> any issues. It's nice that "jump to definition" works out of the box. It
>> does not appear to support Eldoc, so no help with function signatures.
>>
>> This is the Emacs config I'm currently using:
>>
>> ;;; clojure-mode
>>
>> (add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/clojure-mode/")
>> (require 'clojure-mode)
>> (add-hook 'clojure-mode-hook 'rainbow-delimiters-mode)
>> (add-hook 'clojure-mode-hook 'paredit-mode)
>> (add-hook 'clojure-mode-hook 'hs-minor-mode)
>> (add-hook 'clojure-mode-hook #'eldoc-mode)
>>
>> ;;; REPL
>>
>> ;; Monroe
>>
>> (add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/monroe/")
>> (require 'monroe)
>> (add-hook 'clojure-mode-hook 'clojure-enable-monroe)
>> (setf monroe-detail-stacktraces 'true)
>>
>> I went on to include Figwheel.
>>
>> I created a new project using `lein new figwheel my-project` (which
>> provides the fig-start and cljs-repl functions), and then entered the
>> following commands to set up a Clojurescript dev environment:
>>
>> M-x monroe-nrepl-server-start
>> M-x monroe
>> (fig-start)
>> (cljs-repl)
>>
>> On my machine, those 4 steps take about 30 seconds to run. The first
>> takes 18 seconds, and the rest only take about a second each, but the whole
>> process ends up taking close to 30.
>>
>> Figwheel seems to work great, but I couldn't figure out how to evaluate
>> code in a library dependency and have it updated in the running system. I
>> can evaluate functions, but the new definitions don't appear to be called
>> by the main code. I might be misunderstanding how this is supposed to work;
>> I don't know if it's a Figwheel issue or a Monroe issue or my mistake. But
>> to work around that, and to fix other issues preventing a clean initial
>> compilation, I had to restart the REPL a few dozen times, which was tedious.
>>
>> I'm posting this information in case it is useful to someone else who is
>> trying to discover the current state-of-the-art with running Clojure in
>> Emacs in a straightforward, minimal way. I'm also hoping that people will
>> reply with comments and suggested improvements. (FWIW, I've been using
>> Emacs full-time for about 20 years, Clojure full-time for about 7 years,
>> and Common Lisp for 5+ years before that, so I'm not new to REPL-driven
>> development in Emacs.)
>>
>>
>> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: What is the minimal Emacs config for practical Clojure development?

2018-07-05 Thread Austin Haas
Gary, I had tried Figwheel a couple years ago and I had a positive 
experience, so that was the next thing I reached for.

I just want a practical dev environment, for both Clojure and 
Clojurescript. To me, that means simple and stable. I definitely want fewer 
things that can go wrong, but if I can install a package by cloning a repo 
and adding a few lines of elisp, and it works, I'm happy. I don't care how 
complex it is. If it causes my REPL to hang, prints out control characters, 
regularly breaks after updates, etc., then I'd rather drop down to 
something simpler, with fewer features.

For Clojurescript, I've used lein-cljsbuild in the past. That seemed to 
work well. I know I've connected to a REPL running in the browser before, 
but I don't remember it being useful enough to bother with. I don't think I 
knew how to write "reloadable code", then, though.

I would love to hear how people do Clojurescript development today, 
especially if they aren't using Figwheel.



On Thursday, July 5, 2018 at 12:07:13 PM UTC-7, Gary Trakhman wrote:
>
> I'm not sure the desires for lightweight clojure-emacs integration and any 
> CLJS integration are yet sympathetic.  Figwheel is a pretty complex piece 
> of software. For example, see my issue that has been languishing for almost 
> a year and hints at greater problems with the compiler integration: 
> https://github.com/bhauman/lein-figwheel/issues/593 .  From my 
> perspective, this is more due to coupling of the REPL to the compiler 
> itself than a problem with figwheel.
>
> But I was surprised when the thread went in this direction just from 
> reasons I think someone might want to not use cider, fast startup time, 
> less stuff to go wrong.  CLJS adds that back unless it's gotten 
> significantly better since the last time I tried.
>
> On Thu, Jul 5, 2018 at 2:19 PM rob > 
> wrote:
>
>> If ClojureScript repl integration works smoothly out of the box then 
>> that's already one reason to use it over Cider...  (This is not a jab at 
>> Cider, just a statement of fact that Cider's support for ClojureScript 
>> development has so far been lacking, IME)
>>
>>
>> On Thursday, July 5, 2018 at 10:51:02 AM UTC-7, Austin Haas wrote:
>>>
>>>
>>> I tried Monroe, yesterday. It seems to work as advertised. I didn't have 
>>> any issues. It's nice that "jump to definition" works out of the box. It 
>>> does not appear to support Eldoc, so no help with function signatures.
>>>
>>> This is the Emacs config I'm currently using: 
>>>
>>> ;;; clojure-mode
>>>
>>> (add-to-list 'load-path 
>>> "~/.emacs.d/site-lisp/third-party/clojure-mode/")
>>> (require 'clojure-mode)
>>> (add-hook 'clojure-mode-hook 'rainbow-delimiters-mode)
>>> (add-hook 'clojure-mode-hook 'paredit-mode)
>>> (add-hook 'clojure-mode-hook 'hs-minor-mode)
>>> (add-hook 'clojure-mode-hook #'eldoc-mode)
>>>
>>> ;;; REPL
>>>
>>> ;; Monroe
>>>
>>> (add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/monroe/")
>>> (require 'monroe)
>>> (add-hook 'clojure-mode-hook 'clojure-enable-monroe)
>>> (setf monroe-detail-stacktraces 'true)
>>>
>>> I went on to include Figwheel. 
>>>
>>> I created a new project using `lein new figwheel my-project` (which 
>>> provides the fig-start and cljs-repl functions), and then entered the 
>>> following commands to set up a Clojurescript dev environment: 
>>>
>>> M-x monroe-nrepl-server-start
>>> M-x monroe
>>> (fig-start)
>>> (cljs-repl)
>>>
>>> On my machine, those 4 steps take about 30 seconds to run. The first 
>>> takes 18 seconds, and the rest only take about a second each, but the whole 
>>> process ends up taking close to 30.
>>>
>>> Figwheel seems to work great, but I couldn't figure out how to evaluate 
>>> code in a library dependency and have it updated in the running system. I 
>>> can evaluate functions, but the new definitions don't appear to be called 
>>> by the main code. I might be misunderstanding how this is supposed to work; 
>>> I don't know if it's a Figwheel issue or a Monroe issue or my mistake. But 
>>> to work around that, and to fix other issues preventing a clean initial 
>>> compilation, I had to restart the REPL a few dozen times, which was tedious.
>>>
>>> I'm posting this information in case it is useful to someone else who is 
>>> trying to discover the current state-of-the-art with running Clojure in 
>>> Emacs in a straightforward, minimal way. I'm also hoping that people will 
>>> reply with comments and suggested improvements. (FWIW, I've been using 
>>> Emacs full-time for about 20 years, Clojure full-time for about 7 years, 
>>> and Common Lisp for 5+ years before that, so I'm not new to REPL-driven 
>>> development in Emacs.)
>>>
>>>
>>> -- 
>> 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 e

Re: What is the minimal Emacs config for practical Clojure development?

2018-07-05 Thread Andrea Richiardi
There is one more trick though.

The new cljs.main allows you to have a socket repl for ClojureScript. This 
can then be used with `inf-clojure`. It will not be fancy and probably 
things will be broken though...the code path has not been seen much love. I 
did some experimentation and it definitely works - quite smoothly in fact - 
but I have never have time to make it "production" ready :)

On Thursday, July 5, 2018 at 1:01:14 PM UTC-7, Austin Haas wrote:
>
> Gary, I had tried Figwheel a couple years ago and I had a positive 
> experience, so that was the next thing I reached for.
>
> I just want a practical dev environment, for both Clojure and 
> Clojurescript. To me, that means simple and stable. I definitely want fewer 
> things that can go wrong, but if I can install a package by cloning a repo 
> and adding a few lines of elisp, and it works, I'm happy. I don't care how 
> complex it is. If it causes my REPL to hang, prints out control characters, 
> regularly breaks after updates, etc., then I'd rather drop down to 
> something simpler, with fewer features.
>
> For Clojurescript, I've used lein-cljsbuild in the past. That seemed to 
> work well. I know I've connected to a REPL running in the browser before, 
> but I don't remember it being useful enough to bother with. I don't think I 
> knew how to write "reloadable code", then, though.
>
> I would love to hear how people do Clojurescript development today, 
> especially if they aren't using Figwheel.
>
>
>
> On Thursday, July 5, 2018 at 12:07:13 PM UTC-7, Gary Trakhman wrote:
>>
>> I'm not sure the desires for lightweight clojure-emacs integration and 
>> any CLJS integration are yet sympathetic.  Figwheel is a pretty complex 
>> piece of software. For example, see my issue that has been languishing for 
>> almost a year and hints at greater problems with the compiler integration: 
>> https://github.com/bhauman/lein-figwheel/issues/593 .  From my 
>> perspective, this is more due to coupling of the REPL to the compiler 
>> itself than a problem with figwheel.
>>
>> But I was surprised when the thread went in this direction just from 
>> reasons I think someone might want to not use cider, fast startup time, 
>> less stuff to go wrong.  CLJS adds that back unless it's gotten 
>> significantly better since the last time I tried.
>>
>> On Thu, Jul 5, 2018 at 2:19 PM rob  wrote:
>>
>>> If ClojureScript repl integration works smoothly out of the box then 
>>> that's already one reason to use it over Cider...  (This is not a jab at 
>>> Cider, just a statement of fact that Cider's support for ClojureScript 
>>> development has so far been lacking, IME)
>>>
>>>
>>> On Thursday, July 5, 2018 at 10:51:02 AM UTC-7, Austin Haas wrote:


 I tried Monroe, yesterday. It seems to work as advertised. I didn't 
 have any issues. It's nice that "jump to definition" works out of the box. 
 It does not appear to support Eldoc, so no help with function signatures.

 This is the Emacs config I'm currently using: 

 ;;; clojure-mode

 (add-to-list 'load-path 
 "~/.emacs.d/site-lisp/third-party/clojure-mode/")
 (require 'clojure-mode)
 (add-hook 'clojure-mode-hook 'rainbow-delimiters-mode)
 (add-hook 'clojure-mode-hook 'paredit-mode)
 (add-hook 'clojure-mode-hook 'hs-minor-mode)
 (add-hook 'clojure-mode-hook #'eldoc-mode)

 ;;; REPL

 ;; Monroe

 (add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/monroe/")
 (require 'monroe)
 (add-hook 'clojure-mode-hook 'clojure-enable-monroe)
 (setf monroe-detail-stacktraces 'true)

 I went on to include Figwheel. 

 I created a new project using `lein new figwheel my-project` (which 
 provides the fig-start and cljs-repl functions), and then entered the 
 following commands to set up a Clojurescript dev environment: 

 M-x monroe-nrepl-server-start
 M-x monroe
 (fig-start)
 (cljs-repl)

 On my machine, those 4 steps take about 30 seconds to run. The first 
 takes 18 seconds, and the rest only take about a second each, but the 
 whole 
 process ends up taking close to 30.

 Figwheel seems to work great, but I couldn't figure out how to evaluate 
 code in a library dependency and have it updated in the running system. I 
 can evaluate functions, but the new definitions don't appear to be called 
 by the main code. I might be misunderstanding how this is supposed to 
 work; 
 I don't know if it's a Figwheel issue or a Monroe issue or my mistake. But 
 to work around that, and to fix other issues preventing a clean initial 
 compilation, I had to restart the REPL a few dozen times, which was 
 tedious.

 I'm posting this information in case it is useful to someone else who 
 is trying to discover the current state-of-the-art with running Clojure in 
 Emacs in a straightforward, minimal way. I'm also hoping tha

Re: What is the minimal Emacs config for practical Clojure development?

2018-07-05 Thread Andrea Richiardi


On Thursday, July 5, 2018 at 1:01:14 PM UTC-7, Austin Haas wrote:
>
> Gary, I had tried Figwheel a couple years ago and I had a positive 
> experience, so that was the next thing I reached for.
>
> I just want a practical dev environment, for both Clojure and 
> Clojurescript. To me, that means simple and stable. I definitely want fewer 
> things that can go wrong, but if I can install a package by cloning a repo 
> and adding a few lines of elisp, and it works, I'm happy. I don't care how 
> complex it is. If it causes my REPL to hang, prints out control characters, 
> regularly breaks after updates, etc., then I'd rather drop down to 
> something simpler, with fewer features.
>
>  
There is one more trick though.

The new cljs.main allows you to have a socket repl for ClojureScript. This 
can then be used with `inf-clojure`. It will not be fancy and probably 
things will be broken though...the code path has not been seen much love. I 
did some experimentation and it definitely works - quite smoothly in fact - 
but I have never have time to make it "production" ready :)

So this does not actually answers the question, just wanted to put it out 
there - sorry!

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


Re: What is the minimal Emacs config for practical Clojure development?

2018-07-05 Thread Daniel
Luminus has a leiningen template which works out-of-the-box with Cider and 
figwheel. Just (start-fw) and (cljs) inside the repl.

It would be nice if we could have both repls open simultaneously within emacs, 
but everything was super unreliable the last time I tried that.

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