Re: Generalized Type Inference Optimization

2008-11-07 Thread Rich Hickey
On Nov 6, 8:42 pm, Daniel Spiewak [EMAIL PROTECTED] wrote: So you'd need a runtime instanceof test for Class, and use the fastpath if true, reflection if not. Perf could be harder to pin down, as adding an import could cause previously fast code to get slow. Actually, I was thinking

Re: lancet: Clojure controlling Ant

2008-11-07 Thread JGrant
Stuart, Not that I can remember the last time I used Ant but just want to say 'way to go'. That syntax is so much more practical than Ant's choice of XML(Wasn't XML based on S-Exps anyway, lol, we're coming full circle now). I'm guessing that those folks that use Ant a lot will be glad to have

Re: lancet: Clojure controlling Ant

2008-11-07 Thread Stefan Bodewig
[Reposting from gmail. Sorry if this becomes a dupe if/once my original mail sent three hours ago gets unstuck] Hi, Given this is my first post here, a bit of background: I am an Ant committer and have been for more than eight years. I'm a total newbie when it comes to Clojure but have been

Re: lancet: Clojure controlling Ant

2008-11-07 Thread fyuryu
Driving ant from Clojure would be cool. I like the syntax of rake (but I don't use ruby) and started working on something similar. I also wanted to look at ant's internals to reuse some of its code (probably). Here's what I'm working towards (taken from a presentation about rake): (task :build

slurp accepting an encoding parameter

2008-11-07 Thread Brian Doyle
I had a file that was not encoded using the default file encoding so I modified slurp to accept an optional encoding parameter. (defn slurp Reads the file named by f into a string and returns it. Uses the given encoding when opening the file. ([#^String f encoding] (with-open r (if

lancet source code available

2008-11-07 Thread Stuart Halloway
http://github.com/stuarthalloway/lancet/tree/master Very early days. Currently, lancet CAN * create run-once functions with deftarget * use either Clojure code or Ant tasks to provide target behavior * track whether a task has been run using a reference lurking in target metadata Lancet

Re: Having struggle in understanding FP (and Clojure question)

2008-11-07 Thread Graham Fawcett
On Fri, Nov 7, 2008 at 12:25 AM, cwyang [EMAIL PROTECTED] wrote: My expectation is these: 1) For C10K problem (or C100K), application must not use native threads. Big stack size means low concurrency Hi, I assume you mean 'new native thread per request' is bad for CnK. Clojure's

Re: Current issue of ACM Queue has some good STM articles

2008-11-07 Thread Stuart Halloway
Hi Darren This was sort of mentioned before, under the thread STM Criticisms from Bryan Cantrill. I read the one article Bryan linked to and was disappointed to see that it did not talk about the intersection of STM and immutable data structures. Did you find any coverage of that? Stuart

Print compiled Clojure svn revision?

2008-11-07 Thread vdm
Is there a way to make Clojure print the svn revision it was compiled from? A standard or idiomatic way to do this (print clojure--svn-rev) would help when trying to isolate whether observed behaviour is happening on old or current code. It is possible to have newer code checked out but still be

Re: lancet source code available

2008-11-07 Thread Meikel Brandmeyer
Hi, Am 07.11.2008 um 17:08 schrieb Stuart Halloway: (deftarget init (ant/tstamp) (ant/mkdir {:dir build})) I have absolutely no clue about ant, but in case you also want to support normal shell commands, it is maybe a good idea to have look in scsh. They have a nice DSL for such an

Re: lancet source code available

2008-11-07 Thread Stefan Bodewig
On Fri, 7 Nov 2008, Stuart Halloway [EMAIL PROTECTED] wrote: (2) Help me interpret the error in reflectively defining the Ant tasks (commented out lines at the bottom of lancet/ant/ant.clj I don't have a working Clojure environment yet, so I've done a few things with the REPL and

Re: Print compiled Clojure svn revision?

2008-11-07 Thread Rich Hickey
On Nov 7, 1:02 pm, Graham Fawcett [EMAIL PROTECTED] wrote: On Fri, Nov 7, 2008 at 11:46 AM, vdm [EMAIL PROTECTED] wrote: Is there a way to make Clojure print the svn revision it was compiled from? A standard or idiomatic way to do this (print clojure--svn-rev) would help when trying to

Re: Print compiled Clojure svn revision?

2008-11-07 Thread Graham Fawcett
On Fri, Nov 7, 2008 at 1:15 PM, Rich Hickey [EMAIL PROTECTED] wrote: On Nov 7, 1:02 pm, Graham Fawcett [EMAIL PROTECTED] wrote: On Fri, Nov 7, 2008 at 11:46 AM, vdm [EMAIL PROTECTED] wrote: Is there a way to make Clojure print the svn revision it was compiled from? A standard or

Patch and audit: Use vectors for bindings in doseq, et al.

2008-11-07 Thread Chouser
Some macros in boot.clj bind local names, but do not use a vector in their syntax: (dotimes i (range 10) (prn i)) The attached patch modifies the usage of these macros to be more like let: (dotimes [i (range 10)] (prn i)) I walked through all the macros in boot.clj and identified and

Re: Generalized Type Inference Optimization

2008-11-07 Thread Daniel Spiewak
((String)x).length. There's no need to unify the types. There's nothing 'bad' about the code above, that's why we're using Lisp - the type systems are still struggling to be expressive enough. If some third class had both methods, that would become the preferred branch. I actually hadn't

Re: lancet source code available

2008-11-07 Thread Stefan Bodewig
On Fri, 07 Nov 2008, Stefan Bodewig [EMAIL PROTECTED] wrote: If I manually expand define-ant-task I get the expected exception from fail forget that nonsense, I totally misread the macro definition (what a great way to introduce yourself to a community by showing how clueless you are). What

Re: Print compiled Clojure svn revision?

2008-11-07 Thread wwmorgan
As a matter of style, I would rather see this functionality in a global var than in a function. I think that's it's a more idiomatic place for it. user= *version* r1088 On Nov 7, 1:18 pm, Graham Fawcett [EMAIL PROTECTED] wrote: On Fri, Nov 7, 2008 at 1:15 PM, Rich Hickey [EMAIL PROTECTED]

Re: Print compiled Clojure svn revision?

2008-11-07 Thread Matt Revelle
I'm just finishing up an addition to the build script that executes svnversion and stores the result in a versioninfo file that would be placed in the clojure.jar file and the value stored in a *version* var in boot.clj. If someone is building from source, I think we can assume they have

Re: Print compiled Clojure svn revision?

2008-11-07 Thread Daniel Renfer
This wouldn't work if someone is using a mirror of the repository using a different SCM. For instance, there's a mirror on github. On Fri, Nov 7, 2008 at 2:23 PM, Matt Revelle [EMAIL PROTECTED] wrote: I'm just finishing up an addition to the build script that executes svnversion and stores

Re: Print compiled Clojure svn revision?

2008-11-07 Thread Matt Revelle
On Nov 7, 2008, at 2:25 PM, Daniel Renfer wrote: This wouldn't work if someone is using a mirror of the repository using a different SCM. For instance, there's a mirror on github. True, if supporting other SCMs is important we can make the version task in the build file smart enough to

Re: Print compiled Clojure svn revision?

2008-11-07 Thread Mike Hinchey
Haven't we been through this before? http://groups.google.com/group/clojure/browse_thread/thread/1ae7eae292765d40/f49c4ccdaca67a23 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Clojure group. To post to this

Re: Print compiled Clojure svn revision?

2008-11-07 Thread Graham Fawcett
On Fri, Nov 7, 2008 at 2:25 PM, Daniel Renfer [EMAIL PROTECTED] wrote: This wouldn't work if someone is using a mirror of the repository using a different SCM. No, but it would still include the upstream SVN revision number. Alas, what I thought was possible with SVN hooks appears to be

macro/eval question

2008-11-07 Thread Stuart Halloway
The following macro in lancet defines an ant task. (defmacro define-ant-task [task-name] `(def ~(symbol task-name) (create-ant-task ~task-name))) (At least) one of the following assumptions is wrong: (1) define-ant-task needs to be a macro so it can drop args into def. (2)

Re: Patch and audit: Use vectors for bindings in doseq, et al.

2008-11-07 Thread James Reeves
On Nov 7, 6:42 pm, Chouser [EMAIL PROTECTED] wrote: The attached patch modifies the usage of these macros to be more like let: (dotimes [i (range 10)]   (prn i)) A few questions. First, isn't the syntax for dotimes: (dotimes i 10 (prn i)) And in which case, your vector syntax could be

Re: macro/eval question

2008-11-07 Thread Michael Reid
Hi, On Nov 7, 3:48 pm, Stuart Halloway [EMAIL PROTECTED] wrote: The following macro in lancet defines an ant task. (defmacro define-ant-task [task-name] `(def ~(symbol task-name) (create-ant-task ~task-name))) (At least) one of the following assumptions is wrong: (1)

Re: Patch and audit: Use vectors for bindings in doseq, et al.

2008-11-07 Thread Chouser
On Fri, Nov 7, 2008 at 4:22 PM, James Reeves [EMAIL PROTECTED] wrote: A few questions. First, isn't the syntax for dotimes: (dotimes i 10 (prn i)) You're absolutely right. Sorry about that. And in which case, your vector syntax could be misleading, because it seems to imply you're

Re: macro/eval question

2008-11-07 Thread Stuart Halloway
Hi Rich, Sorry for being unclear. define-ant-task will be called as I reflectively walk Ant's object model. A more complete listing follows. The problem is that I am passing (.getKey td) to the macro, where (.getKey td) returns a string--or would if I evaled it :-) Stuart P.S. The whole

Re: macro/eval question

2008-11-07 Thread Rich Hickey
On Nov 7, 5:41 pm, Stuart Halloway [EMAIL PROTECTED] wrote: Hi Rich, Sorry for being unclear. define-ant-task will be called as I reflectively walk Ant's object model. A more complete listing follows. The problem is that I am passing (.getKey td) to the macro, where (.getKey td) returns a