Hello,
2009/12/17 Dmitry Kakurin
> Judging by the article you've spent very little time "learning"
> Clojure and have managed to get every key point wrong:
>
> > Clojure is a multi-paradigm language
>
> no it's not, and it's most certainty not an OOP language:
> http://clojure.org/rationale
>
>
> I just learned (the hard way, by being humble and asking :-) ) on
> #clojure that one does not say "immutable" collections but
> "persistent" collections, since "persistent" conveys a lot more
> information about what Rich has achieved than just saying "immutable".
Good explanation:
http:
Isn't this the ideal that clojure and libraries are almost more or less
already following ?
2009/12/16 Nicolas Buduroi
> Hi, on the CommonJS Google Group there was a discussion on semantic
> versioning, a formalization of the concept of properly using a common
> version number scheme (Major.Mino
Dealing with version numbers at build time is quite easy with tool
like Maven. The important thing is that everyone agrees on the same
version semantics (great summary [1]). Putting some more tooling
around this should be a good idea, yes.
However, the problem in Java is dealing with versions at r
Thanks Richard for the good link.
So to be even more precise, we can say that clojure's data structures are
"fully" persistent since any older version of the datastructure can still
serve as the basis to create new versions.
2009/12/17 Richard Newman
> > I just learned (the hard way, by being h
Please keep in mind that it is almost literally the speech that I give
to my friends/colleagues when they ask me why am I so excited about
Clojure. I did it many times now and I have quickly learned that
saying "persistent data structures" gets misinterpreted by every
single person as "something yo
That's quite true !
2009/12/17 Dmitry Kakurin
> Please keep in mind that it is almost literally the speech that I give
> to my friends/colleagues when they ask me why am I so excited about
> Clojure. I did it many times now and I have quickly learned that
> saying "persistent data structures" ge
>
>
> e. Find a business for whom Clojure is a critical piece of technology.
>
It is the easiest way to fund it. However AFAIK there is no big/profitable
business depending on clojure solely...yet
Everything else would eat into Rich's time and hence may not be such a good
thing.
--
You received
I have looked at hundreds of languages and flavors more as a kind
of hobby these days. I know these comments are getting a bit
tedious by now, but what I think clojure needs is higher visibility.
Right now only a handful of people know about it. The thought
occurred to me whi
Hi,
On Dec 16, 10:36 pm, Graham Fawcett wrote:
> Not sure it's better, but I find this more readable:
>
> (defn stack-apply [n f stack]
> (if (zero? n)
> stack
> (conj (stack-apply (dec n) f (pop stack))
> (f (last stack)
Unrelated note: (last stack) turns the vector int
On Thu, Dec 17, 2009 at 2:04 AM, Meikel Brandmeyer wrote:
> Hi,
>
> On Dec 16, 10:36 pm, Graham Fawcett wrote:
>
>> Not sure it's better, but I find this more readable:
>>
>> (defn stack-apply [n f stack]
>> (if (zero? n)
>> stack
>> (conj (stack-apply (dec n) f (pop stack))
>>
I was just wondering how a #'map for maps could be done most
succinctly. Came up with this:
(defn mapmap
"Map values of map m using function f."
[f m]
(reduce (fn [m [k v]]
(assoc m k (f v))) {} m))
But there is probably a more straightforward way. What do you use?
Florian
--
Interested? Yes. But it is improbable that I could attend anything
regularly that was not metro accessible.
--
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
1. I'd call it map-vals (as opposed to map-keys)
2. Slight change in the body
(defn map-vals [f coll]
(into {} (map (juxt key (comp f val)) coll))
There is talk of getting something like this into contrib. Stay
tuned :)
Sean
On Dec 17, 9:37 am, "C. Florian Ebeling"
wrote:
> I was just won
AFAIK, such a function is still not in clojure core because it's not clear
to Rich whether f should have one argument (the value), or 2 arguments (key
+ value).
Your version seems good, you can maybe improve it a little bit by using
transients (not tested):
(persistent!
(reduce (fn [m [k v]]
I'm interested, but may have a hard time making it consistently. I do
have a coworker or two who might have both interest and availability.
On Dec 16, 1:14 pm, Matt wrote:
> I'm looking into setting up a Northern Virginia Clojure User Group and
> would like to know who is interested. I know there
Speaking of websites, if you're talking about Matz creation, please
bear in mind it has had a less appealing website for almost 10
years... ;) So maybe let give Clojure a bit time.
Of course many things Ruby community achieved are cool. Both Ruby and
Rails have very good introductory tutorials & d
> AFAIK, such a function is still not in clojure core because it's not clear
> to Rich whether f should have one argument (the value), or 2 arguments (key
> + value).
That is a good question. But I thought if the key makes a difference,
then one could use standard map and rely on map's collection
On Dec 17, 9:37 am, "C. Florian Ebeling"
wrote:
> (defn mapmap
> "Map values of map m using function f."
> [f m]
> (reduce (fn [m [k v]]
> (assoc m k (f v))) {} m))
>
> But there is probably a more straightforward way. What do you use?
I do that exactly, but I never felt the ne
Hi,
I'm trying to access from within a action function, and with no
success, the metadata associated with agent.
My code:
user> (def agt (agent nil :meta {"some" "data"}))
user> (defn action [_] (:meta *agent*))
user> (await (send agt action))
Wich results in:
user> @agt
nil
Instead of:
user> @
I'm in and Reston would be great.
On Dec 17, 9:50 am, Mike Hogye wrote:
> I'm interested, but may have a hard time making it consistently. I do
> have a coworker or two who might have both interest and availability.
>
> On Dec 16, 1:14 pm, Matt wrote:
>
>
>
> > I'm looking into setting up a Nort
Hi Laurent,
If you want to use transients, since the keyset is unchanged, it
should perform slightly better when using (transient m) instead of
(transient {}) as the seed to reduce.
Christophe
On Dec 17, 3:46 pm, Laurent PETIT wrote:
> AFAIK, such a function is still not in clojure core because
On 17 Dec 2009, at 15:44, Sean Devlin wrote:
> 1. I'd call it map-vals (as opposed to map-keys)
>
> 2. Slight change in the body
>
> (defn map-vals [f coll]
> (into {} (map (juxt key (comp f val)) coll))
>
> There is talk of getting something like this into contrib. Stay
> tuned :)
There's alr
On Thu, Dec 17, 2009 at 12:16 PM, Konrad Hinsen
wrote:
>
> On 17 Dec 2009, at 15:44, Sean Devlin wrote:
> > (defn map-vals [f coll]
> > (into {} (map (juxt key (comp f val)) coll))
vs:
> (defmethod fmap clojure.lang.IPersistentMap
> [f m]
> (into (empty m) (for [[k v] m] [k (f v)])))
Are
I came across this problem too, and David's patch helps, to a certain extent.
Additionally, without David's patch, the "src" and "test" directories of the
current project don't get added to the classpath one sees from inside swank.
(All the jars upon which leiningen depends *are* in the classpat
> You warn that you learn languages "just for the fun of it". I would be
> curious to know how much time you spent learning Clojure...
I have been working with Scheme for the past 5 years. Yep, I don't
have 20+ years in development; neither 12+ months in Clojure. My
learning of Clojure has been fo
> Judging by the article you've spent very little time "learning"
> Clojure and have managed to get every key point wrong:
> > Clojure is a multi-paradigm language
> no it's not, and it's most certainty not an OOP
> language:http://clojure.org/rationale
I hear about this everywhere. Is Clojure no
Thanks Dmitry and Richard. In all the replies I found yours to be the
most "humble".
Even though my analysis says otherwise, I am doing the elevator pitch
for Clojure wherever I work. Of course, in an enterprise (where I
work), nobody is going to buy it; but in my own world I use Clojure
more than
Konrad,
I am working on a different proposal on the dev list:
http://groups.google.com/group/clojure-dev/browse_thread/thread/9a518c853bfbba8b#
This is a more in depth version of these functions for maps. I'd love
to have you contribute to the discussion here.
Sean
On Dec 17, 12:16 pm, Konrad
Depends if you need a closure. There are times I do 2D mappings, and
I have to write something like
(map (partail map #(do-work %)) coll).
Or I have to compose my mapping operations.
for is awesome when you need some of the other built-ins, like :while
Sean
On Dec 17, 12:39 pm, Erik Price wr
Good to know, thank you !
2009/12/17 Christophe Grand
> Hi Laurent,
>
> If you want to use transients, since the keyset is unchanged, it
> should perform slightly better when using (transient m) instead of
> (transient {}) as the seed to reduce.
>
> Christophe
>
> On Dec 17, 3:46 pm, Laurent PET
On 17 Dec 2009, at 10:04, Dmitry Kakurin wrote:
> Please keep in mind that it is almost literally the speech that I give
> to my friends/colleagues when they ask me why am I so excited about
> Clojure. I did it many times now and I have quickly learned that
> saying "persistent data structures" g
There is now a release candidate for Clojure 1.1:
http://clojure.googlecode.com/files/clojure-1.1.0-rc1.zip
and also a new "1.1.x" branch in git corresponding to the release.
Please try these out ASAP and provide feedback here.
Thanks much!
Rich
--
You received this message because you are s
I'm interested.
On Dec 16, 1:14 pm, Matt wrote:
> I'm looking into setting up a Northern Virginia Clojure User Group and
> would like to know who is interested. I know there is a DC clojure
> study group, but it seems to not be as active recently. DC is also
> hard for me to get to during the wee
On Dec 17, 2:16 pm, Martin Coxall wrote:
> On 17 Dec 2009, at 10:04, Dmitry Kakurin wrote:
>
> > Please keep in mind that it is almost literally the speech that I give
> > to my friends/colleagues when they ask me why am I so excited about
> > Clojure. I did it many times now and I have quickly
Try removing the colon from your ":meta" call in the action, so you
don't invoke
a map fetch, but call the #'meta function.
user> (defn action2 [_] (meta *agent*)) ; call meta, not :meta
user> (await (send agt action2))
user> @agt
{"some" "data"}
On Dec 17, 10:35 am, Carlos Moscoso wrote:
> Hi,
On Dec 17, 3:11 am, Laurent PETIT wrote:
> Isn't this the ideal that clojure and libraries are almost more or less
> already following ?
Yes it is, but that's because the maintainers are very disciplined and
professional people. Not everybody follow this scheme properly and
even the best of us ca
On Dec 17, 3:13 am, Roman Roelofsen
wrote:
> Dealing with version numbers at build time is quite easy with tool
> like Maven. The important thing is that everyone agrees on the same
> version semantics (great summary [1]). Putting some more tooling
> around this should be a good idea, yes.
Talki
Santhosh G R writes:
>> > Clojure is a multi-paradigm language
>> no it's not, and it's most certainty not an OOP
>> language:http://clojure.org/rationale
>
> I hear about this everywhere. Is Clojure not a multi-paradigm language
> because that is the rationale for the language? For me - It supp
Hey everyone,
I just noticed that replicate's functionality is now duplicated by
repeat. Should this function be deprecated?
Sean
--
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
I was about to point out this reference, but realized Rich has already
already given a nice explanation.
Good to know that this newbie (myself) is on the right track!
On Thu, Dec 17, 2009 at 3:24 PM, Rich Hickey wrote:
>
>
> On Dec 17, 2:16 pm, Martin Coxall wrote:
> > On 17 Dec 2009, at 10:04,
Seems like a wrong place to ask, but is there a Seattle Clojure Group too?
Where can I find this info?
Thanks,
Ajay
On Thu, Dec 17, 2009 at 3:22 PM, tcg wrote:
> I'm interested.
>
> On Dec 16, 1:14 pm, Matt wrote:
> > I'm looking into setting up a Northern Virginia Clojure User Group and
> > w
Erik,
My experience is that you should only use filter/map if you either have a
pre-existing function or you want to use a _very_ short closure (using #()).
For any other case the code becomes unmanageable and then I feel that using
for is the wiser choice.
I hope that they are just as efficient,
Just a follow up, Chris House pointed me out on twitter that the
correct would be to use (meta *agent*) instead of (:meta *agent*).
On Dec 17, 1:35 pm, Carlos Moscoso wrote:
> Hi,
>
> I'm trying to access from within a action function, and with no
> success, the metadata associated with agent.
>
Hi,
Am 16.12.2009 um 17:26 schrieb Meikel Brandmeyer:
> Well. It was claimed it is cleaner... Just asking...
I wrote down my thoughts in a small blog post: http://tr.im/HW5P
Sincerely
Meikel
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post
On Thu, 17 Dec 2009 10:26:03 -0800 (PST)
Santhosh G R wrote:
> > You warn that you learn languages "just for the fun of it". I would be
> > curious to know how much time you spent learning Clojure...
>
> I have been working with Scheme for the past 5 years.
I think this is a critical element!
On Thu, Dec 17, 2009 at 7:50 PM, Sean Devlin wrote:
> Hey everyone,
> I just noticed that replicate's functionality is now duplicated by
> repeat. Should this function be deprecated?
>
> Sean
>
This was discussed before [1] as part of another issue [2], but I don't know
what happened to the sepa
Avital Oliver writes:
> My experience is that you should only use filter/map if you either have a
> pre-existing function or you want to use a _very_ short closure (using #()).
> For any other case the code becomes unmanageable and then I feel that using
> for
> is the wiser choice.
I agree, bu
What are you using to generate the pretty rainbow perens on your website?
---
Joseph Smith
j...@uwcreations.com
(402)601-5443
On Dec 17, 2009, at 5:25 PM, Meikel Brandmeyer wrote:
> Hi,
>
> Am 16.12.2009 um 17:26 schrieb Meikel Brandmeyer:
>
>> Well. It was claimed it is cleaner... Just a
> Given that list of languages, I'd suggest taking a look at Eiffel.
> ...
> It's the source of the function pre/post condition facilities that Clojure
> has.
I did not know that Clojure functions supported Eiffel-style pre/post
conditions. Where can I read more about this?
--
You received this
It's new in 1.1. Go here:
http://clojure.org/special_forms#toc7
And read the "Since 1.1" section.
On Dec 17, 11:58 pm, Eric Lavigne wrote:
> > Given that list of languages, I'd suggest taking a look at Eiffel.
> > ...
> > It's the source of the function pre/post condition facilities that Cloju
I was still using 1.0. This is a good incentive to upgrade :-)
On Fri, Dec 18, 2009 at 12:22 AM, Sean Devlin wrote:
> It's new in 1.1. Go here:
>
> http://clojure.org/special_forms#toc7
>
> And read the "Since 1.1" section.
>
> On Dec 17, 11:58 pm, Eric Lavigne wrote:
>> > Given that list of la
Mike, I think that the whole issue about Lisp creates a big cloud about
Clojure.
Choosing a Lisp like syntax for a new language is a good choice because
of the expressiveness,
it requires less code lines, yields a better design, easier to test, ...
That's a choice between a number of options.
If i
Hello everyone,
Today I'd like to shed some light on a new funciton in 1.1, juxt. In
order to understand juxt(apose), I'd like to first talk about comp
(ose). Comp can be defined in terms of reduce like so:
(defn my-comp [& fns]
(fn [args]
(reduce
(fn[accum f](f accum))
(conj (
I've looked into it a little and this is probably a solvable problem.
Since my native code patch needs fork as well I will try an idea I
have later today.
/mac
On Dec 17, 7:02 pm, Steve Purcell wrote:
> I came across this problem too, and David's patch helps, to a certain extent.
>
> Additionall
On Dec 17, 10:42 am, Santhosh G R wrote:
> Again the same statement about being humble :-(
The "humble" comment relates to the title of your article.
Lookup (and contrast) words "analysis" and "opinion" in your favorite
dictionary.
Were your post named "My opinion about Clojure" I would not make
56 matches
Mail list logo