[ANN] stateful-check 0.3.1 - test stateful systems with test.check

2015-08-13 Thread Carlo Zancanaro
Hey everyone! I've just released a new version of my library for testing stateful systems with test.check! [org.clojars.czan/stateful-check "0.3.1"] https://github.com/czan/stateful-check https://clojars.org/org.clojars.czan/stateful-check Changes in this version: + :real/setup and :re

[ANN] Clojure/conj CFP closes Aug 21st!

2015-08-13 Thread Alex Miller
We've been seeing a lot of "out of office" replies on mailings for the Conj CFP, so we've pushed back the deadline one week to Aug 21st. We'd love to have submissions about Clojure, ClojureScript, libraries, tool, experience reports, etc! https://cognitect.wufoo.com/forms/clojureconj-2015-call-for

Re: Decomplecting Clojure

2015-08-13 Thread Sam Raker
Default laziness can cause problems, but I'm not sure that they're bad problems, necessarily. I think 'opt-out' laziness (and the headaches it can cause) push people--especially people coming from non-FP backgrounds--to really zero in on writing pure, focused functions. On the other hand, from

Re: Decomplecting Clojure

2015-08-13 Thread Alan Thompson
I must agree with Lee that, IMHO, default laziness can cause unexpected problems. I would argue that it violates the Principle of Least Surprise. A better way would be to make laziness optional and explicit, perhaps by adding a "z" suffix to the lazy version of each function (e.g. map -> mapz, for

Re: Decomplecting Clojure

2015-08-13 Thread Lee Spector
Thanks Sebastian for the thoughtful and helpful document! I like it and have shared it with my group. > On Aug 13, 2015, at 1:51 PM, Sebastian Bensusan wrote: > > > I never thought of laziness! It's a good point. Retroactively I might add it > to the Functional Style section :) You did a n

Re: Decomplecting Clojure

2015-08-13 Thread Sebastian Bensusan
Hi John, Thanks for the heads up, I clearly didn't push the changes. When it comes to dependencies, I find that from the user's perspective, they are not desirable: 1. They might conflict with other modules (i.e., lein deps :tree can be a little hell of its own). 2. They increase the size of you

Re: Decomplecting Clojure

2015-08-13 Thread John Gabriele
Wait. If a module has dependencies, that's usually a *good* thing --- it hopefully does one thing well, and doesn't reinvent the wheel. Also, the article online still reads, "Does it have many dependencies?" By the way, I enjoyed the article. Thanks! I liked the short pithy sentences you wrote

Re: apply, mapply, recur, looking for insights

2015-08-13 Thread Tassilo Horn
Dave Tenny writes: Hi Dave, > At issue (for me), keyword arguments and maps that bundle them. > > user> (defn foo [a b & {:keys [c d]}] > [a b c d]) > #'user/foo > user> (defn bar [a b & {:keys [c d] :as options}] > (println (apply foo a b options))) > #'user/bar > user> (bar 1 2

Re: Decomplecting Clojure

2015-08-13 Thread Sebastian Bensusan
Hi Chris, I agree that concurrency is "one useful consequence". I tried to explain all the benefits of immutability in previous drafts and failed miserably. It's something that comes after "enlightenment". That's why I ended up explaining immutability only through very practical terms. On "how is

Re: Hashing With Consistent Results

2015-08-13 Thread Sam Raker
Could you use something like Redis? Use hashes as keys, fake immutability by 'popping' kv pairs and inserting new ones keyed to the (presumably different) hash of the updated map. On Thursday, August 13, 2015 at 7:52:06 AM UTC-4, Christian Weilbach wrote: > > -BEGIN PGP SIGNED MESSAGE-

Re: [ANN] Clojure 1.8.0-alpha3

2015-08-13 Thread Alex Miller
Not to my knowledge but could be I suppose. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsu

apply, mapply, recur, looking for insights

2015-08-13 Thread Dave Tenny
These inconsistencies are bugging me, I just wondered if I was missing some standard language thing about argument passing or destructuring, so I'm looking for comments. At issue (for me), keyword arguments and maps that bundle them. user> (defn foo [a b & {:keys [c d]}] [a b c d]) #'us

Re: Function syntax

2015-08-13 Thread Leon Grapenthin
It is a matter of personal style. Note that there is a max function. On Thursday, August 13, 2015 at 1:53:23 PM UTC+2, Herwig Hochleitner wrote: > > Yep, I meant the thing, `vector` is doing. Thanks! > > 2015-08-13 13:36 GMT+02:00 Amith George > > : > >> Maybe you meant to use `vector` instead of

Re: Function syntax

2015-08-13 Thread Herwig Hochleitner
Yep, I meant the thing, `vector` is doing. Thanks! 2015-08-13 13:36 GMT+02:00 Amith George : > Maybe you meant to use `vector` instead of `vec`? `vec` doesn't accept > variable args. Hence my original question. > > On Thursday, 13 August 2015 16:24:43 UTC+5:30, Herwig Hochleitner wrote: >> >> 201

Re: Hashing With Consistent Results

2015-08-13 Thread Christian Weilbach
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Atamert, sorry for replying late. On 11.08.2015 10:29, Atamert Ölçgen wrote: > Hi Christian, > > hasch looks nice, I might end up just using it. I will be hashing > smaller collections (maps where keys are keywords and values are > atomic data li

Re: Function syntax

2015-08-13 Thread Amith George
Maybe you meant to use `vector` instead of `vec`? `vec` doesn't accept variable args. Hence my original question. On Thursday, 13 August 2015 16:24:43 UTC+5:30, Herwig Hochleitner wrote: > > 2015-08-13 11:13 GMT+02:00 Amith George > > : > >> >> Could you please explain why is the `vec` needed? F

Re: Function syntax

2015-08-13 Thread Amith George
Hi, I originally interpreted Erik's reply to mean -> Instead of `#(last (sort %&))` do `#((comp last sort) %&)`. This works without any issue. Herwig's suggestion was about replacing the entire anonymous function with `(comp last sort vec)`. The example you gave `((comp last sort) 3 2 1)`, ev

Re: Function syntax

2015-08-13 Thread Herwig Hochleitner
2015-08-13 11:13 GMT+02:00 Amith George : > > Could you please explain why is the `vec` needed? From what I understand, > we are expected to treat the variadic args argument as a seq, nothing more. > > What Tassilo said. Also, it's not nessecary to use `vec`, but you need a function that creates a

Re: Function syntax

2015-08-13 Thread Tassilo Horn
Amith George writes: >> That's not the same function as #(last (sort %&)) >> The equivalent would be (comp last sort vec) > > Could you please explain why is the `vec` needed? From what I > understand, we are expected to treat the variadic args argument as a > seq, nothing more. With ((comp las

Re: Function syntax

2015-08-13 Thread Amith George
Hi, That's not the same function as #(last (sort %&)) > The equivalent would be (comp last sort vec) Could you please explain why is the `vec` needed? From what I understand, we are expected to treat the variadic args argument as a seq, nothing more. On Thursday, 13 August 2015 14:02:38 UT

Re: Decomplecting Clojure

2015-08-13 Thread Chris Ford
I enjoyed the post. It's easy for those of us who've been in the community for a while to take such things for granted and not properly explain them to new folks. One suggestion - perhaps concurrency and immutability each deserve their own section? That wouldd give you a chance to dig deeper into

Re: Function syntax

2015-08-13 Thread Herwig Hochleitner
2015-08-13 10:08 GMT+02:00 Eric Le Goff : > I would be curious to know if there are difference (in terms of > performance / elegance ) between those 2 ways of expressing functions > > E.g > > *(fn [& x] (-> x sort last))* > > versus > > *#(last (sort %&))* > > Both are supposedly equivalent, but w

Re: Function syntax

2015-08-13 Thread Erik Assum
(comp last sort) Erik. -- i farta > Den 13. aug. 2015 kl. 10.08 skrev Eric Le Goff : > > I would be curious to know if there are difference (in terms of performance / > elegance ) between those 2 ways of expressing functions > > E.g > > (fn [& x] (-> x sort last)) > > versus > > #(last (

Function syntax

2015-08-13 Thread Eric Le Goff
I would be curious to know if there are difference (in terms of performance / elegance ) between those 2 ways of expressing functions E.g *(fn [& x] (-> x sort last))* versus *#(last (sort %&))* Both are supposedly equivalent, but would you recommend one preferred syntax , or this just a matte

Re: Decomplecting Clojure

2015-08-13 Thread Sebastian Bensusan
That was an error! The question has been corrected to "Does it have a few dependencies? If the answer is 'No!' " Thanks! If you your teammates do read it, please report any feedback. Documents like this one are sometimes appraised by converts and rejected by newcomers which is not the point :