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
> 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
> 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
> 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
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.
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
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
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 -
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
>
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.
>
>
>
>
>
>
>
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
> 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?
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:
> 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
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
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
> 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
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
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
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
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
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
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
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
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:
>
> >
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
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
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
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
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
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
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
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])
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.
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
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
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
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
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
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
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
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
(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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
57 matches
Mail list logo