Re: Poll for a new name for clojure eclipse plugin 'clojure-dev'

2009-07-11 Thread Anand Patil
There's going to be a solar eclipse in a couple of weeks visible from lots of places with great names: Varanasi, Darjeeling (has a j in it!) and Surat, for example. An alignment of three cosmic bodies is a syzygy. Many eclipse cycles seem to have neat names:

Re: Incanter classpath difficulties

2009-06-22 Thread Anand Patil
On Mon, Jun 22, 2009 at 2:41 AM, liebke lie...@gmail.com wrote: Hi Anand, Try changing the INCANTER_HOME variable in the clj script to the absolute path to the incanter directory, instead of a relative path, like ./ or ../ Let me know if that doesn't work. Hi David, Didn't work,

Re: Incanter classpath difficulties

2009-06-22 Thread Anand Patil
, Anand Patil anand.prabhakar.pa...@gmail.com wrote: On Mon, Jun 22, 2009 at 2:41 AM, liebke lie...@gmail.com wrote: Hi Anand, Try changing the INCANTER_HOME variable in the clj script to the absolute path to the incanter directory, instead of a relative path, like

Re: Incanter classpath difficulties

2009-06-22 Thread Anand Patil
OK, figured it out... the problem was I had copied incanter.clj to /Library/Java/Extensions. When I removed that copy, everything worked as expected. Weird, but I'm glad it's not happening anymore. Anand On Mon, Jun 22, 2009 at 1:52 PM, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Hi

Re: Clojure in Computing in Science and Engineering

2009-06-21 Thread Anand Patil
On Sat, Jun 20, 2009 at 11:29 AM, Jon Harrop j...@ffconsultancy.com wrote: The Task Parallel Library. It uses concurrent wait-free work-stealing queues to provide an efficient implementation of work items than can spawn other work items with automatic load balancing on shared memory

Incanter classpath difficulties

2009-06-21 Thread Anand Patil
Hi David and all, Just trying to get up and running with Incanter, on a Mac with the github head. The clj script doesn't find part of parallel colt: (head-mac bin) ./clj Clojure 1.1.0-alpha-SNAPSHOT user= (use '(incanter core)) java.lang.NoClassDefFoundError:

Re: Clojure in Computing in Science and Engineering

2009-06-18 Thread Anand Patil
On Thu, Jun 18, 2009 at 5:48 PM, Konrad Hinsen konrad.hin...@laposte.netwrote: On 18.06.2009, at 16:47, psf wrote: That is funny... I put a little Clojure plug into the article entitled Trailblazing with Roadrunner in the very same issue of CiSE. Great minds think alike ;-) On

Re: Feedback on new persistentmatrix datatype

2009-05-18 Thread Anand Patil
On Sun, May 17, 2009 at 1:15 PM, Konrad Hinsen konrad.hin...@laposte.netwrote: On 16.05.2009, at 15:53, aperotte wrote: Yes Anand, I'm worried about that. What I think the solution should be is to allow mutability in the implementation of algorithms in the java back end for the reasons

Re: Feedback on new persistentmatrix datatype

2009-05-18 Thread Anand Patil
On Mon, May 18, 2009 at 10:54 AM, Konrad Hinsen konrad.hin...@laposte.netwrote: On May 18, 2009, at 11:21, Anand Patil wrote: Huh, sounds like just the thing. Security is going to be especially difficult in Clojure, though. For example, say I stuck the array into a ref from within

Re: Feedback on new persistentmatrix datatype

2009-05-15 Thread Anand Patil
On Sat, May 9, 2009 at 7:09 PM, aperotte apero...@gmail.com wrote: It shouldn't be a problem to maintain immutability and also perform a cross/cartesian product. I'm not sure I understand the problem. It was a pretty bad example... what I meant was, in scientific computing, people often have

Re: Feedback on new persistentmatrix datatype

2009-05-06 Thread Anand Patil
On Sat, May 2, 2009 at 11:19 PM, aperotte apero...@gmail.com wrote: Hello everyone, I just uploaded some of my work on a new datatype for clojure to a git repository. http://github.com/aperotte/persistentmatrix A bit of the rationale and motivation for the datatype is described on the

Re: March 20th 2009 Rich Hickey Appreciation Day!

2009-03-22 Thread Anand Patil
Clojure's great, thanks very much for making it available supporting it! Anand On Fri, Mar 20, 2009 at 6:26 PM, Rayne disciplera...@gmail.com wrote: I Anthony Simpson, with the support of fellow Clojurists hereby declare March 20th, the first day of spring, Rich Hickey appreciation day!

Re: Synchronous watches

2009-03-05 Thread Anand Patil
Excellent point. Yes, get-watches seems like a better option. Anand On Thu, Mar 5, 2009 at 3:33 AM, Timothy Pratley timothyprat...@gmail.comwrote: I forgot to mention the reason I don't feel it should be an error to remove a non-existent watch user= (dissoc {:a 1 :b 2} :c) {:a 1, :b 2}

Re: Synchronous watches

2009-03-05 Thread Anand Patil
be sensible consists of this question and a request for watches that respond to errors. Thanks, Anand On Thu, Mar 5, 2009 at 9:34 AM, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Excellent point. Yes, get-watches seems like a better option. Anand On Thu, Mar 5, 2009 at 3:33 AM

Re: Metadata on functions

2009-03-04 Thread Anand Patil
On Wed, Mar 4, 2009 at 12:50 PM, Konrad Hinsen konrad.hin...@laposte.netwrote: Rich, is there a reason why metadata is explicitly disabled on function objects? I find myself wanting to put metadata on functions frequently. It seems even more important for functions than for anything else,

Re: Synchronous watches

2009-03-04 Thread Anand Patil
On Wed, Mar 4, 2009 at 10:35 AM, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Hi Rich, I like the flexibility of the new watches, but I'm missing a way to watch for errors. Currently, if an agent's action results in an error its watchers aren't even triggered. Thanks, Anand Also

Re: So what do we want for a Cells-alike ?

2009-03-03 Thread Anand Patil
On Mar 3, 1:04 pm, Rich Hickey richhic...@gmail.com wrote: I think it is important to embrace asynchrony and concurrency as Clojure does. Any Cells-for-Clojure that presumes the world is a single synchronous chain of events would be a misfit. The whole notion of a 'current step' is suspect.

Re: So what do we want for a Cells-alike ?

2009-03-03 Thread Anand Patil
On Mar 3, 3:22 pm, Raffael Cavallaro raffaelcavall...@gmail.com wrote: On Mar 3, 8:04 am, Rich Hickey richhic...@gmail.com wrote:  If B and C depend on A in such a way that their values must be coordinated in order to be valid and consistent, then maybe they shouldn't independently

Re: Making agents able to temporarily yield place on thread pool

2009-03-02 Thread Anand Patil
On Mar 2, 1:16 am, MikeM michael.messini...@invista.com wrote: Not sure if I understand what you need, but could you build on the existing capability to send to the current agent: (send *agent* ...) ? You could have the agent send to itself, then exit the function with some work left to do

Re: Making agents able to temporarily yield place on thread pool

2009-03-02 Thread Anand Patil
On Mar 1, 10:58 pm, Rich Hickey richhic...@gmail.com wrote: On Mar 1, 2009, at 1:53 PM, Anand Patil wrote: I've made futures use the Agents' CachedThreadPool, which should   prevent the thread pool exhaustion (svn 1316). You shouldn't worry   about the expense of the threads, that's why

Re: Making agents able to temporarily yield place on thread pool

2009-03-02 Thread Anand Patil
On Mar 2, 12:48 pm, Rich Hickey richhic...@gmail.com wrote: On Mar 2, 2009, at 5:15 AM, Anand Patil wrote: On Mar 1, 10:58 pm, Rich Hickey richhic...@gmail.com wrote: On Mar 1, 2009, at 1:53 PM, Anand Patil wrote: I've made futures use the Agents' CachedThreadPool, which should

Re: Making agents able to temporarily yield place on thread pool

2009-03-02 Thread Anand Patil
On Mar 2, 2:34 pm, Anand Patil anand.prabhakar.pa...@gmail.com wrote: On Mar 2, 12:48 pm, Rich Hickey richhic...@gmail.com wrote: On Mar 2, 2009, at 5:15 AM, Anand Patil wrote: On Mar 1, 10:58 pm, Rich Hickey richhic...@gmail.com wrote: If you'll bear with me a bit longer- what if I set

Making agents able to temporarily yield place on thread pool

2009-03-01 Thread Anand Patil
Hi all, My concurrent dabblings in Clojure have been a real pleasure so far. In terms of concurrency, it's just in a completely different league from any other language I've tried. However, I think agents could be made even more friendly by allowing them to temporarily surrender their place in

Re: Synchronous watches

2009-02-27 Thread Anand Patil
Hi Rich, On Feb 27, 2:57 pm, Rich Hickey richhic...@gmail.com wrote: I've added (back) synchronous watches (svn 1309+), which used to exist for agents, now for all reference types. (defn add-watch   Experimental.   Adds a watch function to an agent/atom/var/ref reference. The watch   fn

Re: Synchronous watches

2009-02-27 Thread Anand Patil
Never mind, I get it now. Thanks, Anand On Feb 27, 4:32 pm, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Hi Rich, On Feb 27, 2:57 pm, Rich Hickey richhic...@gmail.com wrote: I've added (back) synchronous watches (svn 1309+), which used to exist for agents, now for all reference

Richer 'partial'

2009-02-26 Thread Anand Patil
Hi all, I could use a version of 'partial' that would allow me to: - Partially apply a function to any of its arguments, not just the first one - 'Unapply' a partially-applied function from one of its arguments. Is any such thing already available? Thanks, Anand

Re: Richer 'partial'

2009-02-26 Thread Anand Patil
Thanks for the responses, guys. - Partially apply a function to any of its arguments, not just the first one That's already the case, haven't you made a little test ? I meant I want to apply it out of sequence, sorry. You can easily partially apply to other arguments by doing this: #(fred

Re: Richer 'partial'

2009-02-26 Thread Anand Patil
it. On Thu, Feb 26, 2009 at 10:24 AM, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Hi all, I could use a version of 'partial' that would allow me to: - Partially apply a function to any of its arguments, not just the first one - 'Unapply' a partially-applied function from one

Re: Richer 'partial'

2009-02-26 Thread Anand Patil
Sorry, I thought I had pushed 'stop' in time to stop the first response. On Feb 26, 4:16 pm, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Thanks for the responses, guys. - Partially apply a function to any of its arguments, not just the first one That's already the case, haven't you

Re: Richer 'partial'

2009-02-26 Thread Anand Patil
On Feb 26, 4:41 pm, mikel mev...@mac.com wrote: Other people have explained currying and partial application, and why it doesn't normally spply the feature you want. I'd be interested in reading about this if you know of a link. Normally, in a lnaguage that supplies partial application,

Re: How to get rid of reflection warning from countdown latch?

2009-02-24 Thread Anand Patil
Thanks Miʃel, On Feb 23, 10:15 pm, Michel Salim michel.syl...@gmail.com wrote: What's the object on which .countDown is called? You need to find where it's first declared and give it a type annotation. It's created here: let [ latch (java.util.concurrent.CountDownLatch. n)

Re: How to get rid of reflection warning from countdown latch?

2009-02-24 Thread Anand Patil
On Feb 24, 1:32 pm, Michel Salim michel.syl...@gmail.com wrote: On Tue, Feb 24, 2009 at 4:44 AM, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Thanks Miʃel, On Feb 23, 10:15 pm, Michel Salim michel.syl...@gmail.com wrote: What's the object on which .countDown is called? You need

How to get rid of reflection warning from countdown latch?

2009-02-23 Thread Anand Patil
Hi all, I'm getting Reflection warning, line: 150 - reference to field countDown can't be resolved. from (if cell-updated? (if (not (:updating @cell)) (.countDown latch Is there any way to get rid of it? Thanks, Anand

Re: How to get rid of reflection warning from countdown latch?

2009-02-23 Thread Anand Patil
This blind stab worked... is it correct? (if cell-updated? (if (not (:updating @cell)) (.countDown #^java.util.concurrent.CountDownLatch latch Thanks, Anand On Feb 23, 5:20 pm, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Hi all, I'm getting Reflection

Re: Feedback sought on yet another cells implementation!

2009-02-22 Thread Anand Patil
Hi Tim, thanks for the feedback! On Feb 21, 11:16 am, Timothy Pratley timothyprat...@gmail.com wrote: (1) auto-agents by SS in contrib has a more convenient syntax [maybe you can mimic it] Agreed, it is nicer. At the moment 'def-cell' is already a stretch for me, but maybe someday I'll get

Re: Feedback sought on yet another cells implementation!

2009-02-21 Thread Anand Patil
. Thanks, Anand On Feb 19, 6:46 pm, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Hi all, I would really appreciate some comments and criticism on mycellsimplementation, which I've uploaded to this group's files as dataflow.clj . My goal was to fully exploit the available concurrency

Feedback sought on yet another cells implementation!

2009-02-19 Thread Anand Patil
Hi all, I would really appreciate some comments and criticism on my cells implementation, which I've uploaded to this group's files as dataflow.clj . My goal was to fully exploit the available concurrency, but not do any unnecessary cell evaluations. My solution is lazy rather than push-based;

Pmapping force over treed delays

2009-02-08 Thread Anand Patil
Hi all, Say I have a collection of delays, some of which need to get others' values in order to compute (there are no cyclic dependencies). If I just pmap force over the entire collection, do I run the risk of filling up a thread pool with operations that aren't ready to go yet? Would it be

Discarding entire transactions

2009-02-08 Thread Anand Patil
Hello again, In my application, I'll frequently want to quickly discard all the changes made during a transaction involving many refs. I don't want to force the refs to roll back to their values at the beginning of the transaction, I just want to end the transaction immediately and skip the

Re: Discarding entire transactions

2009-02-08 Thread Anand Patil
On Feb 8, 7:29 pm, Shawn Hoover shawn.hoo...@gmail.com wrote: On Sun, Feb 8, 2009 at 12:23 PM, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Hello again, In my application, I'll frequently want to quickly discard all the changes made during a transaction involving many refs. I

Re: Possible bug in preduce

2009-02-04 Thread Anand Patil
On Feb 3, 11:09 pm, Rich Hickey richhic...@gmail.com wrote: On Feb 3, 4:43 pm, Anand Patil anand.prabhakar.pa...@gmail.com wrote: No, it's not. as the docs for preduce say:http://clojure.org/api#preduce Also note that (f base an-element) might be performed many times in fact

Re: Stupid Java questions

2009-02-04 Thread Anand Patil
I agree don't mean to complain. I'm just flagging the issues to make it easier for whoever goes through the docs after clojure 1.0 is tagged. Anand On Feb 4, 9:45 am, Zak Wilson zak.wil...@gmail.com wrote: The namespace is correct on clojure.org/api, but there it doesn't mention that it has

Stupid Java questions

2009-02-03 Thread Anand Patil
Hi all, I'm using the system java on Mac OS Leopard, and confused about how to get the parallel library working. I've got the necessary jar file on my classpath: sihpc03:clojure anand$ echo $CLASSPATH /usr/local/clojure:/Library/Java/Extensions sihpc03:clojure anand$ ls

Re: Stupid Java questions

2009-02-03 Thread Anand Patil
OK, I get it: - parallel.clj writes into the namespace 'clojure.parallel, not plain 'parallel as written on clojure.org/other_libraries - parallel.clj needs to be on my path, not my classpath. That wasn't so bad, but It'll be easier if the examples on the website were brought up to date.

Possible bug in preduce

2009-02-03 Thread Anand Patil
Hi all, Messing around with preduce at the REPL I saw this: user= (defn q [sofar new] (do (print new sofar\n) (+ (+ 1 new) sofar))) #'user/q user= (reduce q 0 [1 2 3]) 1 0 2 2 3 5 9 user= (preduce q 0 [1 2 3]) 3 2 6 1 8 It looks like preduce takes its arguments in the opposite order from

Re: Stupid Java questions

2009-02-03 Thread Anand Patil
Thanks Zak, With the other jar I could load parallel.clj without errors, but I wasn't able to refer to the parallel namespace as on clojure.org/ other_libraries, nor was preduce present in the user namespace: user= (load-file parallel.clj) nil user= (refer 'parallel) java.lang.Exception: No

definline example?

2009-01-25 Thread Anand Patil
Hi all, I'd like to repeat my request for an example of definline usage; I feel I've tried everything. user= (definline f [x] x) java.lang.ExceptionInInitializerError (NO_SOURCE_FILE:1) user= (definline [x] x) java.lang.NullPointerException (NO_SOURCE_FILE:2) user= (definline (f [x] x))

Re: definline example?

2009-01-25 Thread Anand Patil
On Jan 25, 5:27 pm, Chouser chou...@gmail.com wrote: On Sun, Jan 25, 2009 at 8:01 AM, Chouser chou...@gmail.com wrote: On Sun, Jan 25, 2009 at 7:06 AM, Anand Patil anand.prabhakar.pa...@gmail.com wrote: I'd like to repeat my request for an example of definline usage; I feel I've tried

Request for code examples: definline and 'full' macro syntax

2009-01-21 Thread Anand Patil
Hi all, Does anyone have, or know where I can find, simple working examples showing the use of: - definline - defmacro with all the fields, (defmacro name doc-string? attr-map? ([params*] body) + attr-map?) I get doc-string, but don't understand: - attr-map - (...) + attr-map - the

Re: How to make function that derefs vars and refs?

2009-01-19 Thread Anand Patil
On Jan 19, 1:05 am, Stuart Sierra the.stuart.sie...@gmail.com wrote: On Jan 18, 6:56 pm, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Would it make any sense to make @ polymorphic so that @x return x's value when x is a var rather than raising an error? Actually, it already

Re: How to make function that derefs vars and refs?

2009-01-19 Thread Anand Patil
On Jan 19, 1:25 pm, Chouser chou...@gmail.com wrote: On Mon, Jan 19, 2009 at 4:07 AM, Anand Patil anand.prabhakar.pa...@gmail.com wrote: Sorry, I was not being clear. Why not just let (deref 5) return 5? I would consider that syntactic sugar, as it would make it easier to deref a mixed

Re: How to make function that derefs vars and refs?

2009-01-18 Thread Anand Patil
Timothy, Stephen and Stuart, Thanks for three very informative and understandable responses! It's very encouraging to see that such support is available when approaching a new language. I look forward to further exploration of Clojure. The var/value/symbol relationship continues to be a bit