Re: Loop and Recur

2010-06-07 Thread Stuart Halloway
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. >>

Re: reacting to an article on clojure protocols, ruby monkey patching, and safety

2010-06-03 Thread Stuart Halloway
> 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

if you have submitted an Assembla ticket...

2010-06-03 Thread Stuart Halloway
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

Re: reacting to an article on clojure protocols, ruby monkey patching, and safety

2010-06-03 Thread Stuart Halloway
> 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

Re: Question on replace/replace-first in #359

2010-06-02 Thread Stuart Halloway
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

Re: Problem with "-" in definterface method name

2010-06-01 Thread Stuart Halloway
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

Re: newbie question about sets not being countable

2010-06-01 Thread Stuart Halloway
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@

Re: review the clojure.string code

2010-05-30 Thread Stuart Halloway
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

Re: review the clojure.string code

2010-05-30 Thread Stuart Halloway
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

Re: review the clojure.string code

2010-05-30 Thread Stuart Halloway
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

review the clojure.string code

2010-05-30 Thread Stuart Halloway
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

Re: Function Size

2010-05-30 Thread Stuart Halloway
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

Re: Elegant way to replace a few words in string

2010-05-29 Thread Stuart Halloway
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

Re: promoting contrib.string to clojure, feedback requested

2010-05-27 Thread Stuart Halloway
> 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

Re: promoting contrib.string to clojure, feedback requested

2010-05-27 Thread Stuart Halloway
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

Re: promoting contrib.string to clojure, feedback requested

2010-05-27 Thread Stuart Halloway
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

Re: Which GUI toolkit would you like to see wrapped in an idiomatic Clojure library?

2010-05-27 Thread Stuart Halloway
+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

Re: promoting contrib.string to clojure, feedback requested

2010-05-26 Thread Stuart Halloway
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

Re: promoting contrib.string to clojure, feedback requested

2010-05-26 Thread Stuart Halloway
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

Re: promoting contrib.string to clojure, feedback requested

2010-05-26 Thread Stuart Halloway
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

non-monolithic contrib build, starting with matchure

2010-05-26 Thread Stuart Halloway
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

promoting contrib.string to clojure, feedback requested

2010-05-26 Thread Stuart Halloway
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

Re: matchure becoming clojure.contrib.match

2010-05-24 Thread Stuart Halloway
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 (

Re: new initialization error - java.lang.ExceptionInInitializerError (control.clj:9)

2010-05-24 Thread Stuart Halloway
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

Re: Symetric function to prn

2010-05-24 Thread Stuart Halloway
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

Re: reducing multiple sets

2010-05-22 Thread Stuart Halloway
'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

Re: code review request: clojure.java.io

2010-05-14 Thread Stuart Halloway
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

Re: code review request: clojure.java.io

2010-05-13 Thread Stuart Halloway
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

Re: What's up with require vs use vs import vs refer?

2010-05-13 Thread Stuart Halloway
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

Re: code review request: clojure.java.io

2010-05-12 Thread Stuart Halloway
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

Re: code review request: clojure.java.io

2010-05-12 Thread Stuart Halloway
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

Re: Calling apply on java methods

2010-05-11 Thread Stuart Halloway
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

Re: code review request: clojure.java.io

2010-05-11 Thread Stuart Halloway
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

Re: code review request: clojure.java.io

2010-05-11 Thread Stuart Halloway
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

code review request: clojure.java.io

2010-05-11 Thread Stuart Halloway
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

Re: My First Clojure Program -- Can Someone Critique It?

2010-05-10 Thread Stuart Halloway
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

Re: Problems accessing records declared in a namespace in a REPL

2010-05-10 Thread Stuart Halloway
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

Re: Testing private functions from another namespace?

2010-05-09 Thread Stuart Halloway
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

Re: History Question

2010-05-07 Thread Stuart Halloway
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

Re: labrepl updated

2010-05-07 Thread Stuart Halloway
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

Re: labrepl updated

2010-05-07 Thread Stuart Halloway
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

Re: Can't defalias a macro in clojure 1.2?

2010-05-06 Thread Stuart Halloway
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

Re: labrepl updated

2010-05-06 Thread Stuart Halloway
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

Re: labrepl updated

2010-05-06 Thread Stuart Halloway
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

Re: given a java.lang.Class, accessing a static field of the associated class

2010-05-06 Thread Stuart Halloway
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

Re: labrepl: kl...@feersum:~/projects/labrepl$ script/repl java.lang.ExceptionInInitializerError (control.clj:9)

2010-05-05 Thread Stuart Halloway
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

last-var-wins: a simple way to ease upgrade pain

2010-05-05 Thread Stuart Halloway
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

Re: labrepl updated

2010-05-05 Thread Stuart Halloway
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

Re: labrepl updated

2010-05-05 Thread Stuart Halloway
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

Re: labrepl updated

2010-05-05 Thread Stuart Halloway
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

Re: StackOverflow exception problem in filter

2010-05-03 Thread Stuart Halloway
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

Re: labrepl updated

2010-05-02 Thread Stuart Halloway
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

labrepl updated

2010-04-30 Thread Stuart Halloway
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

Re: labrepl: kl...@feersum:~/projects/labrepl$ script/repl java.lang.ExceptionInInitializerError (control.clj:9)

2010-04-30 Thread Stuart Halloway
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

Re: seq-contains? in practice

2010-04-29 Thread Stuart Halloway
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

Re: seq-contains? in practice

2010-04-29 Thread Stuart Halloway
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

Re: clojure 1.2 seq fn enhancement FAQ

2010-04-29 Thread Stuart Halloway
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

seq-contains? in practice

2010-04-29 Thread Stuart Halloway
"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

Re: seq fns promoted to clojure.core!

2010-04-28 Thread Stuart Halloway
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

Re: clojure 1.2 seq fn enhancement FAQ

2010-04-28 Thread 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

Re: clojure 1.2 seq fn enhancement FAQ

2010-04-28 Thread Stuart Halloway
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

Re: clojure 1.2 seq fn enhancement FAQ

2010-04-28 Thread Stuart Halloway
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

clojure 1.2 seq fn enhancement FAQ

2010-04-28 Thread Stuart Halloway
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

seq fns promoted to clojure.core!

2010-04-28 Thread Stuart Halloway
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 ;;

tutorial on clojure protocols 1.2

2010-04-26 Thread Stuart Halloway
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

Re: Datatypes and Protocols update

2010-04-22 Thread Stuart Halloway
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.

Re: duck-streams missing from clojure-contrib.jar file

2010-04-21 Thread Stuart Halloway
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

Re: Arguments for < and > et al

2010-04-21 Thread Stuart Halloway
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

Re: version compatibility between clojure and clojure-contrib

2010-04-20 Thread Stuart Halloway
#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 "

Re: platform-specific unit test failures in cc.test-complex-numbers

2010-04-17 Thread Stuart Halloway
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

Re: help wanted: tests for c.c.io

2010-04-15 Thread Stuart Halloway
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

help wanted: tests for c.c.io

2010-04-14 Thread Stuart Halloway
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

Re: requesting help from any IBM JVM users out there

2010-04-14 Thread Stuart Halloway
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

requesting help from any IBM JVM users out there

2010-04-14 Thread Stuart Halloway
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

Re: CSV Lib

2010-04-13 Thread Stuart Halloway
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

Re: Testing to see if an object is an element of a sequence

2010-04-13 Thread Stuart Halloway
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

Re: Understanding lazy-seq

2010-04-12 Thread Stuart Halloway
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

Re: How do I call Foo.class?

2010-04-09 Thread Stuart Halloway
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

Re: A syntax question: positional & keyword

2010-04-06 Thread Stuart Halloway
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

Re: let's all link to the "getting started" pages!

2010-04-06 Thread Stuart Halloway
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

let's all link to the "getting started" pages!

2010-04-06 Thread Stuart Halloway
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

Re: eclipse/counterclockwise/maven question

2010-04-04 Thread Stuart Halloway
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

Re: eclipse/counterclockwise/maven question

2010-04-01 Thread Stuart Halloway
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 :

eclipse/counterclockwise/maven question

2010-04-01 Thread 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

Re: ANN: labrepl, making Clojure more accessible

2010-04-01 Thread Stuart Halloway
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

Re: characters permitted in symbols??

2010-04-01 Thread Stuart Halloway
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

Re: towards definitive "getting started" assistance

2010-03-31 Thread Stuart Halloway
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

towards definitive "getting started" assistance

2010-03-30 Thread Stuart Halloway
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

Re: intuitive stack trace

2010-03-29 Thread Stuart Halloway
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

Re: intuitive stack trace

2010-03-29 Thread Stuart Halloway
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] []

Re: [Noob] Impact of gen-class on clojure-ness

2010-03-29 Thread Stuart Halloway
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

Re: Why I have chosen not to employ clojure

2010-03-23 Thread Stuart Halloway
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,

Re: ANN: labrepl, making Clojure more accessible

2010-03-23 Thread Stuart Halloway
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

Re: ANN: labrepl, making Clojure more accessible

2010-03-23 Thread Stuart Halloway
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

Re: Why I have chosen not to employ clojure

2010-03-23 Thread Stuart Halloway
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

Re: Why I have chosen not to employ clojure

2010-03-23 Thread Stuart Halloway
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

Re: ANN: labrepl, making Clojure more accessible

2010-03-23 Thread Stuart Halloway
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

ANN: labrepl, making Clojure more accessible

2010-03-23 Thread Stuart Halloway
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

Re: Introduction + question re. diff between 'Programming Clojure'

2010-03-23 Thread Stuart Halloway
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

Re: questions on extending protocols

2010-03-22 Thread Stuart Halloway
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

<    1   2   3   4   5   6   7   8   9   >