Re: Idiomatically returning one or two values from a function.

2011-09-30 Thread Daniel Pittman
On Wed, Sep 28, 2011 at 12:15, Daniel Solano Gomez cloj...@sattvik.com wrote:
 On Wed Sep 28 18:52 2011, Daniel Pittman wrote:

 I have problem that I have been thrashing back and forth over the best
 design of for a week now, and I can't work out the nicest way to
 handle it.  Specifically, I have a collection of functions that return
 a primary result, and might also return a secondary annotation about
 that result.

 Why not always return a vector?  That is more or less what a tuple is.

*nod*  Thanks, to you, and the other contributors.  That feels like
the right answer, and I guess I was hung up on not forcing a single
value to be returned in a wrapper so much that I couldn't see it
staring at me.

Daniel
-- 
♲ Made with 100 percent post-consumer electrons

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


Re: (flatten )

2011-09-30 Thread Tassilo Horn
ChrisR christopher.roseng...@gmail.com writes:

 Hi there, possibly the flatten documentation is wrong as (flatten nil)
 for me is returning the empty list rather than nil. (1.3.0).

Indeed, that's because it uses `filter' which produces a lazy seq.  Most
probably, in this case it's just the docstring that should be fixed.

 Is there a better place to post this?

If no core team member picks up the issue, maybe add it to the issue
tracker.

  http://dev.clojure.org/jira

Bye,
Tassilo

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


Re: suggestion for clojure development

2011-09-30 Thread Nicolas
I think that backward compatibilities problem do hurt. Some people
will not invest in an unstable language by default and some will be
tempted to give up after experimenting too many problem with it.

We don't choose a language,we choose a full echosystem that include
libraries, IDE tooling, documentation, community, long term support.

So this is more a question of tradeoff between having the best
possible language and breaking or not backward compatibility.

But I would say that clojure is not made for the masses. (Java/C# are
for that). Clojure is more for geeks/hackers/searchers that love
computer science and want a fun language to work with. Clojure core
team did a great job ensure that clojure has a good reach in term of
platform (JVM, CLR, browsers) and also to bring the best possible
language.

So the problem should be from what ecosystem, language combination you
benefit most.

Clojure bring outstanding expressivity and consision to programs. It
allow very expressive DSLs and bring interresting concepts toward
managing shared state. For me this is more than enough to consider
clojure as a very viable alternative.

On Sep 29, 2:54 am, Michael Gardner gardne...@gmail.com wrote:

 I don't think there will (nor should) ever be a declaration by the core team 
 that from this point onward, we will never break backwards compatibility. 
 There's always a trade-off between maintaining backwards compatibility and 
 making improvements to the language. Naturally, as the language matures the 
 tradeoff will shift towards compatibility, but in my opinion it would be 
 foolish to set anything in stone. I don't think the lack of any such promise 
 has hurt Python, for example; and while the transition to 3.0 certainly seems 
 to have been slow and painful, I don't doubt the language will survive.


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


Re: pattern matching in clojure

2011-09-30 Thread Michael Jaaka
Thanks for feedback. But now I'm came across a problem. I'm studying
Learn You a Haskell for Great Good! and I'm on chapter Functionally
Solving Problems reading Reverse Polish notation calculator.
I wanted to write it in Clojure. So instead of: http://pastebin.com/QzhbyD6d
I wrote: http://pastebin.com/fsChN96D

But as you can see the first try doesn't work as expected.
The destruction of stack doesn't work as expected.
Expectation is written below as let expression.

Anyone?



On Sep 30, 6:56 am, Kevin Downey redc...@gmail.com wrote:
 Last I checked matchjure generates fns which break recur (there is an issue
 open for it). Trading recursion for matching seems like a bad deal, I
 recommend using match instead.
 On Sep 29, 2011 4:32 AM, Christian Pohlmann chr.pohlm...@googlemail.com
 wrote:







  Additionally to core.match there is also matchure [1] which comes with
  a defn-match that can be used like this:

  (defn-match choose
  ([_ 0] 1)
  ([0 _] 0)
  ([?n ?k] (+ (choose (dec n) (dec k)) (choose (dec n) k

  This makes defining functions fairly close to what you're used from
 Haskell.

  [1]https://github.com/dcolthorp/matchure

  Christian

  On Thu, Sep 29, 2011 at 12:03 PM, Michael Jaaka
  michael.ja...@googlemail.com wrote:
  Hi!

  Is there any way to define function with pattern matching in function
  signature as it is in haskell?

  Bye!

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

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

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


Re: pattern matching in clojure

2011-09-30 Thread Michael Jaaka
Btw. I'm using [match 0.2.0-SNAPSHOT] and Clojure 1.3 but this
import instruction

 (use '[match.core :only [match]])

from official website of match library doesn't work, only (use
'[clojure.core.match.core :only [match ] ]) works

and I have given a try to matchure and IT WORKS ;-)
But why do I have to define question character as a prefix on
destruction variables?
This doesn't help in any way and I doubt that is helps matchure too.

And here is the contest winning code: http://pastebin.com/w7sKH0Pw

Thanks to all and looking to match library being fixed or explained
what is wrong with previous code.

See you later!


On Sep 30, 10:36 am, Michael Jaaka michael.ja...@googlemail.com
wrote:
 Thanks for feedback. But now I'm came across a problem. I'm studying
 Learn You a Haskell for Great Good! and I'm on chapter Functionally
 Solving Problems reading Reverse Polish notation calculator.
 I wanted to write it in Clojure. So instead of:http://pastebin.com/QzhbyD6d

 I wrote:http://pastebin.com/fsChN96D

 But as you can see the first try doesn't work as expected.
 The destruction of stack doesn't work as expected.
 Expectation is written below as let expression.

 Anyone?

 On Sep 30, 6:56 am, Kevin Downey redc...@gmail.com wrote:







  Last I checked matchjure generates fns which break recur (there is an issue
  open for it). Trading recursion for matching seems like a bad deal, I
  recommend using match instead.
  On Sep 29, 2011 4:32 AM, Christian Pohlmann chr.pohlm...@googlemail.com
  wrote:

   Additionally to core.match there is also matchure [1] which comes with
   a defn-match that can be used like this:

   (defn-match choose
   ([_ 0] 1)
   ([0 _] 0)
   ([?n ?k] (+ (choose (dec n) (dec k)) (choose (dec n) k

   This makes defining functions fairly close to what you're used from
  Haskell.

   [1]https://github.com/dcolthorp/matchure

   Christian

   On Thu, Sep 29, 2011 at 12:03 PM, Michael Jaaka
   michael.ja...@googlemail.com wrote:
   Hi!

   Is there any way to define function with pattern matching in function
   signature as it is in haskell?

   Bye!

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

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

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


Re: pattern matching in clojure

2011-09-30 Thread Ambrose Bonnaire-Sergeant
There's a problem with destructuring lists (seems like a bug).

If stack is always a vector, it works.

(defn rpn' [ stack symb ]
  (match [stack symb]
 [ [x y  z ] * ] (apply vector (* x y ) z)
 [ [x y  z ] + ] (apply vector (+ x y ) z)
 [ x sum ] [ (reduce + x) ]
 [ x y ] (apply vector (read-string y) x) ))

(defn calculator'[ input ]
(first (reduce rpn' [] (re-seq #\S+ input

(calculator'  1 2 10 2 3 + * sum )
;= 53

core.match isn't well road tested yet, still early days.

Thanks!
Ambrose

On Fri, Sep 30, 2011 at 4:36 PM, Michael Jaaka michael.ja...@googlemail.com
 wrote:

 Thanks for feedback. But now I'm came across a problem. I'm studying
 Learn You a Haskell for Great Good! and I'm on chapter Functionally
 Solving Problems reading Reverse Polish notation calculator.
 I wanted to write it in Clojure. So instead of:
 http://pastebin.com/QzhbyD6d
 I wrote: http://pastebin.com/fsChN96D

 But as you can see the first try doesn't work as expected.
 The destruction of stack doesn't work as expected.
 Expectation is written below as let expression.

 Anyone?



 On Sep 30, 6:56 am, Kevin Downey redc...@gmail.com wrote:
  Last I checked matchjure generates fns which break recur (there is an
 issue
  open for it). Trading recursion for matching seems like a bad deal, I
  recommend using match instead.
  On Sep 29, 2011 4:32 AM, Christian Pohlmann 
 chr.pohlm...@googlemail.com
  wrote:
 
 
 
 
 
 
 
   Additionally to core.match there is also matchure [1] which comes with
   a defn-match that can be used like this:
 
   (defn-match choose
   ([_ 0] 1)
   ([0 _] 0)
   ([?n ?k] (+ (choose (dec n) (dec k)) (choose (dec n) k
 
   This makes defining functions fairly close to what you're used from
  Haskell.
 
   [1]https://github.com/dcolthorp/matchure
 
   Christian
 
   On Thu, Sep 29, 2011 at 12:03 PM, Michael Jaaka
   michael.ja...@googlemail.com wrote:
   Hi!
 
   Is there any way to define function with pattern matching in function
   signature as it is in haskell?
 
   Bye!
 
   --
   You received this message because you are subscribed to the Google
   Groups Clojure group.
   To post to this group, send email to clojure@googlegroups.com
   Note that posts from new members are moderated - please be patient
 with
  your first post.
   To unsubscribe from this group, send email to
   clojure+unsubscr...@googlegroups.com
   For more options, visit this group at
  http://groups.google.com/group/clojure?hl=en
 
   --
   You received this message because you are subscribed to the Google
   Groups Clojure group.
   To post to this group, send email to clojure@googlegroups.com
   Note that posts from new members are moderated - please be patient with
  your first post.
   To unsubscribe from this group, send email to
   clojure+unsubscr...@googlegroups.com
   For more options, visit this group at
  http://groups.google.com/group/clojure?hl=en

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


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

Re: pattern matching in clojure

2011-09-30 Thread Ambrose Bonnaire-Sergeant
Hi Michael

On Fri, Sep 30, 2011 at 4:51 PM, Michael Jaaka michael.ja...@googlemail.com
 wrote:

 Btw. I'm using [match 0.2.0-SNAPSHOT] and Clojure 1.3 but this
 import instruction

  (use '[match.core :only [match]])

 from official website of match library doesn't work, only (use
 '[clojure.core.match.core :only [match ] ]) works


Thanks, fixed.



 and I have given a try to matchure and IT WORKS ;-)


Good to hear :)


 But why do I have to define question character as a prefix on
 destruction variables?
 This doesn't help in any way and I doubt that is helps matchure too.


From the perspective of core.match, some trickery is involved to know
whether to create a new local binding, or to perform an equals test. We look
at the surrounding scope at compile time to determine this.

Another way would be for the user to provide such information, which seems
to be the way matchure has gone, with prefix ? (speculative, I don't
actually know the reasons behind the decision)

Example: (core.match)

(let [x [1 2 3]
  a 1
  b 2
  ]
  (match [x]
 [[b a c  as]] :first   ;; b and a are local, perform = test,
create new binding c
 [[a b c  as]] :second  ;; same, but successful match
))

Thanks,
Ambrose

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

Re: pattern matching in clojure

2011-09-30 Thread Ambrose Bonnaire-Sergeant
I've opened an issue concerning this bug:

http://dev.clojure.org/jira/browse/MATCH-21

Ambrose

On Fri, Sep 30, 2011 at 5:04 PM, Ambrose Bonnaire-Sergeant 
abonnaireserge...@gmail.com wrote:

 There's a problem with destructuring lists (seems like a bug).

 If stack is always a vector, it works.

 (defn rpn' [ stack symb ]
   (match [stack symb]
  [ [x y  z ] * ] (apply vector (* x y ) z)
  [ [x y  z ] + ] (apply vector (+ x y ) z)
  [ x sum ] [ (reduce + x) ]
  [ x y ] (apply vector (read-string y) x) ))

 (defn calculator'[ input ]
 (first (reduce rpn' [] (re-seq #\S+ input

 (calculator'  1 2 10 2 3 + * sum )
 ;= 53

 core.match isn't well road tested yet, still early days.

 Thanks!
 Ambrose

 On Fri, Sep 30, 2011 at 4:36 PM, Michael Jaaka 
 michael.ja...@googlemail.com wrote:

 Thanks for feedback. But now I'm came across a problem. I'm studying
 Learn You a Haskell for Great Good! and I'm on chapter Functionally
 Solving Problems reading Reverse Polish notation calculator.
 I wanted to write it in Clojure. So instead of:
 http://pastebin.com/QzhbyD6d
 I wrote: http://pastebin.com/fsChN96D

 But as you can see the first try doesn't work as expected.
 The destruction of stack doesn't work as expected.
 Expectation is written below as let expression.

 Anyone?



 On Sep 30, 6:56 am, Kevin Downey redc...@gmail.com wrote:
  Last I checked matchjure generates fns which break recur (there is an
 issue
  open for it). Trading recursion for matching seems like a bad deal, I
  recommend using match instead.
  On Sep 29, 2011 4:32 AM, Christian Pohlmann 
 chr.pohlm...@googlemail.com
  wrote:
 
 
 
 
 
 
 
   Additionally to core.match there is also matchure [1] which comes with
   a defn-match that can be used like this:
 
   (defn-match choose
   ([_ 0] 1)
   ([0 _] 0)
   ([?n ?k] (+ (choose (dec n) (dec k)) (choose (dec n) k
 
   This makes defining functions fairly close to what you're used from
  Haskell.
 
   [1]https://github.com/dcolthorp/matchure
 
   Christian
 
   On Thu, Sep 29, 2011 at 12:03 PM, Michael Jaaka
   michael.ja...@googlemail.com wrote:
   Hi!
 
   Is there any way to define function with pattern matching in function
   signature as it is in haskell?
 
   Bye!
 
   --
   You received this message because you are subscribed to the Google
   Groups Clojure group.
   To post to this group, send email to clojure@googlegroups.com
   Note that posts from new members are moderated - please be patient
 with
  your first post.
   To unsubscribe from this group, send email to
   clojure+unsubscr...@googlegroups.com
   For more options, visit this group at
  http://groups.google.com/group/clojure?hl=en
 
   --
   You received this message because you are subscribed to the Google
   Groups Clojure group.
   To post to this group, send email to clojure@googlegroups.com
   Note that posts from new members are moderated - please be patient
 with
  your first post.
   To unsubscribe from this group, send email to
   clojure+unsubscr...@googlegroups.com
   For more options, visit this group at
  http://groups.google.com/group/clojure?hl=en

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




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

Re: pattern matching in clojure

2011-09-30 Thread Michael Jaaka
Thanks!

On Sep 30, 11:33 am, Ambrose Bonnaire-Sergeant
abonnaireserge...@gmail.com wrote:
 I've opened an issue concerning this bug:

 http://dev.clojure.org/jira/browse/MATCH-21

 Ambrose

 On Fri, Sep 30, 2011 at 5:04 PM, Ambrose Bonnaire-Sergeant 







 abonnaireserge...@gmail.com wrote:
  There's a problem with destructuring lists (seems like a bug).

  If stack is always a vector, it works.

  (defn rpn' [ stack symb ]
    (match [stack symb]
           [ [x y  z ] * ] (apply vector (* x y ) z)
           [ [x y  z ] + ] (apply vector (+ x y ) z)
           [ x sum ] [ (reduce + x) ]
           [ x y ] (apply vector (read-string y) x) ))

  (defn calculator'[ input ]
  (first (reduce rpn' [] (re-seq #\S+ input

  (calculator'  1 2 10 2 3 + * sum )
  ;= 53

  core.match isn't well road tested yet, still early days.

  Thanks!
  Ambrose

  On Fri, Sep 30, 2011 at 4:36 PM, Michael Jaaka 
  michael.ja...@googlemail.com wrote:

  Thanks for feedback. But now I'm came across a problem. I'm studying
  Learn You a Haskell for Great Good! and I'm on chapter Functionally
  Solving Problems reading Reverse Polish notation calculator.
  I wanted to write it in Clojure. So instead of:
 http://pastebin.com/QzhbyD6d
  I wrote:http://pastebin.com/fsChN96D

  But as you can see the first try doesn't work as expected.
  The destruction of stack doesn't work as expected.
  Expectation is written below as let expression.

  Anyone?

  On Sep 30, 6:56 am, Kevin Downey redc...@gmail.com wrote:
   Last I checked matchjure generates fns which break recur (there is an
  issue
   open for it). Trading recursion for matching seems like a bad deal, I
   recommend using match instead.
   On Sep 29, 2011 4:32 AM, Christian Pohlmann 
  chr.pohlm...@googlemail.com
   wrote:

Additionally to core.match there is also matchure [1] which comes with
a defn-match that can be used like this:

(defn-match choose
([_ 0] 1)
([0 _] 0)
([?n ?k] (+ (choose (dec n) (dec k)) (choose (dec n) k

This makes defining functions fairly close to what you're used from
   Haskell.

[1]https://github.com/dcolthorp/matchure

Christian

On Thu, Sep 29, 2011 at 12:03 PM, Michael Jaaka
michael.ja...@googlemail.com wrote:
Hi!

Is there any way to define function with pattern matching in function
signature as it is in haskell?

Bye!

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

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

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

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


Re: pattern matching in clojure

2011-09-30 Thread David Nolen
This probably won't get fixed unless someone does a really good job of
convincing me otherwise. Vector notation is reserved for things which
support random access.

(defn rpn' [ stack symb ]
  (match [stack symb]
 [([x y  z] :seq) * ] (apply vector (* x y ) z)
 [([x y  z] :seq) + ] (apply vector (+ x y ) z)
 [x sum ] [ (reduce + x) ]
 [x y ] (apply vector (read-string y) x) ))

Should work just fine.

The one approach I might be open to is a variant of match that interprets
vector notation as seq notation:

(matchs [...] ...) or perhaps (matchv :seq [...] ...)

David

On Fri, Sep 30, 2011 at 5:04 AM, Ambrose Bonnaire-Sergeant 
abonnaireserge...@gmail.com wrote:

 There's a problem with destructuring lists (seems like a bug).

 If stack is always a vector, it works.

 (defn rpn' [ stack symb ]
   (match [stack symb]
  [ [x y  z ] * ] (apply vector (* x y ) z)
  [ [x y  z ] + ] (apply vector (+ x y ) z)
  [ x sum ] [ (reduce + x) ]
  [ x y ] (apply vector (read-string y) x) ))

 (defn calculator'[ input ]
 (first (reduce rpn' [] (re-seq #\S+ input

 (calculator'  1 2 10 2 3 + * sum )
 ;= 53

 core.match isn't well road tested yet, still early days.

 Thanks!
 Ambrose

 On Fri, Sep 30, 2011 at 4:36 PM, Michael Jaaka 
 michael.ja...@googlemail.com wrote:

 Thanks for feedback. But now I'm came across a problem. I'm studying
 Learn You a Haskell for Great Good! and I'm on chapter Functionally
 Solving Problems reading Reverse Polish notation calculator.
 I wanted to write it in Clojure. So instead of:
 http://pastebin.com/QzhbyD6d
 I wrote: http://pastebin.com/fsChN96D

 But as you can see the first try doesn't work as expected.
 The destruction of stack doesn't work as expected.
 Expectation is written below as let expression.

 Anyone?



 On Sep 30, 6:56 am, Kevin Downey redc...@gmail.com wrote:
  Last I checked matchjure generates fns which break recur (there is an
 issue
  open for it). Trading recursion for matching seems like a bad deal, I
  recommend using match instead.
  On Sep 29, 2011 4:32 AM, Christian Pohlmann 
 chr.pohlm...@googlemail.com
  wrote:
 
 
 
 
 
 
 
   Additionally to core.match there is also matchure [1] which comes with
   a defn-match that can be used like this:
 
   (defn-match choose
   ([_ 0] 1)
   ([0 _] 0)
   ([?n ?k] (+ (choose (dec n) (dec k)) (choose (dec n) k
 
   This makes defining functions fairly close to what you're used from
  Haskell.
 
   [1]https://github.com/dcolthorp/matchure
 
   Christian
 
   On Thu, Sep 29, 2011 at 12:03 PM, Michael Jaaka
   michael.ja...@googlemail.com wrote:
   Hi!
 
   Is there any way to define function with pattern matching in function
   signature as it is in haskell?
 
   Bye!
 
   --
   You received this message because you are subscribed to the Google
   Groups Clojure group.
   To post to this group, send email to clojure@googlegroups.com
   Note that posts from new members are moderated - please be patient
 with
  your first post.
   To unsubscribe from this group, send email to
   clojure+unsubscr...@googlegroups.com
   For more options, visit this group at
  http://groups.google.com/group/clojure?hl=en
 
   --
   You received this message because you are subscribed to the Google
   Groups Clojure group.
   To post to this group, send email to clojure@googlegroups.com
   Note that posts from new members are moderated - please be patient
 with
  your first post.
   To unsubscribe from this group, send email to
   clojure+unsubscr...@googlegroups.com
   For more options, visit this group at
  http://groups.google.com/group/clojure?hl=en

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


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


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

Thoughts on a polyglot app server?

2011-09-30 Thread Jim
The TorqueBox[1] team is toying with the idea of exposing to Clojure
the abstractions we currently expose to Ruby. We're looking for
feedback from you guys to see what you use now to solve these
problems, what you'd like to see in a possible Clojure App Server,
and if you might actually use it.

If you're not familiar with TorqueBox: it's an application server for
Ruby apps, allowing you to run them on top of JBossAS[2]. But it goes
to great lengths to preserve the typical Ruby development experience,
e.g. no war files or XML.  In addition, it provides the following
enterprisey features to Ruby, built-in:

* asynchronous processing (with futures)
* scheduled jobs
* XA transactions
* companion services (daemons)
* distributed caching
* messaging (via JMS)

Coming from a Ruby background, all of the above were pain points for
us. Do these same pain points exist for Clojure apps?

TorqueBox also supports clustering, which allows load balancing of the
web component as well as cache distribution and horizontal scaling of
async tasks, scheduled jobs, and services. Clojure has built in async
processing and futures, but they use an in VM thread pool, correct?
How would you scale that?

A common TorqueBox idiom is to leverage Ruby in the web tier and Java
in the services/data tier. Are there any Ring-based frameworks that
make Clojure more appealing than Ruby in the web tier?

Or does integrating a Ruby web app with a colocated Clojure service
make more sense? It should be fairly easy to loosely couple them via
messaging.

Speaking of which, if you are using Clojure to process data generated
by other apps/languages, how is that data communicated? Would language
agnostic messaging be useful here?

How do you currently run production code (web apps or otherwise)?

We'd love to open a dialog about these and other things. Any feedback
you care to share is appreciated, either here, or in #torquebox on
Freenode. Toby Crawley and I will be in Raleigh for Clojure/conj as
well, so we look forward to meeting you there!

Thanks!

[1]: http://torquebox.org/
[2]: http://www.jboss.org/jbossas

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


strangeloop presentations

2011-09-30 Thread faenvie
hi clojure-users,

i ploughed through this year's strangeloop presentations
today ...

3 presentations that i can recommend for clojure-users:

- Jim Duey EasyMonads (advanced level)

https://github.com/strangeloop/2011-slides/blob/master/Duey-MonadsEasy.pdf

- David Nolen The Mapping Dilemma (advanced level)

https://github.com/strangeloop/2011-slides/blob/master/Nolen-MappingDilemma.pdf

- Stuart Sierra Introduction to Clojure (intro level)

https://github.com/strangeloop/2011-slides/blob/master/Sierra-ClojureIntro.pdf

well there may be more for you ... take a look !

gruesse

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


Midje Integration for Cascalog

2011-09-30 Thread Sam Ritchie
Hey all,

I've just released a blog post on how to test Cascalog queries with
Midjehttp://sritchie.github.com/2011/09/30/testing-cascalog-with-midje.html;
big thanks to Brian Marick for providing such a killer testing framework.
Thanks to Clojure and tools like
midje-cascaloghttps://github.com/sritchie/midje-cascalog
, Cascalog's https://github.com/nathanmarz/cascalog testing suite now
dominates anything else in the MapReduce world.

I hope anyone working with Hadoop will read this and consider giving
Cascalog a try!

Cheers,
-- 
Sam Ritchie, Twitter Inc
703.662.1337
@sritchie09

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

Re: Using Clojure to Generate Java Source?

2011-09-30 Thread Dennis Crenshaw
Thanks for the advice and support everyone! I'm not hopeful at being able to
sway him to a parenthetical language through logic (I've tried!)

Additionally, I definitely would not consider throwing out unmaintainable
decompiled Java code on the sly. That, as Nicolas pointed out, would be the
ticket to finding a new place of employment. :)

I'll try and make the case with him and our mutual boss for letting me work
with interop until we get some time to re-develop a pure-Java solution. I
don't expect the pace of development to slow down and perhaps proximity to
elegance will make an impression. I have to respect that it's his project,
but I definitely cringing at re-developing this thing imperatively.

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

Re: strangeloop presentations

2011-09-30 Thread Felix Filozov
Do you know if videos will be available?

On Friday, September 30, 2011, faenvie fanny.aen...@gmx.de wrote:
 hi clojure-users,

 i ploughed through this year's strangeloop presentations
 today ...

 3 presentations that i can recommend for clojure-users:

 - Jim Duey EasyMonads (advanced level)

 https://github.com/strangeloop/2011-slides/blob/master/Duey-MonadsEasy.pdf

 - David Nolen The Mapping Dilemma (advanced level)


https://github.com/strangeloop/2011-slides/blob/master/Nolen-MappingDilemma.pdf

 - Stuart Sierra Introduction to Clojure (intro level)


https://github.com/strangeloop/2011-slides/blob/master/Sierra-ClojureIntro.pdf

 well there may be more for you ... take a look !

 gruesse

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


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

Re: strangeloop presentations

2011-09-30 Thread Scott Jaderholm
In the past they've been posted on infoq.com several months later.
Scott


On Fri, Sep 30, 2011 at 1:24 PM, Felix Filozov ffilo...@gmail.com wrote:

 Do you know if videos will be available?


 On Friday, September 30, 2011, faenvie fanny.aen...@gmx.de wrote:
  hi clojure-users,
 
  i ploughed through this year's strangeloop presentations
  today ...
 
  3 presentations that i can recommend for clojure-users:
 
  - Jim Duey EasyMonads (advanced level)
 
 
 https://github.com/strangeloop/2011-slides/blob/master/Duey-MonadsEasy.pdf
 
  - David Nolen The Mapping Dilemma (advanced level)
 
 
 https://github.com/strangeloop/2011-slides/blob/master/Nolen-MappingDilemma.pdf
 
  - Stuart Sierra Introduction to Clojure (intro level)
 
 
 https://github.com/strangeloop/2011-slides/blob/master/Sierra-ClojureIntro.pdf
 
  well there may be more for you ... take a look !
 
  gruesse
 
  --
  You received this message because you are subscribed to the Google
  Groups Clojure group.
  To post to this group, send email to clojure@googlegroups.com
  Note that posts from new members are moderated - please be patient with
 your first post.
  To unsubscribe from this group, send email to
  clojure+unsubscr...@googlegroups.com
  For more options, visit this group at
  http://groups.google.com/group/clojure?hl=en
 

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


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

Re: producing Blub code and vv.

2011-09-30 Thread Dennis Crenshaw
Nice article in the wiki link, the logic rings pretty true for me. Clojure
is a truly powerful language and I don't want for any higher-level
facilities with it yet. :)

That said, it would probably mean great strides in the industry if elegant
Clojure code could be translated to comprehensible Java code (or to other
languages.)

I feel companies use different tools all the time as long as it results
in efficient generation of their lingua franca (Java, Python, Ruby, etc.)
They switch languages very rarely because it takes a revolution in
philosophy to unseat a considerable investment in a particular language.

If Clojure could translate itself into other languages the adoption
argument would be reduced to getting someone to let you use anther tool to
auto-generate boilerplate (the same way IDEs might generate Java
getter/setters.) Only this tool would come with lots of parenthesis and a
REPL, among other things. ClojureScript being a prime example of Clojure
'speaking' another language.

This type of feature is probably only useful as a bridge between now and
when everyone in the future talks in reverse polish notation. However, I
think comfortable proximity to Clojure's elegance and efficiency would help
other developers slowly become acclimated to, and even secretly curious
about a new way of thinking.

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

unable to resolve symbol: doc

2011-09-30 Thread Andrew
When I do M-x clojure-jack-in on one project.clj which uses clojure 1.2.1, 
I'm able to evaluate (doc map). 

But with another project.clj which uses clojure 1.3.0-RC0, the repl is 
unable to resolve symbol: doc. I also changed it to use clojure 1.3.0, ran 
lein deps... M-x clojure-jack-in repl user (doc map) ... unable to 
resolve symbol: doc

What do I need to do differently?

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

Re: seeking advice for reducing boilerplate

2011-09-30 Thread Andrew
Thanks (both) for the advice!

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

Re: unable to resolve symbol: doc

2011-09-30 Thread Mark Rathwell
In 1.3 doc was moved to the clojure.repl namespace.  So, at the repl, you can:

(use 'clojure.repl)

and (doc foo) should work again.


On Fri, Sep 30, 2011 at 3:12 PM, Andrew ache...@gmail.com wrote:
 When I do M-x clojure-jack-in on one project.clj which uses clojure 1.2.1,
 I'm able to evaluate (doc map).
 But with another project.clj which uses clojure 1.3.0-RC0, the repl is
 unable to resolve symbol: doc. I also changed it to use clojure 1.3.0, ran
 lein deps... M-x clojure-jack-in repl user (doc map) ... unable to
 resolve symbol: doc
 What do I need to do differently?

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

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


Re: unable to resolve symbol: doc

2011-09-30 Thread Andrew
Oh **that's** what was meant by the blurb below. Thanks.2.26 doc  find-doc 
moved to REPL

Adds special form docs to the REPL

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

Re: unable to resolve symbol: doc

2011-09-30 Thread Phil Hagelberg
On Fri, Sep 30, 2011 at 12:12 PM, Andrew ache...@gmail.com wrote:
 When I do M-x clojure-jack-in on one project.clj which uses clojure 1.2.1,
 I'm able to evaluate (doc map).
 But with another project.clj which uses clojure 1.3.0-RC0, the repl is
 unable to resolve symbol: doc. I also changed it to use clojure 1.3.0, ran
 lein deps... M-x clojure-jack-in repl user (doc map) ... unable to
 resolve symbol: doc
 What do I need to do differently?

Try using C-c C-c d instead. I'm not sure what the fix is for doc
itself, but this is quite a bit more convenient.

-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


Re: unable to resolve symbol: doc

2011-09-30 Thread Alan Malloy
C-c C-d d, right?

On Sep 30, 1:38 pm, Phil Hagelberg p...@hagelb.org wrote:
 On Fri, Sep 30, 2011 at 12:12 PM, Andrew ache...@gmail.com wrote:
  When I do M-x clojure-jack-in on one project.clj which uses clojure 1.2.1,
  I'm able to evaluate (doc map).
  But with another project.clj which uses clojure 1.3.0-RC0, the repl is
  unable to resolve symbol: doc. I also changed it to use clojure 1.3.0, ran
  lein deps... M-x clojure-jack-in repl user (doc map) ... unable to
  resolve symbol: doc
  What do I need to do differently?

 Try using C-c C-c d instead. I'm not sure what the fix is for doc
 itself, but this is quite a bit more convenient.

 -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


Re: unable to resolve symbol: doc

2011-09-30 Thread Phil Hagelberg
On Fri, Sep 30, 2011 at 2:13 PM, Alan Malloy a...@malloys.org wrote:
 C-c C-d d, right?

Oops, yes that's right.

-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


Re: strangeloop presentations

2011-09-30 Thread Sean Corfield
It was stated at the conference that InfoQ was videoing everything and
will post it over the next six months as they get time to edit/produce
each session.

Sean

On Fri, Sep 30, 2011 at 10:41 AM, Scott Jaderholm jaderh...@gmail.com wrote:
 In the past they've been posted on infoq.com several months later.
 Scott


 On Fri, Sep 30, 2011 at 1:24 PM, Felix Filozov ffilo...@gmail.com wrote:
 Do you know if videos will be available?

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


Re: Thoughts on a polyglot app server?

2011-09-30 Thread Daniel Pittman
On Thu, Sep 29, 2011 at 13:48, Jim jcrossl...@gmail.com wrote:

 The TorqueBox[1] team is toying with the idea of exposing to Clojure
 the abstractions we currently expose to Ruby. We're looking for
 feedback from you guys to see what you use now to solve these
 problems, what you'd like to see in a possible Clojure App Server,
 and if you might actually use it.

Well, we would be seriously interested in it at Puppet Labs.  At the
moment we have a pile of Ruby code, and are using Clojure in some
newer parts of the overall project.  The move toward Clojure is
motivated by the scale and especially parallel operation benefits that
it brings to the table.

The obvious attraction is that TorqueBox would bring an integrated
layer below our Ruby and Clojure code; we would have the same services
available to both, exposing coherent interfaces between the parts, and
would also allow more intimacy around Java interop and cross-language
direct calling.

In terms of Clojure integration, comments around what we care about:

 * asynchronous processing (with futures)

Ideally we would want something compatible with Clojure futures, but
if you offer (eg) bounded thread pools then having compatible syntax
would be a win.  Right now we can get away with the default unbounded
pool size, but the choice would be awesome.

 * scheduled jobs
 * XA transactions
 * companion services (daemons)

Being able to bring these up in Clojure also would be awesome.

 * distributed caching

External memcache compatibility would be a big win here, for us right
now, but isn't long term essential.

 * messaging (via JMS)

We currently use ActiveMQ to provide STOMP services for MCollective,
and for some internal queue needs.  AMQP/JMS messaging would be
valuable, especially if it can interoperate with ActiveMQ, or supports
easy broker clustering, but not essential.

Access to configuring those things from Clojure would be valuable.

On the client side we use clamq (https://github.com/sbtourist/clamq)
to wrap up interactions with the queue service; having that, or
something with similar abstractions, would be valuable.  We especially
like the model of a queue consumer as an infinite lazy sequence.


In addition to those features, having a working and supported Ring
adapter free as part of the distribution would be of great value.
That is approximately the Ruby Rack feature, and means we can drop
whatever front-end we want in place.


I have not looked at JBossAS, but having a pleasant way to cooperate
with lein project descriptions, or support an uber{war,jar} for
getting our application in place, would be awesome.

 Coming from a Ruby background, all of the above were pain points for
 us. Do these same pain points exist for Clojure apps?

Aside from futures, all of those have been, or are, pain points for us
getting bootstrapped in our Clojure project.

 TorqueBox also supports clustering, which allows load balancing of the
 web component as well as cache distribution and horizontal scaling of
 async tasks, scheduled jobs, and services. Clojure has built in async
 processing and futures, but they use an in VM thread pool, correct?
 How would you scale that?

More or less the same way, as near as I can tell.


 A common TorqueBox idiom is to leverage Ruby in the web tier and Java
 in the services/data tier. Are there any Ring-based frameworks that
 make Clojure more appealing than Ruby in the web tier?

From our point of view, Clothesline is an Erlang WebMachine clone and
has been awesome for getting our RESTful service working nicely.  It
decomposes the process of correct HTTP request handling effectively.

For strictly user-facing design we are mostly interested in richer
client side code, so having something focused more on good API than on
easy click-refresh page design makes that kind of moot.

 Or does integrating a Ruby web app with a colocated Clojure service
 make more sense? It should be fairly easy to loosely couple them via
 messaging.

We expect to be doing both of those things over the next year or so.

 Speaking of which, if you are using Clojure to process data generated
 by other apps/languages, how is that data communicated? Would language
 agnostic messaging be useful here?

We encode to JSON, which is sufficiently rich, as well as sufficiently
feature poor, that it hits a good balance.  We can express and
document interfaces well between components around those basic
structures, and that in turn makes it easy to get interoperability and
third party developer support built in effectively.

From where we sit the three things that would be convenient are:

1. REST API for messaging which accepts JSON.  (I see HornetQ delivers :)
2. Built in JSON encoding and decoding in the message queue wrapper.
3. Clojure multimethod-like dispatch on messages.

For 3, right now we have a structure { command: some name here,
... }, and dispatch on that top level command key (and, possible, a
version tag) to our top level handler.  Being able 

[ANN] Scripturian R304 released, with support for Clojure 1.3.0

2011-09-30 Thread Tal Liron
Scripturian is a scalable alternative to JSR-223, providing a clear 
threading model for embedding JVM languages into high-concurrency 
applications:

http://threecrickets.com/scripturian/

Note that this also brings Clojure 1.3.0 support to Prudence. It already 
exists on trunk, and you can build it from there. Otherwise, wait patiently 
for the next minor release of Prudence, which should be in coming weeks.

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

Re: strangeloop presentations

2011-09-30 Thread Alex Miller
Yes, we are working on getting them published. Rich Hickey's keynote
is in the first batch and has already been edited, just waiting to be
synced to slides and scheduled at InfoQ.

Stuart's slides were from a workshop (Aaaron Bedra also did one) and
those were 3 hrs and not filmed, so they will not be available.

Jim Duey did a similar talk at CodePalousa this year and the video for
that version is available if you need it to tide you over. :)

http://www.infoq.com/presentations/Monads-Made-Easy

Some other Clojure talks from Strange Loop (all will have videos):

- Zach Tellman - Event-Driven Programming in Clojure
- Nate Young - Parser Combinators: How to Parse (nearly) Anything
- Nathan Marz - Storm: Twitter's scalable realtime computation system


On Sep 30, 12:24 pm, Felix Filozov ffilo...@gmail.com wrote:
 Do you know if videos will be available?

 On Friday, September 30, 2011, faenvie fanny.aen...@gmx.de wrote:
  hi clojure-users,

  i ploughed through this year's strangeloop presentations
  today ...

  3 presentations that i can recommend for clojure-users:

  - Jim Duey EasyMonads (advanced level)

 https://github.com/strangeloop/2011-slides/blob/master/Duey-MonadsEas...

  - David Nolen The Mapping Dilemma (advanced level)

 https://github.com/strangeloop/2011-slides/blob/master/Nolen-MappingD...

  - Stuart Sierra Introduction to Clojure (intro level)

 https://github.com/strangeloop/2011-slides/blob/master/Sierra-Clojure...









  well there may be more for you ... take a look !

  gruesse

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

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


Re: suggestion for clojure development

2011-09-30 Thread Stuart Halloway
 So what's the plan for the future? Are there plans to make clojure
 stable at some point so that backward compatibility can be expected?
 Otherwise I am going to have difficulty continuing to advocate clojure
 to my colleagues. In other words, when will the library ecosystem be
 considered important enough not to break?

A key benefit of the move to modular contrib libraries is to prevent having 
library ecosystem  == monolithic hairball.

 I think a statement of the policies of the Clojure/Core team (perhaps
 spelled out on the website) concerning stability and backward
 compatibility would really help those of us who want to be able to
 rely on Clojure.

The objective is the kind of stability seen across 1.0, 1.1, and 1.2. 

I am aware of nothing on the horizon like the numerics change, but if something 
important enough comes along, a decision will be made.

Stuart Halloway
Clojure/core
http://clojure.com

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