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: http://www.phys.uu.nl/~vgent/eclipse/

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&

Re: Incanter classpath difficulties

2009-06-22 Thread Anand Patil
lpful. > > good luck, > David > > > > On Jun 22, 4:43 am, Anand Patil > wrote: > > On Mon, Jun 22, 2009 at 2:41 AM, liebke wrote: > > > > > Hi Anand, > > > > > Try changing the INCANTER_HOME variable in the clj script to the > >

Re: Incanter classpath difficulties

2009-06-22 Thread Anand Patil
On Mon, Jun 22, 2009 at 2:41 AM, liebke 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, unfortunately.

Re: Incanter classpath difficulties

2009-06-21 Thread Anand Patil
On Sun, Jun 21, 2009 at 5:51 PM, carlitos wrote: > > On Jun 21, 5:01 pm, Anand Patil > wrote: > > 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 paral

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: cern/colt/matrix/tdouble/impl/DenseC

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 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 machines. Cilk > uses >

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 wrote: > > 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 18.06.2009, at 18:1

Re: Feedback on new persistentmatrix datatype

2009-05-18 Thread Anand Patil
On Mon, May 18, 2009 at 10:54 AM, Konrad Hinsen wrote: > > 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

Re: Feedback on new persistentmatrix datatype

2009-05-18 Thread Anand Patil
On Sun, May 17, 2009 at 1:15 PM, Konrad Hinsen wrote: > > 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 you mentioned, bu

Re: Feedback on new persistentmatrix datatype

2009-05-15 Thread Anand Patil
On Sat, May 9, 2009 at 7:09 PM, aperotte 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 to take a deep

Re: Feedback on new persistentmatrix datatype

2009-05-06 Thread Anand Patil
On Sat, May 2, 2009 at 11:19 PM, aperotte 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 github pag

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 wrote: > > I Anthony Simpson, with the support of fellow Clojurists hereby > declare March 20th, the first day of spring, Rich Hickey appreciation > day! > > Rich Hickey has ce

Re: Synchronous watches

2009-03-05 Thread Anand Patil
l may 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 wrote: > Excellent point. Yes, get-watches seems like a better option. > Anand > > > On Thu, Mar 5, 2009 at 3:33 AM, Timo

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

Re: Metadata on functions

2009-03-04 Thread Anand Patil
On Wed, Mar 4, 2009 at 12:50 PM, Konrad Hinsen wrote: > > 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, given > that ther

Re: Synchronous watches

2009-03-04 Thread Anand Patil
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 On Feb 27, 2:57 pm, Rich Hickey wrote: > I've added (back)synchronouswatches(svn 1309+), which us

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

2009-03-03 Thread Anand Patil
On Mar 3, 3:38 pm, Jeffrey Straszheim wrote: > I'm pretty sure I don't want an agent based model.  I want clear > transactional semantics.  However, there is no reason both should not > exist. I think you can get solid transactions with lazy agents, since an update corresponds to a single step/d

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

2009-03-03 Thread Anand Patil
On Mar 3, 3:22 pm, Raffael Cavallaro wrote: > On Mar 3, 8:04 am, Rich Hickey 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 depend on A, > > instead a transaction shou

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

2009-03-03 Thread Anand Patil
On Mar 3, 1:04 pm, Rich Hickey 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. I'd appreciate it

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 wrote: > On Mar 2, 12:48 pm, Rich Hickey wrote: > > On Mar 2, 2009, at 5:15 AM, Anand Patil wrote: > > > On Mar 1, 10:58 pm, Rich Hickey wrote: > > > If you'll bear with me a bit longer- what if I set breadth=1000 and > >

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 wrote: > On Mar 2, 2009, at 5:15 AM, Anand Patil wrote: > > > > On Mar 1, 10:58 pm, Rich Hickey wrote: > >> On Mar 1, 2009, at 1:53 PM, Anand Patil wrote: > >> I've made futures use the Agents' CachedThreadPool

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

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

2009-03-02 Thread Anand Patil
On Mar 2, 1:16 am, MikeM 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 that would be restarted on th

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 th

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 wrote: > Hi Rich, > > On Feb 27, 2:57 pm, Rich Hickey wrote: > > > I've added (back) synchronous watches (svn 1309+), which used to exist > > for agents, now for all reference

Re: Synchronous watches

2009-02-27 Thread Anand Patil
Hi Rich, On Feb 27, 2:57 pm, Rich Hickey 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 must be a

Re: Richer 'partial'

2009-02-26 Thread Anand Patil
On Feb 26, 5:27 pm, mikel wrote: > On Feb 26, 10:58 am, Anand Patil > wrote: > > > On Feb 26, 4:41 pm, mikel wrote: > > > > Other people have explained currying and partial application, and why > > > it doesn't normally spply the feature you want. >

Re: Richer 'partial'

2009-02-26 Thread Anand Patil
On Feb 26, 4:41 pm, mikel 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, the way to > a

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 wrote: > Thanks for the responses, guys. > > >> - Partially apply a function to any of its arguments, not just the > >> first one > >That's alr

Re: Richer 'partial'

2009-02-26 Thread Anand Patil
tially apply to other arguments by doing this: #(fred %1 > > some-arg %2 other-arg). > > > "partial" could not easily support "unapplying" it. > > > On Thu, Feb 26, 2009 at 10:24 AM, Anand Patil < > > anand.prabhakar.pa...@gmail.com> wrote:

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: #(

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: How to get rid of reflection warning from countdown latch?

2009-02-24 Thread Anand Patil
On Feb 24, 1:32 pm, Michel Salim wrote: > On Tue, Feb 24, 2009 at 4:44 AM, Anand Patil > > wrote: > > > Thanks Miʃel, > > > On Feb 23, 10:15 pm, Michel Salim wrote: > > >> What's the object on which .countDown is called? You need to find >

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 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) ... Sorry if I'

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 wrote: > Hi all, > > I'm getting > > Reflectio

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: 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 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 there. :) > (2) I can a

Re: Feedback sought on yet another cells implementation!

2009-02-21 Thread Anand Patil
rsion. Thanks, Anand On Feb 19, 6:46 pm, Anand Patil 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;

Re: Discarding entire transactions

2009-02-09 Thread Anand Patil
On Feb 8, 9:03 pm, Dan wrote: > > (def a (ref 1)) > > (def b (ref 1)) > > > ; Do these concurrently, either from separate agents or using pmap > > (dosync (commute b error-throwing-fn a)) > > (dosync (commute a + @b)) > > > I want to have the option to abort the first transaction without > > roll

Re: Discarding entire transactions

2009-02-08 Thread Anand Patil
On Feb 8, 7:29 pm, Shawn Hoover 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 t

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 write

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 bette

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 wrote: > The namespace is correct on clojure.org/api, but there it doesn't > mention that it has a dependency that

Re: Possible bug in preduce

2009-02-04 Thread Anand Patil
On Feb 3, 11:09 pm, Rich Hickey wrote: > On Feb 3, 4:43 pm, Anand Patil > 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, an arbitrary n

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 r

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

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

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 /Library/Java/Extensions/

Re: definline example?

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

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)) java.

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 preci

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

2009-01-19 Thread Anand Patil
On Jan 19, 1:25 pm, Chouser wrote: > On Mon, Jan 19, 2009 at 4:07 AM, Anand Patil > > 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 vector

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

2009-01-19 Thread Anand Patil
On Jan 19, 1:05 am, Stuart Sierra wrote: > On Jan 18, 6:56 pm, Anand Patil > 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 is: > > user> (

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 slip