Hi Bruce,
That doc page used pre-1.0 Clojure code, which, as you saw, doesn't work.
Thanks for the catch, I have fixed the docs on the site.
Stu
> Steve and Jon,
>
> On Mon, Jun 7, 2010 at 12:43, Steve Purcell wrote:
>> Empty seqs are logically true, so your "if" condition is always true.
>>
> May I add this policy concerning Clojure protocols (as well as the rule "one
> must only extend a protocol to a type if he owns either the type or the
> protocol. If one breaks the rule, one should be prepared to withdraw should
> the implementor of either provide a definition") to the assembl
Hi all,
I am trying to close out important tickets prior to the 1.2 beta release. If
you have submitted a ticket that you think is important, and it has received no
action yet, please help me by making sure the pieces are in place so I can
review it efficiently.
One thing that seems missing f
> The above point has been answered to Christophe. I was not talking about the
> way that namespacing will reduce the problem by allowing different function
> names (with probably different semantics) to live in different namespaces.
> This is no different than distinguishing 2 ordinary function
For the cases currently implemented, the perf difference is negligible. I don't
think there is anything wrong with a helper protocol, but I also don't think
the cond-based approach is a problem, unless there are real use cases for
making these open.
Pondering whether this should be a protocol w
definterface makes an actual Java interface. Java does not allow "-".
Attempting this should probably fail with an error message.
Stu
> Hi,
>
> It seems definterface/deftype have a problem with "-" in the method name...
>
> ... Clojure 1.2.0-master-SNAPSHOT (today)
>
> (definterface INm (^St
You are counting the function:
> (count toddg.spell/get-wordlist)
Not the result of calling the function:
(count (toddg.spell/get-wordlist))
Cheers,
Stu
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@
But they can be separate words, and Java treats them so (.toUpperCase,
.toLowerCase).
Stu
> Also, according to Merriam-Webster, uppercase and lowercase don't have
> hyphens in them.
>
> RJ
>
> On May 30, 3:49 pm, Stuart Halloway wrote:
>> I have been workin
Steven, thanks for the detailed feedback! Responses inline:
> Why do some of the functions use StringBuilder (no internal
> synchronization) and some use StringBuffer (provides internal
> synchronization). Using the latter is probably a mistake.
Stuck with this thanks to the Java API: .appendRepl
Thanks! Trying to pass through non-strings was overreaching. Ease of use first:
the API should return immutable strings. If you really need to optimize more
than this, roll your own.
Stu
> Type-hinting args as a CharSequence is a GoodThing; type-hinting that
> you're returning a CharSequence wh
I have been working on a branch [1] and haven't updated the ticket yet [2].
Given the number of diverse (and sometimes opposite!) opinions already
expressed on this topic, I thought a little extra community review would be in
order. David and I organized the work into several fairly small commit
Hi jbs,
Not sure why the title of this post is about "size" instead of "protection",
but why don't you just use private functions in Clojure?
(defn- my-little-helper [] "visible only in my namespace" ...)
Note the "-" on the end of defn, which is idiomatic for introducing a private
var. You ca
This is covered in the coding standards doc [1]: "Use type hints for functions
that are likely to be on critical code; otherwise keep code simple and
hint-free."
Reusable libraries are a strong candidate for type hinting.
[1] http://www.assembla.com/wiki/show/clojure/Clojure_Library_Coding_Stan
> You also mention making the string argument first in some of these
> fns. I believe Will Smith's catch phrase says it best: "Aw hell
> no". String fns are like any other seq fn, and they need to be
> partial'ed, comp'ed and chained appropriately. I can't even begin to
> count the number of po
Thanks to everyone for feedback on this thread. I have updated the ticket to
include a list of changes and open questions, and will be working on a patch
for review.
Stu
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send em
gs to be sorted out before the patch is
approved.
Thanks!
Stu
> On May 26, 8:16 am, Stuart Halloway wrote:
>> If you are a user of clojure.contrib.string, please take a look at the
>> proposed promotion to clojure [1]. Feedback welcome! It is my hope
>> that this promo
+1 Swing.
> +1 Swing. There's a ton of documentation out there, and it got some
> serious love from Sun between java 5 and 6.
>
> On May 27, 11:27 am, Laurent PETIT wrote:
>> Although I work with SWT at work, I would say Swing for 2 reasons :
>>
>> * no additional dependency for users of you
The people have spoken! The trims have it!
Stu
I've done Perl coding and I still mix up chomp and chop. The meaning
of trim, ltrim, and rtrim is immediately clear to me.
trim, ltrim, and rtrim could take an optional argument for characters
to strip:
(rtrim foo) ;; strip trailing whitespace
Definitely! It will be clojure.string. Ticket updated to reflect this.
Are these going to be in their own namespace (clojure.string), or in
core? I hope the former, because many of these names (replace,
reverse, join, split) are too valuable to be dedicated only to
strings.
--
You received t
Stu,
What happened to *not* promoting string?
Changed our mind. It helps keep the people with prerelease books
busy. ;-) Seriously: I did an audit of several third-party libraries,
and concluded that for some libs, the presence of these string
functions in core could be the make-or-break d
Based on the discussion of release granularity that started with the
proposed move of matchure to contrib [1], we are going to start doing
granular builds of Clojure. Matchure can be the first: It can be part
of the full contrib build, but also released as a standalone library
with its own
If you are a user of clojure.contrib.string, please take a look at the
proposed promotion to clojure [1]. Feedback welcome! It is my hope
that this promotion has enough "batteries included" that many libs can
end their dependency on contrib for string functions.
Cheers,
Stu
[1] https://www
Contrib (the license, provenance assurance, issue tracking) is one
thing. Contrib (the monolithic deployment jar) is another.
Historically they have been the same, but they don't have to be.
Antony wants simple minimal dependencies. I want the provenance
assurance, and the process that is (
Stack trace please!
Clojure 1.2.0-master-SNAPSHOT
java.lang.ExceptionInInitializerError (control.clj:9)
Hi all -
I am getting this error and cannot figure out where it is coming from.
I am using Eclipse/CounterClockwise with
Clojure 1.2.0-master-SNAPSHOT
Coljure.contrib 1.2.0-master-SNAPSHOT
Isn't this just 'read' ?
Stu
Hello!
I need symmetric function to prn (reads line of expression from binded
*in* and constructs data structure - just like load-string does it now
from a string).
Right now I store data with prn to a file.
Then read it with buffered reader and load-string.
Read
'into' is one easy way:
(reduce into #{#{[3 2] [5 4] [3 3] } #{[4 3] [5 4] [3 3] } #{[3 2] [2
2] [3 3] } })
=> #{[3 2] [4 3] [5 4] [2 2] [3 3]}
Stu
Hi, from a newbie!! Any help appreciated
Trying to get from here:
#{#{[3 2] [5 4] [3 3] } #{[4 3] [5 4] [3 3] } #{[3 2] [2 2] [3 3] } }
to here
So if program runs from a particular directory and references files as
file:///some/file, then if someone can create a directory called file:
in that directory with some/file inside that, the program will
suddenly try to access the wrong thing? Seems suspicious to me.
Two points:
(1) This is n
I'm comfortable with the behavior implied for these corner cases.
Stu
Hi
On 13 May 2010 03:02, Stuart Halloway
wrote:
* Decidedly, I have bad feelings when I read about the "magic" of
"coercing" a String first as a URL, and if not possible, fall back
and
con
There needs to be more than one thing, but what we have could
definitely be simpler. Check out these threads and join the discussion:
http://bit.ly/a76XSI (dev list ns overhaul discussion)
http://bit.ly/ajcu74 (dev list "need" proposal)
Stu
Hi,
just started looking at Clojure, and it loo
Hi Laurent,
Thanks for the detailed feedback! Responses inline (and updated in a
new patch with #311).
* Shouldn't IOFactory protocol have a docstring to describe the
possible options ? (So that it is possible to extend the protocol even
further, e.g. when working with Eclipse IFile, IResou
I would like to stop following symlinks, but It doesn't appear that
the File API has any ability to detect symlinks. How were you thinking
about doing this?
Following symlinks in delete-file-recursively sounds like a recipe
for
disaster to me.
Sorry, I should have been more explicit. The
For now, the idiomatic way to do this is to use the shorthand
anonymous form:
(apply #(.println %) ... )
Of course the example of printing to System.out is fairly well covered
with Clojure API fns anyway...
Stu
I am trying to call a java method using apply, like :
(apply .printl
Clojure
from http://github.com/richhickey/clojure and apply the patch file I
find on Assembla, I'll have the code to review? It looks like you
modify src/clj/clojure/core.clj a bit, add src/clj/clojure/java/
io.clj, and modify and add testing files. Is this right?
Cheers,
Michael
On May 1
Using an option for symlinks raises the possibility of using options
to let delete-file handle everything, e.g.
(delete-file "foo" :recursive true)
instead of
(delete-file-recursively "foo")
Stu
Assembla Ticket #311 [1] calls for the promotion of
clojure.contrib.io into
clojure (as clojur
Assembla Ticket #311 [1] calls for the promotion of clojure.contrib.io
into clojure (as clojure.java.io). I have attached a patch, and am
requesting comments and code review from the community.
Reasons you want to take time from your day to read this code:
(1) It's important. This isn't just
p Programming Clojure by Stuart Halloway last week and am
working through the book. I'm coming from a Perl/Python/Ruby
background, so Java + Lisp + functional programming is all new to me.
I thought a good exercise would be to write a script that pings all
ips on a subnet looking for existing
Hi Lee,
Your extend-protocol call is incorrectly parenthesized (rank is
outside the body of the form).
This means that "use" should blow up because the source is invalid.
Maybe your use is reading a different source file than you think it is?
Once I fixed that, the code works fine, at lea
Please prefer the #'some.ns/var form to access a private var. I have
add this to the coding standards doc:
https://www.assembla.com/wiki/show/clojure/Clojure_Library_Coding_Standards
Stu
http://groups.google.com/group/clojure/browse_thread/thread/3835e5405ab930f6/
On May 8, 11:20 pm, Mark E
Avoid breaking people working in the edge. Things will be deprecated
and removed over time.
On May 6, 10:46 pm, MarkSwanson wrote:
or as-str from c.c.java-utils (I think)
Good one. It's in string.clj in the latest git.
It looks like identical code for as-str is in both java_utils.clj and
I have fixed it on the clojure side, so it should work with swank
1.1.0 now anyway.
On Thu, May 6, 2010 at 6:49 AM, Stuart Halloway
wrote:
If there is not a principled reason swank works the way it does,
let's fix
it. I'll get to it eventually myself if nobody else does, but
g (or David fixes up Incanter), then the problem goes away?
Because the other place I see the warnings coming out of is swank
itself.
On Thu, May 6, 2010 at 9:33 AM, Stuart Halloway
wrote:
This is another variant of the "Swank likes StringWriters,
everybody else
likes PrintWriters" probl
Just pushed a fix for this. (An ugly hack, really.)
Let me know if it works for you.
In clojure 1.1 you can use defalias on macros, but as far as I can
tell, in the current 1.2 branch, this won't work anymore.
Is this intentional, and if so, how can I work around it once I start
porting stuff
have the
warning (or David fixes up Incanter), then the problem goes away?
Because the other place I see the warnings coming out of is swank
itself.
On Thu, May 6, 2010 at 9:33 AM, Stuart Halloway
wrote:
This is another variant of the "Swank likes StringWriters,
everybody else
likes Print
This is another variant of the "Swank likes StringWriters, everybody
else likes PrintWriters" problem, see e.g. [1]
I would love to see somebody fix this, and I think it is simpler (and
probably conceptually correct) to make swank use a PrintWriter,
instead of requiring all possible tools t
Reflection is slow, there are less than ten of these, and the possible
set ain't gonna change.
I would write a function that looks them up from a map.
Stu
This post originally started as a question, but I've since found a
solution. I thought I'd post it anyway, perhaps someone knows of a
nic
m, Karsten Lang wrote:
It works, thank you!
(Initially, I had missed the bright idea of just using a version a
few
days old .. but then again, then it would be a few more days before
problems were found)
/klang
On Fri, Apr 30, 2010 at 3:35 PM, Stuart Halloway
wrote:
I will check in
For a long time, people have been suggesting that various libraries be
promoted from contrib into clojure core. Last week, we started making
some of the necessary code changes.
THE PROBLEM
While the changes to Clojure itself are only additive and non-
breaking, they can nevertheles
I'll have a fix up within a half hour that should require *no* changes
to incanter.
On 5 May 2010 14:26, Craig Andera wrote:
I have updated the labrepl [1] to use the latest clojure 1.2 and
contrib 1.2
snapshots. Also, most of the dependencies are now frozen to specific
snapshot timestam
Nevermind, I am seeing what Craig sees. Found the issue and am on it.
Stu
Against the same commit I just did: lein clean; lein deps. After
which both script/repl and script/swank run fine (albeit with lots
of the new "WARNING: group-by already refers to:") warnings.
Here's exactly what "le
Against the same commit I just did: lein clean; lein deps. After which
both script/repl and script/swank run fine (albeit with lots of the
new "WARNING: group-by already refers to:") warnings.
Here's exactly what "lein deps" installed in the lib. Craig: do you
see the same?
-rw-r--r-- 1
Not all the way to a solution, but here is a trivial example that
demonstrates the issue:
(def x
(loop [ct 0
s (lazy-seq)]
(if (> ct 1)
s
(recur (inc ct) (lazy-seq (filter identity s))
x
=> java.lang.StackOverflowError
Hello
In a small project of mine, to
labrepl/-main)
#
java.lang.ExceptionInInitializerError (control.clj:9)
1:2 user=> #
1:3 user=> java.lang.Exception: No such var: labrepl/-main (repl-1:2)
Do you maybe have an idea what I'm doing wrong?
On Apr 30, 2:56 pm, Stuart Halloway wrote:
I have updated the labrepl [1] to use th
I have updated the labrepl [1] to use the latest clojure 1.2 and
contrib 1.2 snapshots. Also, most of the dependencies are now frozen
to specific snapshot timestamps (the project.clj file may be of
interest to people living on the development edge).
After a "lein clean; lein deps" everythi
I will check in a fix later this morning.
Stu
klang writes:
laprepl starts up with the following error and localhost:8080 does
not
respond
kl...@feersum:~/projects/labrepl$ script/repl
Clojure 1.2.0-master-SNAPSHOT
java.lang.ExceptionInInitializerError (control.clj:9)
Looks like labrepl
may be
begging the question somewhat. Rich's explanation is more sound than
this argument.
On 29/04/2010, at 9:40 PM, Stuart Halloway wrote:
"In theory, there is no difference between theory and practice. In
practice, there is." -Yogi Berra (maybe).
The recent thread on th
Good point, and no. There are several (but not dozens) of calls to
some. It appears that all of them are places where search is known to
be O(n) on small data, and (most importantly!) *none* of them include
an instance check to see if there is an associative collection
available.
Stu
Hi
Thinking about this one.
I like this proposal. I'd make contains? an alias for contains-key?
with a deprecation warning, and just forget about seq-contains? in
favor of contains-val?
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this
"In theory, there is no difference between theory and practice. In
practice, there is." -Yogi Berra (maybe).
The recent thread on the new seq functions spun off into a theoretical
discussion about whether about the merits of having contains? and seq-
contains? as separate functions. I would
the naming conflict of clojure.core/group-by and swank-
clojure.util/group-by is preventing swank from starting up using
either lein swank or the swank scripts included with Labrepl and
Incanter. I'm dead in the water, any suggested work arounds?
David
On Apr 28, 4:01 pm, Stuart Halloway
Wow, and I thought this was a sore subject before, when there was no
seq-contains? and its absence was always a Top 5 FAQ. :-)
I'll wait for Rich to maybe chime in on seq-contains?. Other than seq-
contains? are people liking the new fns? Anybody having issues we
didn't anticipate?
Stu
O
Another way to put it: If you wrote a protocol to pick a fast
implementation based on type, then seq-contains? would be the fn
that the protocol would call if it couldn't find anything faster.
There have to be primitive things somewhere...
If so, then why isn't there a vector-first and a li
The "seq" in "seq-contains?" says "I want a sequential search."
Protocols *could* make this do something different, but that would
violate the contract of this function.
Another way to put it: If you wrote a protocol to pick a fast
implementation based on type, then seq-contains? would be t
After review, several seq functions from clojure-contrib have been
promoted to clojure [1], [2], [3]. Hopefully the FAQ below will answer
the major questions you may have:
1. Is this a breaking change to Clojure?
No. Rich is super-careful to grow Clojure by expansion, not by
breaking change
Several clojure.contrib.seq/seq-utils functions have been promoted
(with some modification) to clojure.core.
Here's the super-terse summary from the code comment:
;; moved to clojure.core: flatten, partition-all, frequencies,
;; reductions, shuffle, partition-by
;;
I have created a short (30 min) tutorial on clojure protocols at http://vimeo.com/11236603
. Hope some of you will find it useful.
Feedback welcome!
Stu
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@go
A good place to look for examples is protocols.clj and gvec.clj in
clojure itself. protocols.clj includes an example of implementing a
protocol on nil.
Stu
On protocols:
- doc string coming after the arg vecs seems odd. I'm used to putting
them after the "name" of whatever I'm working on.
The second level header tells you the branch (e.g. master). On the
left hand side is a list of branches (so you can click on e.g. 1.1.x).
Some ways I see this might be better:
(1) make clear what master currently equals (right now it is 1.2 alpha)
(2) highlight the branch info more with css
(3
The built-in Java comparison operators don't honor Comparable either.
In Clojure, it's about keeping (pure number) math fast.
If you are doing any nontrivial date work, I recommend you look at clj-
time (http://github.com/clj-sys/clj-time), a Clojure wrapper for Joda
Time. Then, if you real
#299 has been applied in master.
Stu
On Tue, Apr 20, 2010 at 12:50 PM, Heinz N. Gies
wrote:
On Apr 20, 2010, at 4:01 , John Sanda wrote:
I am working with a simple leiningen project with the build defined
as
follows,'
; project.clj
(defproject myproject "1.0.0-SNAPSHOT"
:description "
It's almost certainly the commit that added the InternalReduce
protocol: 5b281880571573c5917781de932ce4789f18daec.
I am slowly pounding my skull against this and would welcome any help.
It appears that the internal-reduce function flakes out and stops
working, but only intermittently.
If
You are added. Thanks!
I'll take a stab at it.Can you add me as a member of clojure-
contrib space, or should I ask on Clojure Dev? I've already
submitted a CA and my assembla UN is "josharnold"
On Apr 14, 9:50 pm, Stuart Halloway wrote:
clojure.contrib.io is
clojure.contrib.io is one of the most used libraries in contrib, and
it has few automated tests. I have created a ticket for this [1]. If
you haven't contributed to Clojure before, this is a gentle place to
get started. You don't need to know Clojure deeply, and there are
already some tests
If you apply the patch I have added at https://www.assembla.com/spaces/clojure/tickets/104-gc-issue-100--gen-class-creating-non-compliant-field-names-
you should be able to tell pretty quickly.
If you aren't comfortable with git patches, building clojure, etc.
ping me offline and I can just s
I am preparing a patch to fix issue #104 [1], a.k.a. "IBM JVM rejects
member names with dashes (-) that Sun JVMs like just fine." The
original thread [2] included a patch that uses $ as a delimiter, e.g.
"who$likes$reading$this". My preference is to use underscores, e.g.
"isnt_this_much_bet
Here's a pure Clojure one: http://github.com/davidsantiago/clojure-csv
And here's a challenge for you: Use protocols to describe a minimal
contract for CSV parsing, then show how protocols solve the expression
problem by letting you backfit to existing Java libs without wrappers
or adapters
Hi Chris,
includes? is in clojure.contrib.seq. Note that it runs in linear time.
This will feature prominently in the FAQ when I update it. :-)
Stu
Hi,
Is there a standard function to test to see if an object is an
element of a sequence? I'm looking for an equivalent of Haskell's
elem fu
Hi Edmund,
This is a regression since last Tuesday's commit
f81e612cc9ff91ddefc1d86e270cd7f018701802. Thanks for catching it!
Stu
Dear Clojurians,
I have been trying to get a proper grip on the operation of lazy-
seq and hope somebody will have the time to clarify a point for me.
The
Clojure doesn't make you say "class" to talk about a class:
String
=> class java.lang.String
Saying "class" takes the class of a thing, even when that thing is a
class:
(class String)
=> java.lang.Class
Stu
How do I invoke Foo.class in Clojure?
Specifically, I'm trying to convert this (w
Have you seen destructuring of rest args in the current master branch?
(defn foo [& {:keys [a b c]}] [a b c])
(foo :a 1 :c 3)
=> [1 nil 3]
With this last bit of sugar in place I am extremely happy with
Clojure's arg handling.
Please don't misunderstand this post - it is not asking for a ch
Google's top hit for "clojure getting started" is
http://clojure.org/getting_started -- should that page be
replaced or at least simplified and include a prominent link to
the assembla page?
--Chouser
http://joyofclojure.com/
Yes. The page is now somewhat simplified and has a link to the
asse
People getting started with Clojure have struggled to find an up-to-
date source for information on getting their editor of choice up and
running. This is unfortunate, since there is good support in a bunch
of different editors.
The "Getting Started" page on Assembla (http://www.assembla.com
Hmm. A this point am not using javac at all, just Clojure. So (in
theory) I would expect to need a config setting on the clojure-maven-
plugin instead. I'll give it a spin though!
Stu
Hi,
On 01.04.2010, at 20:00, Stuart Halloway wrote:
(2) When I import the project, the package exp
it scm provider ? Here too, hopefully somebody with more
knowledge than me can answer your question.
All in all, having to "initialize" once and for all a mave/git project
in two steps instead of one, while desirable, is still manageable, I
hope.
2010/4/1 Stuart Halloway :
I am updating the Eclipse/Counterclockwise instructions to rely on the
maven pom.xml for project definition (as opposed to an Eclipse-
specific project file). This simplifies life as the same pom.xml can
be used as the project description across all the different IDEs.
I am hitting two issue
Thanks, I have incorporated a modified version of these instructions
in the labrepl and in http://www.assembla.com/wiki/show/clojure/Getting_Started
.
Stu
(3) IDEA integration: Ditto but for IDEA/La Clojure.
I have tested labrepl on IntelliJ IDEA Ultimate 9 on Mac: Here are the
steps to in
From a pragmatic point of view, I'd summarize the situation as
follows:
- The Clojure documentation lists which characters can be used in
symbols. If you care about long-term portability, you'd best stick
to those, though no one will sign a contract guaranteeing this list
forever.
Given
This suggests a broader conversation. Clojure stuff currently exists
in multiple places as a consequence of point-in-time decisions and
organic growth. For now I am going to stick with Assembla, but in the
medium run (months) there I want to revisit this idea.
Stu
Just a thought. Would it
The labrepl now has much better "getting started" instructions, thanks
to everyone who pitched in. But this begs the question: Why hide the
getting started instructions in a single project? So, I am working to
create definitive instructions for getting started with Clojure in a
variety of e
sages, which is something I've noticed as well. The
compiler could stand to be a bit friendlier in this regard..
On Mon, Mar 29, 2010 at 3:55 PM, Stuart Halloway
wrote:
One nice thing about Clojure is that double-parenthesized
((anything)) is
usually wrong.
Stu
Hi,
On Mon, Mar 29, 201
One nice thing about Clojure is that double-parenthesized ((anything))
is usually wrong.
Stu
Hi,
On Mon, Mar 29, 2010 at 11:23:29AM -0700, strattonbrazil wrote:
(import '(javax.swing JTable) '(javax.swing.table TableModel))
(def table (new JTable((proxy [TableModel] []
Hi Steven,
Skip interfaces and gen-class, and look instead at protocols and
types. There is a simple example [1] in the labrepl [2]. (You will
need to be on Clojure 1.2 bits, which labrepl does for you, and you
should do in any case.)
I think people will use protocols less frequently than
s to contrib, a classpath that lets "load" find my
source files, and a clojure-indenting, bracket-matching editor.
Anything else is gravy, but most of the existing "getting started"
setups fall short of my threshold at least on the editor front.
-Lee
On Mar 23, 2010,
either:
* Won't fall out of date. Has a test suite, which I run regularly.
* Aspires to be systematic, not just a one-off tutorial on topic A.
(Admittedly not there yet.)
This isn't rocket science, but it is sweating the details. Or it will
be. Make me sweat.
Stu
On 23 Mar
Absolutely! (Shameful admission: I have never touched Vim in my life.)
I figured leaving it out entirely was the fastest way to entice a
contributor. :-)
Stu
Hi,
On Mar 23, 3:13 pm, Stuart Halloway wrote:
(1) NetBeans
(2) CounterClockwise
(3) IDEA
(x) Emacs
Are you also interested
I think it is important to be clear about the difference between:
(A) exploring Clojure (non trivially, including interesting Java
libraries)
(B) deploying Clojure into production.
I nominate the labrepl (http://github.com/relevance/labrepl) as a
solution for (A). It already includes inter
You also get this with the labrepl (http://github.com/relevance/
labrepl) which is free. Plus I am attempting (with a little help from
you all) to keep the labrepl working with various IDEs.
Stu
Stuart's book is by all accounts excellent, but I'm not sure we want
to be in the situation that
GIt just needed a little push. It's there now. Thanks Rich!
On Mar 23, 2010, at 10:13 AM, Stuart Halloway wrote:
The labrepl project (http://github.com/relevance/labrepl) is a
tutorial environment for learning Clojure. It is open source under
the same license as Clojure. Whether yo
The labrepl project (http://github.com/relevance/labrepl) is a
tutorial environment for learning Clojure. It is open source under the
same license as Clojure. Whether you are learning Clojure on your own,
or teaching or learning in a classroom environment, I want labrepl to
be useful to you
I am pretty sure the book uses the idiomatic Java interop forms except
where specifically demonstrating the other forms exist. If that is not
true it is an erratum, please let me know.
Stu
Hi,
one difference which shows up everywhere, is the method and
constructor notation. While in the bo
Very helpful, thanks!
Stu
On Mar 22, 10:54 am, Stuart Halloway
wrote:
The questions below refer to the gist athttps://gist.github.com/
336674/9ab832a86d203731c6379404d20afded79fe5f5b
and to protocols in general:
(1) Clojure automatically types hints the first argument when
extending a
401 - 500 of 875 matches
Mail list logo