Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-08 Thread nchubrich
Mailing my contributor agreement today so I can helpreally excited! May I just add that at the same level of prominence after the "no decisions" beginner path, we might also put a tutorial on Web (via Noir, perhaps?) and Incanter development? Those are two amazing applications of Clojurel

Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-08 Thread nchubrich
> Read my blog post (written a year ago; updated several times to ensure > it works with newer versions of Clojure and Leiningen): > http://corfield.org/blog/post.cfm/getting-started-with-clojure > Now replace clojure.org/getting_started with something like that and I > think most of the complain

Emacs and clojure for newbies

2011-07-08 Thread nchubrich
> I disagree. This is a subject of religious debates that I don't want to get > into in detail, but FWIW this educator thinks that Lisp > is a perfectly > defensible first language and that Clojure can serve the purpose quite well > as long as installation and tooling > doesn't make it unnecessa

Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-07 Thread nchubrich
> I'm always bewildered by this argument. What has a newbie to choose here? Of > course he uses what he's used to. Many Java devs probably want one of the > IDEs they already know. Old-time Lispers use emacs. I think it's a question of style and how to present the information (which is why it wo

Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-07 Thread nchubrich
Stu--- Thanks for the links. I took a look at clojure dev and signed up. I don't see any way to editdoes that happen after I mail in the Contributor agreement? It does seem a little medieval to have to mail it in. Clojure dev though doesn't seem like such a direct way of improving clojure.

Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-07 Thread nchubrich
Thank you, Logan, you put it very well. You're absolutely right there can be an inherent instinct against user-friendliness in open-source software, as well as a kind of hierarchyand you've identified the source and nature of it, I think. The response to this is not to try to become commercia

Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-07 Thread nchubrich
my point, I'll get off my hobby-horse now. See (some of) you at the Bay Area meetup tomorrow! Nick. On Jul 6, 11:37 pm, Sean Corfield wrote: > Much better. Now I can read it and see your points... and respond... > > On Wed, Jul 6, 2011 at 10:42 PM, nchubrich wrote: > > * Cl

Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-06 Thread nchubrich
you want to read the arguments behind all that, you can wade into the postor add your own. On Jul 6, 9:37 pm, Sean Corfield wrote: > On Wed, Jul 6, 2011 at 7:21 PM, Ken Wesson wrote: > > Does the term "tl;dr" mean anything to you? > > I'll remember this date -

Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-06 Thread nchubrich
It did go on too long. I hope when someone \does read it, they will see I am not being wholly unreasonable. On Jul 6, 7:21 pm, Ken Wesson wrote: > On Wed, Jul 6, 2011 at 10:06 PM, nchubrich wrote: > > As to making contributions, I just pointed out an example of someone >

Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-06 Thread nchubrich
sed at a reasonable rate, in my view. >  Not to be rude, only practical: if there are itches you are having that are > not being scratched, it would be far more productive to do something about > it than complain that others are not pulling their weight. > > > > > > >

Re: Please stand firm against Steve Yegge's "yes language" push

2011-07-06 Thread nchubrich
I've been using Clojure on and off for a whilecurrently off, though not because of the language itself. The thread now seems to have moved in a different direction, but I have to say (looking at the Seajure and Y Combinator threads) that Steve Yegge has some good points. And ending up here wi

Re: ANN: SQLRat - A Clojure 1.2 library to access Relational Databases using DataTypes

2010-10-05 Thread nchubrich
> So, the question is -- is SQLRat doing more or less the same thing as > ClojureQL? Partly "yes", but mostly "no". Thanks Shantanu! So I suppose one way you could use them both is simply use the SQL compilation feature of ClojureQLyou could pass SQLRat a raw SQL query created from ClojureQL?

Re: ANN: SQLRat - A Clojure 1.2 library to access Relational Databases using DataTypes

2010-10-04 Thread nchubrich
Shantanu--- This looks great! Can you compare it to ClojureQL? Is it attempting to do more or less the same thing? (Not sure what is happening with ClojureQL right now.) Thanks, Nick. On Aug 31, 1:19 pm, Shantanu Kumar wrote: > SQLRat 0.1 GA is pushed to Clojars. Maven/Lein details > here:

Re: Extending Clojure's STM with external transactions

2010-09-03 Thread nchubrich
> How about introducing a second part to the api? (store) creates a > wrapper for the persistent address, and refp then takes one of those > wrappers and the name? I like that. I would go one step further and say refp should have a default data store that is used unless you specify anything else

Re: Extending Clojure's STM with external transactions

2010-08-30 Thread nchubrich
I'm not aware of any, but +1 for seeing persistence handled as part of the language. A big project and a long-term one, to be sure, but could it not be considered a goal? In my student days, I was talking to a well-known Lisper (name suppressed for fear of Google indexing) about some data structu

Re: parallel execution

2010-08-27 Thread nchubrich
I ended up using pmap; I found that on a 2-core machine, it led to about a 1.6 time speedup; on an 8-core, it led to a 3 time speedup, which I found somewhat surprising; maybe all the cores are not being utilized. -- You received this message because you are subscribed to the Google Groups "Cloju

Re: Clojure 1.3: Integrating clj-stacktrace?

2010-08-25 Thread nchubrich
> problem, but the lack of full paths in the trace has bitten me. Since > all of my namespaces have a core.clj this can mean a bit of detective > work to find which core.clj is being reported. +1 for that. -- You received this message because you are subscribed to the Google Groups "Clojure" gro

parallel execution

2010-08-23 Thread nchubrich
I have a simulation program that runs a Number of random Simulations and then Averages them. It basically looks like this: (reduce Average (repeatedly Number Simulate)) What is the best way of making this parallel? I noticed there was no parallel version of repeatedly. I suppose I could pma

Re: Flex as a Clojure Frontend

2010-08-16 Thread nchubrich
r). Concerning BlazeDS and AMF: what is the advantage of that over just using straight HTTP with say JSON? I know RTMP has "push" capability; any other reasons? -Nick. On Aug 15, 11:53 am, Richard Lyman wrote: > On Sat, Aug 14, 2010 at 1:40 PM, nchubrich wrote: > > I'm

Flex as a Clojure Frontend

2010-08-15 Thread nchubrich
I'm wondering if anyone has any experience developing Clojure applications with a Flex interface, and if so, what is the best way of going about it. I also wonder if anyone has used Las3rI'm a little reluctant to use it because the Flash Builder programming environment is so effective. Thanks

Re: Applying arguments to Java methods.

2010-02-05 Thread nchubrich
Is there ever any reason to use memfn as opposed to ordinary functions, i.e. (def div (fn [x y] (.divide x y))) On Feb 5, 4:20 pm, ataggart wrote: > On Feb 5, 12:34 pm, Nicolas Buduroi wrote: > > > Hi, I'm searching for a way of applying a sequence of arguments to a > > Java method, but haven't

Re: Clojure for system administration

2010-02-05 Thread nchubrich
Chouser--- The Parrot vm looks really great for Clojurepresumably Clojure could have continuations and TCO there. On Feb 5, 9:59 am, Chouser wrote: > On Thu, Feb 4, 2010 at 11:33 AM, Stuart Sierra > > wrote: > > Clojure can certainly do these things; clojure-contrib contains many > > file

Re: find source file for namespace?

2009-12-28 Thread nchubrich
But finding the source path from the namespace is what I can't figure out. You can look at metadata on a var, and this has a :file field, but typically :file says NO_SOURCE_PATH. On Dec 28, 12:33 am, Emeka wrote: > Hello nchubrich, > > I thinking that you can do this with easy u

find source file for namespace?

2009-12-27 Thread nchubrich
Does anyone know how to dynamically access the pathname for a particular piece of code? I.E., I'd like to be able to write a function that can be called in any context and returns the pathname for the code it was called in. (My intended use for this is to develop a testing package; I want to figu

Re: Funding Clojure 2010

2009-12-15 Thread nchubrich
dev is no longer "just evaluating," payment is > required (per-developer per-year). > > For me, that would justify spending my company's money. And if I were > a potential Clojure user, it would not drive me away. > > On Dec 15, 3:09 pm, nchubrich wrote: > > >

Re: Funding Clojure 2010

2009-12-15 Thread nchubrich
Maybe the _thing_ could be a more packaged version of Clojure; something for which setup is a little more seamless, etc. No extra features, just convenience. Maybe an IDE plugin with extra debugging/ instructional features, and more facilities for browsing libraries (java and clojure). It could

Re: Funding Clojure 2010

2009-12-15 Thread nchubrich
Mike--- > the thought that the key developer might just stop working on it doesn't > exactly > give me a warm fuzzy feeling. Look at the last paragraph of Rich's message. He has every intention to keep working on it. Surely he will speak for himself, but my impression is that he wants to be ab

Re: Clojure Scoping Rules

2009-11-23 Thread nchubrich
Meikel, is get-thread-bindings only in a development version of Clojure? I have 1.09.11 and don't see it documented or usable (or in the online docs). -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@google

Re: Clojure Scoping Rules

2009-11-22 Thread nchubrich
Richard, do you know where one can read about Rich Hickey's speculative work on scoping constructs? I did find a good description by him of what Clojure currently does, from 2007: http://markmail.org/message/kpuq4dvcavek26sp#query:+page:1+mid:mgfsubipgaqdmzru+state:results -- You received this

Re: Clojure Scoping Rules

2009-11-22 Thread nchubrich
Richard--- > What if you accidentally cause a library to realize an infinite > lazy sequence? True, that's a problem. But couldn't the library protect itself by putting a (binding [*strict* false] ...) in front of its code? (Having a namespace-level binding construct would be helpful.) This rai

Re: positions

2009-11-22 Thread nchubrich
Thanks Emeka, I took a look at it. I still say it would be nice to organize the sequence functions (somehow). -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new membe

Re: Clojure Scoping Rules

2009-11-22 Thread nchubrich
Richard--- It's not the same thing: (class (doall (map (fn [x] x) [1 2 3]))) -> clojure.lang.LazySeq whereas (class (binding [*strict* true] (map (fn[x] x) [1 2 3]))) -> clojure.lang.LazilyPersistentVector Also, having a dynamic var that turns laziness on and off would allow you to do it

Re: Clojure Scoping Rules

2009-11-21 Thread nchubrich
Regarding Clojure sequence functions: why couldn't they have the option of returning non-lazy seqs? Because you don't always really need lazy seqs. It might be nice to have the option. (map (fn[x] x) [1 2 3] :strict) -> [1 2 3] or even (binding [*strict* true] (map (fn[x] x) [1 2 3])

Re: A macro for flexible keyword argument handling

2009-11-20 Thread nchubrich
No, I'd rather not, but I have to take this in bite-size pieces. I'm still a bit of a noob at writing macros. I want to make it so that the user does not have to do anything aside from deal with the argument lists directly, so that means writing different macros for defn, letfn, defmethod, etc.

Re: positions

2009-11-20 Thread nchubrich
If you think about it, the tower of sequence types is like this: seq | gathered seq /\ multiset permutation \ / set The way to do the various options I pointed out is to mix types: the k

Re: A macro for flexible keyword argument handling

2009-11-20 Thread nchubrich
I should also add something I alluded to in another discussion (under 'positions'); this is the idea of making \any parameter into a rest parameter. For instance, if you had (defnsk add [addend augend] ...) you could call it like (add :addend 1 2 3 :augend 1 2) or (add [1 2 3] [1 2 3 4]). Must

Re: A macro for flexible keyword argument handling

2009-11-20 Thread nchubrich
I don't see why you couldn't simply check to make sure that there are no arguments without either default or supplied values. As I wrote above, "If you left the arguments incomplete and unkeyworded it would apply what you put preferentially to the first arguments in the list without a default valu

Re: positions

2009-11-20 Thread nchubrich
My 'requirements' were not so much for any particular need, but to try to think up a logical and complete API for dealing with multisets. I agree that there should be an actual collection type for multisets (implemented as an underlying map of values to frequencies I presume); but you might as wel

Re: positions

2009-11-19 Thread nchubrich
Yeah, remove will work for one kind of 'multiset' operator I am thinking of. The others might as well preserve as much order as possible. For instance, (add [1 2 3 4] [1 2 3 4]) could have two interpretations; you just append, or you add like elements to positions of like elements, so you get [1

Re: positions

2009-11-19 Thread nchubrich
While we're on the topic, where is something like (subtract [1 2 3 3 4 4 5 6] evens) -> (1 3 3 5)? Doesn't seem to be in seq-utils or API. Seems like there should be a parallel "multiset" library for colls, to clojure.set. (I guess there could be two versions of subtract, one that removes \all, a

Re: positions

2009-11-19 Thread nchubrich
Thanks Sean, I'll do the exercise. I don't know how I missed it in seq-utils. After months of programming Clojure, I realize how much I still have to learn. (Knowledge is power; knowledge of lack of knowledge is power to power.) Nick. -- You received this message because you are subscribe

positions

2009-11-19 Thread nchubrich
Is this function part of the API or any contrib? I couldn't find it: (defn positions [pred coll] (loop [coll coll i 0 accum []] (if (empty? coll) accum (if (pred (first coll)) (recur (rest coll) (inc i) (conj accum i)) (recur (rest coll) (inc i) accum) -- You rec

Re: A macro for flexible keyword argument handling

2009-11-17 Thread nchubrich
(preceding message, re-formatted) Suppose one went for broke and made a variable binding form that was 1) Maximally permissive and 2) Notationally minimal Without saying whether this is \advisable, we might agree it would be an interesting exercise. It might look like this: \All arguments

Re: A macro for flexible keyword argument handling

2009-11-17 Thread nchubrich
Suppose one went for broke and made a variable binding form that was 1) Maximally permissive and 2) Notationally minimal Without saying whether this is \advisable, we might agree it would be an interesting exercise. It might look like this: \All arguments are potentially keywords; and since y

Re: def a generated symbol?

2009-11-17 Thread nchubrich
I always wondered what "intern" was for; the answer was staring me in the face On Nov 17, 9:08 pm, Stuart Sierra wrote: > On Nov 17, 5:57 pm, John Harrop wrote: > > > How stable is the intern function likely to be? > > Quite stable, I think.  It's a documented function in clojure.core, > not

def a generated symbol?

2009-11-17 Thread nchubrich
How do you def a symbol that you make using (symbol)? I.E. if I try to do (def (symbol "x") 2) I get: java.lang.Exception: Second argument to def must be a Symbol. (And why does it say the \second argument must be a symbol?) Thanks, Nick. -- You received this message because you are subscribe

Re: clojure event handling

2009-11-15 Thread nchubrich
Thanks for posting these examples; I'd never thought of using multimethods that way. And thanks for the Swing example. I'm really interested in functional-reactive programming; hope we see lots of that stuff in Clojure. Anyone ever used FrTime in PLT? Here's the Swing events without the S

clojure event handling

2009-11-11 Thread nchubrich
I'm curious what the best idiomatic way of handling events is (e.g. receiving a series of messages and dispatching functions on the basis of the messages). One could use the 'experimental' add-watch(er) functions. But it might also be nice to do something stream-oriented, e.g. a doseq on a stream

Re: clojure parser

2009-11-01 Thread nchubrich
Thanks, that's exactly what I was looking for. I didn't realize you could use read like that. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.

clojure parser

2009-11-01 Thread nchubrich
Is there any way to access the clojure parser, i.e. something that gives you all the elements contained in an expression? I.E. (parse (+ 1 2)) would give you something like [:list [[:symbol +] [:literal 1] [:literal 2]]]. Thanks, Nick. --~--~-~--~~~---~--~~ You r

Re: typed structs?

2009-10-21 Thread nchubrich
Chouser--- Hmm, what to do in the meantime. What I was trying to do was write a package that would take care of indexing fields, adding backreferences, and creating 'plural' fields. For instance, suppose you had people and accounts. People have names, incomes and (human) parents; accounts ha

typed structs?

2009-10-20 Thread nchubrich
I'm trying to develop a library for structs (hopefully will be generally useful), with an API parallel to the struct API. One of the capabilities I would like to have is \typed \structs, i.e., if you attempt to assoc something of the wrong type to a field, it throws an error. (I can't find anyth

Re: data structures for efficient range queries

2009-10-20 Thread nchubrich
Thanks for the advice, everyone! Timothy, I guess if you had non- uniqueness but didn't care to have it indexed in more than one way you could just take Alex's example and have his maps point to vectors, right? --~--~-~--~~~---~--~~ You received this message bec

Re: data structures for efficient range queries

2009-10-20 Thread nchubrich
Sounds like the tree is what I need (since the data will be changing quite a bit). As for using a hash-map: wouldn't you need a sorted map to be able to pull out all the keys in a range? And then are the seq functions efficient for this? (I.E. if you drop a number of them to get to the beginnin

data structures for efficient range queries

2009-10-19 Thread nchubrich
I need to make a data structure for a query such as "find everything that is priced $3.27 - $6.12" (and perhaps sum up the total revenue for all items in that price range). The naive way would be to make an array with one slot for each increment in the entire range, and have each slot pointing to

Re: a denilling macro

2009-07-29 Thread nchubrich
Gentlemen--- Thanks for fixing my newbish error and showing me a better way to do it! Nick. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegrou

a denilling macro

2009-07-27 Thread nchubrich
I've been learning Clojure. I just wrote a macro to be used like so: (i-let [x nil 4 y 2 6 z nil 10] (+ x y z)) => 16 I.E. if the first value in the triple is nil, bind it to the second value in the triple. This is useful when you want to let something that might be nil and