Re: suggestion for clojure development

2011-10-01 Thread Tal Liron

  
  
On 10/02/2011 01:05 AM, Sean Corfield wrote:
Actually I think you're in a better position now. The
  "new contrib"
  libraries are all actively maintained and are expected to be
  compatible with both Clojure 1.2.x and 1.3.0. I'm also hearing a
  possibility that a "ready-to-go" download of updated contrib
  libraries
  will be provided. That seems to address both of your concerns.


You're right, it sounds in line with my hopes!

Would it be possible to think of a better name for this sister
project than "new contrib"? Something that implies its tight
relationship with Clojure? I suggest "Clojure Core". It would then
be nice to have, perhaps, a less-well-maintained "Clojure Extras"
that would be made available for easy use, but without the more
stringent guarantees of Core. A library might live in "Clojure
Extras" for a while before becoming important enough and achieving
the quality standards for moving to Core.

So, perhaps a few of us were overreacting to the changes, or the
changes were not communicated clearly, or UFOs garbled the
transmissions. By the way, the new dev.clojure.org site looks
terrific, and is a few orders of magnitude better than the
clojure.org site. I can actually get a sense of what's happening in
Clojure without joining the Google Group. It's informative. On the
other hand, going to clojure.org, I simply see a download link to
the new Clojure 1.3.0, with no information on these organizational
changes. It's an old complaint, I know, but clojure.org is ... not
the most useful web site on the Internet. The UFOs seem to love it,
though.


  But it can be solved by adding ^{:dynamic true} which makes it
  compatible with both Clojure 1.2.x and 1.3.0. That's how 3rd party
  libraries are solving this problem and being compatible with both
  versions.

True, but the default behavior was changed to "dynamic false"
meaning the libraries *must* be refactored for 1.3.0 in order to
even run properly there, which I think was an unfortunate decision.

Again, as Arthur suggested, I would have preferred a per-namespace
or per-library flag saying "language version 1.3.0" which would have
set the default Var behavior to "dynamic false". Unmarked namespaces
would have fallen back to the pre-1.3 default of "dynamic true", and
a large pain point would have been avoided. Users would have been
able to migrate code one namespace at a time, if at all.

Water under the bridge at this point, except for when we get to the
next bridge. I hope the points raised in this discussion will be
taken under consideration.
  




-- 
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: Equality comparison in 1.3

2011-10-01 Thread Sean Corfield
On Sat, Oct 1, 2011 at 9:52 PM, Daniel  wrote:
> user=> (= 23.0 23)
> false

With every language I've ever worked in, I've always been told that
comparing floating point numbers for equality is a bad idea so I'm
actually glad to see that the above comparison is false...
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

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

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


Re: suggestion for clojure development

2011-10-01 Thread Sean Corfield
On Sat, Oct 1, 2011 at 10:16 PM, Tal Liron  wrote:
> And the issue for me now is concern about what will happen to all
> these contribs in the future if a core language feature changes, such as the
> dynamic Var issue in 1.3. If these contribs are not being built and shipped
> as part of Clojure, it seems risky to rely on them. Some might get upgraded,
> others might languish. What's lacking is any kind of statement of
> commitment. Instead, if I understand it correctly, we see the core Clojure
> project moving back from a commitment model to a more community-management
> model.

Actually I think you're in a better position now. The "new contrib"
libraries are all actively maintained and are expected to be
compatible with both Clojure 1.2.x and 1.3.0. I'm also hearing a
possibility that a "ready-to-go" download of updated contrib libraries
will be provided. That seems to address both of your concerns.

> I'm not necessarily arguing for a move back to the monolith that existed up
> to Clojure 1.2, but for a standard lib *distribution* with a test suite and
> a Clojure stamp of approval.

That's pretty much what "new contrib" is: they have active
maintainers, they have automated builds - with matrix tests against
Clojure 1.2.0, 1.2.1 and 1.3.0 on a variety of JDKs - they have
specific JIRA projects for logging bugs and requesting enhancements,
they have a documented process for maintenance. To become a "new
contrib" library, the project actually does need some level of
Clojure/core approval and involvement.

> example, the new dynamic Var breakage in Clojure could have been solved with
> an optional switch per namespace, requiring explicit enabling for now, and

But it can be solved by adding ^{:dynamic true} which makes it
compatible with both Clojure 1.2.x and 1.3.0. That's how 3rd party
libraries are solving this problem and being compatible with both
versions.

> will try to find time to go back to some of my old code, gather the
> workarounds I found for bugs -- a few in the JSON and in SQL-now-called-JDBC
> contribs -- and find a way to turn them into patches.

That would be cool - thank you. Have a read over the
http://clojure.org/contributing guidelines and the
http://clojure.org/patches process.
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

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

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


Re: Problems logging reliably

2011-10-01 Thread Daniel
Sorry, posted the wrong data describing the problem.  Here it is.
https://gist.github.com/1257122

On Oct 2, 12:39 am, Daniel  wrote:
> This might be an issue with my log4j properties file, Cake, or
> tools.logging, Here's my log4j.properties file:  
> https://gist.github.com/1257086
>
> It should back up the current log file into an old, dated version at
> midnight, and use a new, undated log file.  Instead it appears to halt
> program execution without giving me any error output so long as the
> test has already ran.  https://gist.github.com/1257100
>
> That's one problem.  The other problem is that it's not rolling.
>
> Code:https://gist.github.com/1257108

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


[tools.logging] Problems logging reliably

2011-10-01 Thread Daniel
This might be an issue with my log4j properties file, Cake, or
tools.logging, Here's my log4j.properties file:  https://gist.github.com/1257086

It should back up the current log file into an old, dated version at
midnight, and use a new, undated log file.  Instead it appears to halt
program execution without giving me any error output so long as the
test has already ran.  https://gist.github.com/1257100

That's one problem.  The other problem is that it's not rolling.

Code: https://gist.github.com/1257108

-- 
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-10-01 Thread Tal Liron

  
  
On 10/01/2011 11:49 PM, Sean Corfield wrote:

  I'm curious, what parts of contrib are you relying on that haven't
found active maintainers? Perhaps we can figure out how to address
that, to reduce your pain?


It's not that they weren't maintained. Well, I actually don't know
which was maintained and which wasn't, I'm mostly relying on the
information on the mailing list, and also on your handy page, which
mentions partial migration of some contribs:

http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go

The issue for me (in the past) was quality, not whether they were
maintained or not. And the issue for me now is concern about what
will happen to all these contribs in the future if a core language
feature changes, such as the dynamic Var issue in 1.3. If these
contribs are not being built and shipped as part of Clojure, it
seems risky to rely on them. Some might get upgraded, others might
languish. What's lacking is any kind of statement of commitment.
Instead, if I understand it correctly, we see the core Clojure
project moving back from a commitment model to a more
community-management model.

You know, it doesn't have to be that contribs would be shipped with
Clojure core. There could be an essential "standard library", a
selection of important contribs that is maintained as a sister
project to Clojure. So, I'm not necessarily arguing for a move back
to the monolith that existed up to Clojure 1.2, but for a standard
lib *distribution* with a test suite and a Clojure stamp of
approval. That way, when a new version of Clojure comes out, I can
take a look and see if standard lib is up to date with all the
libraries I use, and maybe point-check the other libs that are not
in the standard. As it stands right now, I have to point check every
single library -- as well as its trail of dependencies -- in order
to evaluate the cost of migration.

It's worth taking a look at the how migration has happens in the
Python world. Python 3.0 indeed represented a major break, but then
there's "from __future__ import" that has existed for a while in the
2.0 branch (*which is still being actively being maintained even
though 3.0 has been around for a while*) allowing for old 2.X code
to slowly migrate to 3.0 futures. For example, the new dynamic Var
breakage in Clojure could have been solved with an optional switch
per namespace, requiring explicit enabling for now, and thus
allowing legacy code (for example, from contribs!) to continue
working for a few more versions in deprecated mode instead of being
just borked.

(Note: I'm realizing now that I'm sounding whiny about the quality
issue. I will try to find time to go back to some of my old code,
gather the workarounds I found for bugs -- a few in the JSON and in
SQL-now-called-JDBC contribs -- and find a way to turn them into
patches. Part of the problem is that my work is not always in an
open source environment, so getting approval to extract these things
ends up more time-consuming than the dev work.)
  




-- 
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: Help/Example needed for using Cake's Context feature

2011-10-01 Thread Daniel
Resolved in the Cake forum.  Apparently 'cake test' implies use of the
'test' context, so you can layer specific details onto it with
defcontext with no problems.

Excellent way, by the way, to test projects with different
datasources.  I seem to recall somebody else having problems with this
issue and midje being suggested.

Aside from midje not yet supporting 1.3, I think this is a better
solution.  Just my 0.02.

On Oct 1, 2:17 pm, Daniel  wrote:
> https://github.com/flatland/cake/wiki/Contexts
>
> I can't get 'cake test @testing' to work.  Here's a really simple
> example
>
> https://gist.github.com/1256509
>
> cake repl @testing works just fine though
>
> $ cake repl @testing
> user=> cake/*project*
> {:dependencies {clojure {:version "1.3.0"}, org.neo4j/neo4j {:version
> "1.5.M01"}, borneo {:version "0.3.0"}, midje {:version "1.3-
> alpha2"}}, :db-path "playground", :group-id "neo4j-
> playground", :context testing, :dev-dependencies {vimclojure/server
> {:version "2.2.0"}}, :name "neo4j-playground", :bake true, :version
> "0.0.1-SNAPSHOT", :ext-dependencies {}, :aot nil, :war-name "neo4j-
> playground-0.0.1-SNAPSHOT", :artifact-id "neo4j-playground", :uberjar-
> name "neo4j-playground-0.0.1-SNAPSHOT-standalone", :description "TODO:
> add summary of your project", :jar-name "neo4j-playground-0.0.1-
> SNAPSHOT"}

-- 
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: Equality comparison in 1.3

2011-10-01 Thread Daniel
user=> (= 23.0 23)
false
user=> (= 23 23)
true


"compares numbers and collections in a type-independent manner"

This kind of breakage was probably to be expected with the numerics
changes in 1.3.  I am also interested in this.


On Oct 1, 4:34 pm, Chris Perkins  wrote:
> I am trying to upgrade some code to 1.3, and I'm not sure how to do the
> equivalent of a 1.2-style equality comparison.
>
> user> (= {:foo 23} {:foo 23.0})
> false
>
> This used to be true.  I see that = is now documented to compare same-type
> numbers only, but == can be used for 1.2-compatible comparisons. However:
>
> user> (== {:foo 23} {:foo 23.0})
> ; Evaluation aborted.
>
> == only seems to work on numbers.
>
> How can I upgrade code that expects 1.2-compatible equality comparisons? Or
> do I need to change my expectations of what is considered equal in clojure?
>
> - Chris

-- 
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-10-01 Thread Sean Corfield
On Sat, Oct 1, 2011 at 8:10 PM, Tal Liron  wrote:
> I did realize pretty early on that the contribs were not all of prime
> quality, but what other choice did I have? Fall back to standard JVM API?

I'm curious, what parts of contrib are you relying on that haven't
found active maintainers? Perhaps we can figure out how to address
that, to reduce your pain?

> What I would want to see is a coherent standard library that is centrally
> maintained. Not everything deserves to be there, of course, but there are
> obvious candidates for essentials.

I think it's worth discussing what's "essential" in contrib. If there
are unmaintained modules that folks think are essential, let's figure
out how to get those maintained again and moved into new contrib.
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

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

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


[Clojuresphere] How do I filter out past dependents?

2011-10-01 Thread Daniel
Say I want to get a full list of _current_ dependents for clojure-1.2
or contrib, for upgrade purposes ... is there currently a way to do
that on Clojuresphere?

-- 
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-10-01 Thread Luc Prefontaine

Let's talk about another context here, we have been in prod since Jan. 2009.
With a pre V1.0 version of Clojure and we used contrib in the state it was in 
these early days.

Staying away from contrib in production was never a concern to us.
We just made the commitment to live with it and wait for it to evolve.

Following upgrades was something we expected. We had to make a choice in 2008,
laying down 60,000+ of java code or 10 times less in Clojure.

We now have over 14,000 lines of Clojure code. We went through two upgrades, 
1.0, 1.2 still
carrying contrib as it matured. Upgrades never involved a significant effort. 
Most of this
was carried on with the normal dev. flow.

Once the new contrib split is in place and stabilized, we expect to spend at 
most 30 man days to upgrade
to it and 1.3, testing included.

I cannot state any louder the economy of time of using Clojure vs Java, even 
Ruby (which was 
considered before crossing Clojure's path). This encompasses writing new code, 
getting it
prod and living to incremental changes (java 5, 6 and now 7 around the corner).

The new modular contribs are tested against 1.2, 1.2.1 and 1.3. Once that 
bridge is crossed
in our code, we do not expect more pain in the future than we are 
"experimenting" now.

The notion of pain seems very relative after reading this thread.

Given the pace at which other languages evolve, I can understand that the 
upgrade path
seems abrupt but you have to compare apples with apples. Having a huge pile of 
non expressive
code with very small incremental changes looks reassuring but it's not a way to 
leapfrog
the competition. On the other hand, having ten times less code means you can 
live with a more
steep upgrade path and do more in less time.

Choose your hell/paradise accordingly :)

Luc P.


On Sat, 1 Oct 2011 20:10:47 -0700 (PDT)
Tal Liron  wrote:

> On Saturday, October 1, 2011 9:34:46 PM UTC-5, David Nolen wrote:
> >
> > To give some context: 
> >
>  
> I appreciate the context, David, and I agree that the change needed
> to happen. It's likely my fault for not being enough in the loop to
> realize what the 1.3 change would mean for me. I expected some
> breakage, but I think I was taken by surprise by how far-reaching it
> was.
> 
> The fact that such important changes needed to happen underscores my
> point -- which I doubt anybody would disagree with -- about the
> maturity of the project. I'm sorry if this offends the people who
> have worked hard to get 1.3 to where it is -- I appreciate all the
> effort, which is in the right direction. But, somebody has to be that
> nagging voice of legacy, so I'll let it be me and Arthur. :) Almost
> no thought at all was given to legacy: the most I saw was a few tips
> on migrating in the changelog. (Again, could be my fault for not
> looking hard enough.)
> 
> I did realize pretty early on that the contribs were not all of prime 
> quality, but what other choice did I have? Fall back to standard JVM
> API? I did do that in some occasions, but it's awkward. Patch the
> contribs? I just didn't have the time (nor patience) to reinvent such
> essential wheels. (I almost did submit a patch for contrib.json...
> it's somewhere on my todo list from a year ago...) Again, the fact
> that Clojure didn't and still doesn't have a good standard library
> (beyond the rock-solid foundation of the JVM) with a full test suite
> is a sign of the vast amount of work Clojure still has ahead in order
> to become as widely adopted as it deserves.
> 
> Stu's comment actually worries me in this respect: the fact that each 
> contrib has its own version may make it easier to evaluate them
> separately, but it would appear to me as a defeatist goal for Clojure
> moving forward. What I would want to see is a coherent standard
> library that is centrally maintained. Not everything deserves to be
> there, of course, but there are obvious candidates for essentials.
> Contrarily, it seems that effort is being put into cleaning up the
> core and jettisoning anything merely suspected of being superfluous.
> So, what's going to happen to all that stuff outside? Will it be
> maintained by "the community"? The same "community" that made the 1.2
> contrib? Or maybe Clojure 1.5 will bring some of them into the fold?
> (I'm not being sarcastic; these are honest questions about the
> possibilities and vision.)
> 
> Being a hardcore JVMer, I am used to APIs in java.* and javax.*
> namespaces as a sign of how close to the center and dependable they
> are. Could something like that be feasible for the Clojure project?
> 
> Someone on this thread mentioned that it's all as expected, and that
> Clojure is just for a bunch of geeks, anyway, so breakage is no big
> deal (I'm paraphrasing). I hope for a strong official position
> against that: many of us believe Clojure should not be a niche
> language. It's the first Lisp in decades with broad practical
> potential and could pave the way for Clojure or other Lisps in more

Re: suggestion for clojure development

2011-10-01 Thread Tal Liron
On Saturday, October 1, 2011 9:34:46 PM UTC-5, David Nolen wrote:
>
> To give some context: 
>
 
I appreciate the context, David, and I agree that the change needed to 
happen. It's likely my fault for not being enough in the loop to realize 
what the 1.3 change would mean for me. I expected some breakage, but I think 
I was taken by surprise by how far-reaching it was.

The fact that such important changes needed to happen underscores my point 
-- which I doubt anybody would disagree with -- about the maturity of the 
project. I'm sorry if this offends the people who have worked hard to get 
1.3 to where it is -- I appreciate all the effort, which is in the right 
direction. But, somebody has to be that nagging voice of legacy, so I'll let 
it be me and Arthur. :) Almost no thought at all was given to legacy: the 
most I saw was a few tips on migrating in the changelog. (Again, could be my 
fault for not looking hard enough.)

I did realize pretty early on that the contribs were not all of prime 
quality, but what other choice did I have? Fall back to standard JVM API? I 
did do that in some occasions, but it's awkward. Patch the contribs? I just 
didn't have the time (nor patience) to reinvent such essential wheels. (I 
almost did submit a patch for contrib.json... it's somewhere on my todo list 
from a year ago...) Again, the fact that Clojure didn't and still doesn't 
have a good standard library (beyond the rock-solid foundation of the JVM) 
with a full test suite is a sign of the vast amount of work Clojure still 
has ahead in order to become as widely adopted as it deserves.

Stu's comment actually worries me in this respect: the fact that each 
contrib has its own version may make it easier to evaluate them separately, 
but it would appear to me as a defeatist goal for Clojure moving forward. 
What I would want to see is a coherent standard library that is centrally 
maintained. Not everything deserves to be there, of course, but there are 
obvious candidates for essentials. Contrarily, it seems that effort is being 
put into cleaning up the core and jettisoning anything merely suspected of 
being superfluous. So, what's going to happen to all that stuff outside? 
Will it be maintained by "the community"? The same "community" that made the 
1.2 contrib? Or maybe Clojure 1.5 will bring some of them into the fold? 
(I'm not being sarcastic; these are honest questions about the possibilities 
and vision.)

Being a hardcore JVMer, I am used to APIs in java.* and javax.* namespaces 
as a sign of how close to the center and dependable they are. Could 
something like that be feasible for the Clojure project?

Someone on this thread mentioned that it's all as expected, and that Clojure 
is just for a bunch of geeks, anyway, so breakage is no big deal (I'm 
paraphrasing). I hope for a strong official position against that: many of 
us believe Clojure should not be a niche language. It's the first Lisp in 
decades with broad practical potential and could pave the way for Clojure or 
other Lisps in more specific niches. The stakes are high: if Clojure is 
widely adopted and trusted, the quality of software everywhere and for 
everyone will improve.

-- 
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-10-01 Thread David Nolen
On Sat, Oct 1, 2011 at 9:49 PM, Tal Liron  wrote:

> On Saturday, October 1, 2011 8:25:21 PM UTC-5, Andy Fingerhut wrote:
>>
>> Tal, did you consider the possibility of staying with Clojure 1.2.1 and
>> its libraries?  Or was that not under consideration for some reason?
>>
>
> It was a consideration, but the cons seemed to outweigh the pros.
>
> Staying with 1.2 meant not only staying with the Clojure core, which worked
> fine, but also losing any progress on any of the contribs, which was frankly
> more important to me than core language changes. Perhaps part of the really
> big issue here is not Clojure per se, but the contribs. In one fell swoop,
> the entire contrib universe for 1.2 was being deprecated. I saw no
> commitment anywhere that bug fixes would be backported to the 1.2 contrib
> library. (I'm not making a principled stand here: the clojure contrib
> library as of 1.2 was very spotty in quality, and required many workarounds
> for bugs in my code. I very much look forward to fixes there.)
>

To give some context:

Contrib is not nor ever was a standard library. It was never maintained by
the core team beyond providing the jar. It was simply a way to encourage
community involvement in a young language. Given the near total lack of
maintenance / improvement activity on any library packaged in monolithic
Contrib in over a *year* is a big adoption warning signal.

People involved in Clojure from the early days I think knew to stay clear of
it for production code. It's unfortunate that you and Arthur have had to
learn this the hard way catching Clojure at a transition. But the new system
makes making an informed judgement about adopting a particular contrib
library easier (separate activity, not tied to core release cycle, JIRA,
etc).

A PITA but Clojure adoption continues to grow quickly regardless of the
opinions of various pundits and this change needs to happen now not later in
order to scale community contributions w/o bogging down the activities of
core.

David

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

Re: suggestion for clojure development

2011-10-01 Thread Stuart Halloway
> Staying with 1.2 meant not only staying with the Clojure core, which worked 
> fine, but also losing any progress on any of the contribs, which was frankly 
> more important to me than core language changes. Perhaps part of the really 
> big issue here is not Clojure per se, but the contribs. In one fell swoop, 
> the entire contrib universe for 1.2 was being deprecated. I saw no commitment 
> anywhere that bug fixes would be backported to the 1.2 contrib library. (I'm 
> not making a principled stand here: the clojure contrib library as of 1.2 was 
> very spotty in quality, and required many workarounds for bugs in my code. I 
> very much look forward to fixes there.)

Agreed, this is really all about the contribs. And now that they are 
independently versioned, there should never be a big bump like the move to 1.3 
again.

Stu

-- 
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-10-01 Thread Tal Liron
On Saturday, October 1, 2011 8:25:21 PM UTC-5, Andy Fingerhut wrote:
>
> Tal, did you consider the possibility of staying with Clojure 1.2.1 and its 
> libraries?  Or was that not under consideration for some reason?
>

It was a consideration, but the cons seemed to outweigh the pros.

Staying with 1.2 meant not only staying with the Clojure core, which worked 
fine, but also losing any progress on any of the contribs, which was frankly 
more important to me than core language changes. Perhaps part of the really 
big issue here is not Clojure per se, but the contribs. In one fell swoop, 
the entire contrib universe for 1.2 was being deprecated. I saw no 
commitment anywhere that bug fixes would be backported to the 1.2 contrib 
library. (I'm not making a principled stand here: the clojure contrib 
library as of 1.2 was very spotty in quality, and required many workarounds 
for bugs in my code. I very much look forward to fixes there.)

I should also mention that I'm a maintainer of two open source projects in 
the Clojure ecosystem. As such, I had some responsibility to keep them up to 
date with 1.3. It's been a bumpy ride there, too, but I knew what I was 
signing up for. :)

-- 
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-10-01 Thread Andy Fingerhut
Tal, did you consider the possibility of staying with Clojure 1.2.1 and its
libraries?  Or was that not under consideration for some reason?

Andy

On Sat, Oct 1, 2011 at 6:03 PM, Tal Liron  wrote:

> On Tuesday, September 27, 2011 1:57:03 PM UTC-5, Arthur Edelstein wrote:
>>
>> So my request for Clojure's future development, is that backwards
>> compatibility not be broken. This means that Clojure code needs a way
>> of designating what Clojure version it is targeted for.
>>
>
> I'm with you, Arthur. Beyond the work that 1.3.0 has caused in the
> immediate sense (about a week of my labor) it has affected my ability to
> invest in Clojure. I pay my rent as a consultant, and I cannot in full
> consciousness advise clients that Clojure is a good idea right now for
> long-term projects. Who knows what breakage 1.4.0 will bring? The thought
> really makes me pause.
>
> Carrying around a legacy is obviously very painful for project maintainers,
> but doing so responsibly is a sign of project maturity. Clojure is not quite
> there. At this point, for many potential users l can only advise that they
> keep an eye on Clojure and wait and see, and for now choose more dependable
> platforms. Obviously, I represent only a certain segment of Clojure users.
> Others do not care as much about long-term investment. I'm afraid, though,
> that my segment wasn't heard at all in this case in the march to improve the
> language.
>
> A related point: the amount of breakage that 1.3.0 has caused --
> particularly the rearranging of the entire contrib universe -- would have
> warranted, in my opinion, a "2.0" designation for the release. The "0" after
> the "2" tells people that this is a fresh start, and is not intended to be
> mature. The wary would then know to wait until a "2.1" before migrating.
>
>  --
> 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-10-01 Thread Tal Liron
On Tuesday, September 27, 2011 1:57:03 PM UTC-5, Arthur Edelstein wrote:
>
> So my request for Clojure's future development, is that backwards 
> compatibility not be broken. This means that Clojure code needs a way 
> of designating what Clojure version it is targeted for.
>

I'm with you, Arthur. Beyond the work that 1.3.0 has caused in the immediate 
sense (about a week of my labor) it has affected my ability to invest in 
Clojure. I pay my rent as a consultant, and I cannot in full consciousness 
advise clients that Clojure is a good idea right now for long-term projects. 
Who knows what breakage 1.4.0 will bring? The thought really makes me pause.

Carrying around a legacy is obviously very painful for project maintainers, 
but doing so responsibly is a sign of project maturity. Clojure is not quite 
there. At this point, for many potential users l can only advise that they 
keep an eye on Clojure and wait and see, and for now choose more dependable 
platforms. Obviously, I represent only a certain segment of Clojure users. 
Others do not care as much about long-term investment. I'm afraid, though, 
that my segment wasn't heard at all in this case in the march to improve the 
language.

A related point: the amount of breakage that 1.3.0 has caused -- 
particularly the rearranging of the entire contrib universe -- would have 
warranted, in my opinion, a "2.0" designation for the release. The "0" after 
the "2" tells people that this is a fresh start, and is not intended to be 
mature. The wary would then know to wait until a "2.1" before migrating.

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

Leiningen Local Repositories

2011-10-01 Thread Dave Sann
Hi,

 I run Artifactory as a local repository manager. Currently, I am adding

:omit-default-repositories true
:repositories {"releases"  "http://artifactory/artifactory/libs-release";
   "snapshots" 
"http://artifactory/artifactory/libs-snapshot";
   "local-release" 
"http://artifactory/artifactory/libs-release-local"}

To all my project.clj files.

Does anyone know if you can add this as a default for lein? If so, how?

Thanks

Dave


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

Equality comparison in 1.3

2011-10-01 Thread Chris Perkins
I am trying to upgrade some code to 1.3, and I'm not sure how to do the 
equivalent of a 1.2-style equality comparison.

user> (= {:foo 23} {:foo 23.0})
false

This used to be true.  I see that = is now documented to compare same-type 
numbers only, but == can be used for 1.2-compatible comparisons. However:

user> (== {:foo 23} {:foo 23.0})
; Evaluation aborted.

== only seems to work on numbers.

How can I upgrade code that expects 1.2-compatible equality comparisons? Or 
do I need to change my expectations of what is considered equal in clojure?


- Chris


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

Help/Example needed for using Cake's Context feature

2011-10-01 Thread Daniel
https://github.com/flatland/cake/wiki/Contexts


I can't get 'cake test @testing' to work.  Here's a really simple
example

https://gist.github.com/1256509


cake repl @testing works just fine though

$ cake repl @testing
user=> cake/*project*
{:dependencies {clojure {:version "1.3.0"}, org.neo4j/neo4j {:version
"1.5.M01"}, borneo {:version "0.3.0"}, midje {:version "1.3-
alpha2"}}, :db-path "playground", :group-id "neo4j-
playground", :context testing, :dev-dependencies {vimclojure/server
{:version "2.2.0"}}, :name "neo4j-playground", :bake true, :version
"0.0.1-SNAPSHOT", :ext-dependencies {}, :aot nil, :war-name "neo4j-
playground-0.0.1-SNAPSHOT", :artifact-id "neo4j-playground", :uberjar-
name "neo4j-playground-0.0.1-SNAPSHOT-standalone", :description "TODO:
add summary of your project", :jar-name "neo4j-playground-0.0.1-
SNAPSHOT"}

-- 
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: Problem Running ClojureScript on OpenJDK

2011-10-01 Thread David Nolen
There's a good chance ClojureScript will be using a newer version of Rhino -
which will address this problem. Should get rolled into master in the next
few days.Thanks for your patience!

David

On Sat, Oct 1, 2011 at 11:23 AM, Volker Schlecht
wrote:

> Has anyone succeeded in solving this issue for OpenJDK yet?
> So far all solutions I've seen discussed boiled down to using Oracle's
> JDK ...
>
> On Aug 14, 6:44 pm, Tzach  wrote:
> > I have a similar problem, but I could not solve it like you did:
> > running on Ubuntu 11.04,
> > $JAVA_HOME set to /usr/lib/jvm/default-java, and default-java soft
> > link to java-6-sun
> >
> > Still when I run script/repl, and
> > (require '[cljs.compiler :as comp])
> > (def jse (comp/repl-env))
> > (comp/repl jse)
> > CompilerException java.lang.RuntimeException:
> > java.lang.ClassNotFoundException:
> > sun.org.mozilla.javascript.internal.Context, compiling:(cljs/
> > compiler.clj:971)
> > user=> CompilerException java.lang.RuntimeException: No such
> > namespace: comp, compiling:(NO_SOURCE_PATH:2)
> > user=> CompilerException java.lang.RuntimeException: No such
> > namespace: comp, compiling:(NO_SOURCE_PATH:3)
> >
> > Any idea?
> >
> > Thanks
> > Tzach
> >
> > On Jul 23, 9:38 am, Sean Corfield  wrote:
> >
> >
> >
> >
> >
> >
> >
> > > On Fri, Jul 22, 2011 at 7:34 PM, Sean Corfield 
> wrote:
> > > > I may just switch to the Sun, er, Oracle JVM since I've a feeling one
> > > > of my other projects (not yet migrated to my netbook) will require
> > > > that JVM anyway...
> >
> > > Just an update: I installed Oracle'sJDKand everything is working
> > > perfectly on myUbuntunetbook :)
> > > --
> > > Sean A Corfield -- (904) 302-SEAN
> > > An Architect's View --http://corfield.org/
> > > World Singles, LLC. --http://worldsingles.com/
> > > Railo Technologies, Inc. --http://www.getrailo.com/
> >
> > > "Perfection is the enemy of the good."
> > > -- Gustave Flaubert, French realist novelist (1821-1880)
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To 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: Problem Running ClojureScript on OpenJDK

2011-10-01 Thread Volker Schlecht
Has anyone succeeded in solving this issue for OpenJDK yet?
So far all solutions I've seen discussed boiled down to using Oracle's
JDK ...

On Aug 14, 6:44 pm, Tzach  wrote:
> I have a similar problem, but I could not solve it like you did:
> running on Ubuntu 11.04,
> $JAVA_HOME set to /usr/lib/jvm/default-java, and default-java soft
> link to java-6-sun
>
> Still when I run script/repl, and
> (require '[cljs.compiler :as comp])
> (def jse (comp/repl-env))
> (comp/repl jse)
> CompilerException java.lang.RuntimeException:
> java.lang.ClassNotFoundException:
> sun.org.mozilla.javascript.internal.Context, compiling:(cljs/
> compiler.clj:971)
> user=> CompilerException java.lang.RuntimeException: No such
> namespace: comp, compiling:(NO_SOURCE_PATH:2)
> user=> CompilerException java.lang.RuntimeException: No such
> namespace: comp, compiling:(NO_SOURCE_PATH:3)
>
> Any idea?
>
> Thanks
> Tzach
>
> On Jul 23, 9:38 am, Sean Corfield  wrote:
>
>
>
>
>
>
>
> > On Fri, Jul 22, 2011 at 7:34 PM, Sean Corfield  
> > wrote:
> > > I may just switch to the Sun, er, Oracle JVM since I've a feeling one
> > > of my other projects (not yet migrated to my netbook) will require
> > > that JVM anyway...
>
> > Just an update: I installed Oracle'sJDKand everything is working
> > perfectly on myUbuntunetbook :)
> > --
> > Sean A Corfield -- (904) 302-SEAN
> > An Architect's View --http://corfield.org/
> > World Singles, LLC. --http://worldsingles.com/
> > Railo Technologies, Inc. --http://www.getrailo.com/
>
> > "Perfection is the enemy of the good."
> > -- Gustave Flaubert, French realist novelist (1821-1880)

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


Re: metadata for records

2011-10-01 Thread David McNeil
Razvan Rotaru wrote:
> Is there a way to attach metadata to defrecord ?

Is this what you are looking for?

(defrecord MyRecord [a b])

(let [r (with-meta (MyRecord. 1 2) {:extra 100})]
  (meta r))
;;-> {:extra 100}

-David

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


metadata for records

2011-10-01 Thread Razvan Rotaru
Hi,

Is there a way to attach metadata to defrecord ?

Razvan

-- 
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-10-01 Thread Sean Corfield
On Fri, Sep 30, 2011 at 6:17 PM, Alex Miller  wrote:
> 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.

You know that you should have saved the best to last and made everyone
wait for that one? :)

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

All three were great presentations!
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

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

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