Thanks Steve! That's very neat. Pretty much a canonical macro example.
Adrian.
On Tue, Jun 2, 2009 at 5:50 AM, Stephen C. Gilardi squee...@mac.com wrote:
Here's a macro I've found useful for loading and running Clojure programs
from the REPL:
(defmacro run
Loads the specified namespace
On 02.06.2009, at 05:50, Stephen C. Gilardi wrote:
Here's a macro I've found useful for loading and running Clojure
programs from the REPL:
(defmacro run
Loads the specified namespace and invokes its \main\
function with optional args. ns-name is not evaluated.
[ns-name
I'm used to polymorphism in OO systems where everything in driven from
inheritance hierarchy. Clojures defmulti style polymorphism seems powerful
but has left me wondering how to most effectively use it. I'm looking for
some good real world examples of how people have used polymorphism in
The upload bundle, which is found at
http://jira.codehaus.org/browse/MAVENUPLOAD-2464, promotes Clojure as
org.clojure:clojure:1.0.0. It hasn't received any atention from the
Upload team yet, but I do hope it gets uploaded within the next
weeks. Maybe voting could speed it up...
dysinger
I signed up and voted. Only took about 30 seconds.
Thanks for the work everyone. I would love to see Clojure get into the Maven
repo.
Paul
On Tue, Jun 2, 2009 at 6:04 AM, Stefan Hübner sthueb...@googlemail.comwrote:
The upload bundle, which is found at
On 02.06.2009, at 12:01, Glen Stampoultzis wrote:
I'm used to polymorphism in OO systems where everything in driven
from inheritance hierarchy. Clojures defmulti style polymorphism
seems powerful but has left me wondering how to most effectively
use it. I'm looking for some good real
On Jun 2, 2009, at 3:35 AM, Adrian Cuthbertson wrote:
Thanks Steve! That's very neat. Pretty much a canonical macro
example.
You're welcome! I'm glad you like it.
On Jun 2, 2009, at 4:45 AM, Konrad Hinsen wrote:
That looks like a perfect candidate for clojure.contrib.repl-utils!
Thanks!
Christian Vest Hansen karmazi...@gmail.com writes:
On Mon, May 18, 2009 at 8:59 AM, Stefan Hübner sthueb...@googlemail.com
wrote:
I've submitted the Maven bundle for Clojure 1.0.0 to
http://jira.codehaus.org/browse/MAVENUPLOAD-2464. Processing the request
might take a couple of days.
just reading through the book (http://pragprog.com/titles/shcloj/
programming-clojure) and having a lot of of fun learning. I was
wondering if there are any examples out there like Dave Thomas'
A First Erlang Program
http://pragdave.pragprog.com/pragdave/2007/04/a_first_erlang_.html
in
I've been looking at using the clojure.set functions to create a
simple in-memory database cache. Basically when the app boost up, load
entire db into memory, work with it through the basic relational
algebra functions provided. Any mutations (create/update/delete) would
be wrapped in a simple
On Tue, Jun 2, 2009 at 7:49 AM, Stephen C. Gilardi squee...@mac.com wrote:
On Jun 2, 2009, at 4:45 AM, Konrad Hinsen wrote:
That looks like a perfect candidate for clojure.contrib.repl-utils!
Thanks! After a little more discussion, I'd like to put it in there.
I'm never sure what the
On Jun 1, 1:57 pm, David Miller dmiller2...@gmail.com wrote:
It's important in that it means that the generated MSIL is not
completely junk, in that I'm not missing any important optimizations,
that I'm taking full advantage of type hints, avoiding reflection,
etc.. The JVM bytecodes are an
On Tue, Jun 2, 2009 at 8:12 AM, Robert Campbell rrc...@gmail.com wrote:
I've been looking at using the clojure.set functions to create a
simple in-memory database cache. Basically when the app boost up, load
entire db into memory, work with it through the basic relational
algebra functions
Hi BG,
This seems to be an ideal use-case for Clojure Agents
http://clojure.org/agents
This code is still a little too general for me. I guess if I stare at it long
enough, I will eventually get it ;)
Try it out and share the code :)
Will do, but I hope that someone has something more
Hi,
Am 02.06.2009 um 13:49 schrieb Stephen C. Gilardi:
I see the tradeoffs as:
possible negative:
- an extra name in the namespace
I don't see this as a big negative. I usually stick with the
convention that the function is named after the macro
with a star added. As in your
On Jun 2, 2009, at 8:59 AM, Chouser wrote:
On Tue, Jun 2, 2009 at 7:49 AM, Stephen C. Gilardi
squee...@mac.com wrote:
On Jun 2, 2009, at 4:45 AM, Konrad Hinsen wrote:
That looks like a perfect candidate for clojure.contrib.repl-utils!
Thanks! After a little more discussion, I'd like to
On Fri, May 29, 2009 at 2:51 PM, Paul Stadig p...@stadig.name wrote:
You meant to type disclosure, but instead you typed disclojure.
Paul
How about when you try to write code in other languages, and
reflexively place parentheses before function/method names?
(len 'Foo') -- not valid Python.
2009/6/2 Stephen C. Gilardi squee...@mac.com:
On Jun 2, 2009, at 8:59 AM, Chouser wrote:
On Tue, Jun 2, 2009 at 7:49 AM, Stephen C. Gilardi squee...@mac.com
wrote:
On Jun 2, 2009, at 4:45 AM, Konrad Hinsen wrote:
That looks like a perfect candidate for clojure.contrib.repl-utils!
2009/6/2 Michael Reid kid.me...@gmail.com:
On Fri, May 29, 2009 at 2:51 PM, Paul Stadig p...@stadig.name wrote:
You meant to type disclosure, but instead you typed disclojure.
Paul
How about when you try to write code in other languages, and
reflexively place parentheses before
On Tue, Jun 2, 2009 at 9:52 AM, Michael Reid kid.me...@gmail.com wrote:
On Fri, May 29, 2009 at 2:51 PM, Paul Stadig p...@stadig.name wrote:
You meant to type disclosure, but instead you typed disclojure.
Paul
How about when you try to write code in other languages, and
reflexively
On Tue, Jun 2, 2009 at 10:06 AM, Shawn Hoover shawn.hoo...@gmail.comwrote:
On Tue, Jun 2, 2009 at 9:52 AM, Michael Reid kid.me...@gmail.com wrote:
On Fri, May 29, 2009 at 2:51 PM, Paul Stadig p...@stadig.name wrote:
You meant to type disclosure, but instead you typed disclojure.
Paul
Same here with the commas. Since I've been neck deep in Clojure, I've
been pathologically forgetting to add them with other languages.
On Jun 2, 10:06 am, Shawn Hoover shawn.hoo...@gmail.com wrote:
On Tue, Jun 2, 2009 at 9:52 AM, Michael Reid kid.me...@gmail.com wrote:
On Fri, May 29, 2009
On Jun 2, 2009, at 8:59 AM, Chouser wrote:
I'm never sure what the etiquette is for adding to other people's
files in
contrib, but please don't hesitate to add this to repl-utils on my
account.
Thanks again. I've checked in run*/run to clojure.contrib.repl-utils.
Cheers,
--Steve
Hi Glen,
(1) Real-world example: I use polymorphism on the types of two
different arguments to define implicit conversions:
(defmulti coerce
(fn [dest-class src-inst] [dest-class (class src-inst)]))
(defmethod coerce [java.io.File String] [_ str]
(java.io.File. str))
(defmethod
People keep looking at me funny when I point out variables as code
smells during code review...
Stu
Same here with the commas. Since I've been neck deep in Clojure, I've
been pathologically forgetting to add them with other languages.
On Jun 2, 10:06 am, Shawn Hoover
I would like to see defstruct take an optional docstring. Would such a
patch be welcome?
Stu
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to
Apologies in advance on a very newbie question.
I've constructed a sequence
(take 10 (iterate (fn [[a b]] [(* 2 a) (/ a (Math/log a))]) [2 (/ 2
(Math/log 2))])
doing a take 10 on it, produce the pairs I expect.
what I like to know is, how do I filter for with value b is X
for example, the
This would encourage documenting structs, so I think this is a good
idea.
Sean
On Jun 2, 11:31 am, Stuart Halloway stuart.hallo...@gmail.com wrote:
I would like to see defstruct take an optional docstring. Would such a
patch be welcome?
Stu
On Jun 2, 2009, at 11:35 AM, Wilson MacGyver wrote:
what I like to know is, how do I filter for with value b is X
You can use destructuring in your predicate's arg list:
(filter (fn [[_ x]] ( x 10)) *1)
In English, the function takes an argument which can be accessed
On 02.06.2009, at 17:35, Wilson MacGyver wrote:
for example, the first 10 produces.
([2 2.8853900817779268] [4 2.8853900817779268] [8 2.8853900817779268]
[16 3.8471867757039027] [32 5.7707801635558535] [64 9.233248261689365]
[128 15.38874710281561] [256 26.380709319112476] [512
You can use destructuring in your predicate's arg list:
Not to hijack the thread but...is there some reason clojure doesn't just
just call this pattern-matching? Is it different somehow?
--~--~-~--~~~---~--~~
You received this message because you are
On Tue, Jun 2, 2009 at 5:35 PM, Wilson MacGyver wmacgy...@gmail.com wrote:
Apologies in advance on a very newbie question.
I've constructed a sequence
(take 10 (iterate (fn [[a b]] [(* 2 a) (/ a (Math/log a))]) [2 (/ 2
(Math/log 2))])
doing a take 10 on it, produce the pairs I expect.
ah, got it. thanks!
On Tue, Jun 2, 2009 at 11:48 AM, Stephen C. Gilardi squee...@mac.com wrote:
On Jun 2, 2009, at 11:35 AM, Wilson MacGyver wrote:
what I like to know is, how do I filter for with value b is X
You can use destructuring in your predicate's arg list:
(filter (fn
actually I had the exact same reaction. So I'd echo Andrew's comment.
Is this different than pattern-matching in say haskell/scala?
On Tue, Jun 2, 2009 at 11:55 AM, Andrew Wagner wagner.and...@gmail.com wrote:
You can use destructuring in your predicate's arg list:
Not to hijack the thread
Ditto what everyone else said, plus let's get rid of the duplicated
call to Math/log by splitting the iterate into an iterate + a map:
(take-while
(fn [[_ second]] ( second 10))
(map (fn [x] [x (/ x (Math/log x))])
(iterate #(* % 2) 2)))
Stu
On 02.06.2009, at 17:35, Wilson
I saw that clojure has loop. But in other functional languages,
using loops are always discouraged. So I didn't know if loop
was the clojure idiomatic way of doing this.
On Tue, Jun 2, 2009 at 11:52 AM, Konrad Hinsen
konrad.hin...@laposte.net wrote:
My first reaction was to do it using a
On Tue, Jun 2, 2009 at 5:55 PM, Andrew Wagner wagner.and...@gmail.com wrote:
You can use destructuring in your predicate's arg list:
Not to hijack the thread but...is there some reason clojure doesn't just
just call this pattern-matching? Is it different somehow?
Why doesn't Ruby just call
On Tue, Jun 2, 2009 at 6:02 PM, Michael Wood esiot...@gmail.com wrote:
On Tue, Jun 2, 2009 at 5:55 PM, Andrew Wagner wagner.and...@gmail.com wrote:
You can use destructuring in your predicate's arg list:
Not to hijack the thread but...is there some reason clojure doesn't just
just call this
Why doesn't Ruby just call it destructuring like Lisp has been doing
for decades? ;)
So that non-academics have a prayer at not getting scared away by an
unnecessarily-technical name?
--~--~-~--~~~---~--~~
You received this message because you are subscribed
On Jun 2, 2009, at 11:55 AM, Andrew Wagner wrote:
Not to hijack the thread but...is there some reason clojure doesn't
just just call this pattern-matching? Is it different somehow?
This thread has some info on that:
On 02.06.2009, at 18:00, Wilson MacGyver wrote:
actually I had the exact same reaction. So I'd echo Andrew's comment.
Is this different than pattern-matching in say haskell/scala?
The difference is that a pattern match can fail, and in that case
other patterns are tried. Clojure's
I see. very clever. I'm not used to loop constructs with
no side effect.
On Tue, Jun 2, 2009 at 12:21 PM, Konrad Hinsen
konrad.hin...@laposte.net wrote:
I saw that clojure has loop. But in other functional languages,
using loops are always discouraged. So I didn't know if loop
was the clojure
people in math discussions raise their eyebrow at my new comma-less
tuple and set notation:
(a_1 a_2 ... a_n a_(n+1) .. ) in R^|N|
{1 2 3 4 5} = {a in N+ | a 6}
Haskel hated it that time I wrote:
fold:: (b a b) b [a]
or
sum x y zs = fold (+) 0 x:y:zs, where:
sum 1 2 3 4 5 6 7 = haskell
it would conform to the clojure way.
On Jun 2, 8:45 am, Sean Devlin francoisdev...@gmail.com wrote:
This would encourage documenting structs, so I think this is a good
idea.
Sean
On Jun 2, 11:31 am, Stuart Halloway stuart.hallo...@gmail.com wrote:
I would like to see defstruct take an
I now write all my Java code without any types... and then realize I
have to go back and add them in later.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to
Wilson MacGyver wmacgy...@gmail.com writes:
Hi Wilson,
I saw that clojure has loop. But in other functional languages, using
loops are always discouraged. So I didn't know if loop was the
clojure idiomatic way of doing this.
Clojure's `loop' (with `recur') is no real loop in an imperative
As mentioned before, most file systems have the ability of providing
callback to changes in files/directories, at SE 6 using this ability
requires resorting to native code (JNA or JNI, see
http://jnotify.sourceforge.net/)
, in SE 7 this will be implemented in NIO 2 (http://java.sun.com/
May I suggest a small change in the add-*-listener functions in
contrib.swing-utils?
It's handy to have them return the listeners (and be able to
disable/remove them later etc). Patch attached.
-Roland
--
[ http://www.haltingproblem.net/ - my homepage ]
On Jun 2, 2009, at 7:31 PM, Roland Sadowski wrote:
May I suggest a small change in the add-*-listener functions in
contrib.swing-utils?
It's handy to have them return the listeners (and be able to
disable/remove them later etc). Patch attached.
Nice change, Roland. I see that you're on the
Some work in which I'm currently engaged uses ad hoc hierarchies for
dispatching on a handler and either a message method or a method and
response code. In the realm of HTTP clients -- imagine that the
response arrives as a method invocation -- the equivalent would be
writing something like
Not to hijack the thread but...is there some reason clojure doesn't just
just call this pattern-matching? Is it different somehow?
I guess the simplest answer is because it's destructuring, not
pattern-matching :)
As Rich explained in the thread to which Stephen linked, pattern
matching (at
I now write all my Java code without any types... and then realize I
have to go back and add them in later.
Heh, very often I allow the IDE to fill them in, because I'm too lazy
to type that much!
--~--~-~--~~~---~--~~
You received this message because you are
On Jun 2, 7:55 am, Andrew Wagner wagner.and...@gmail.com wrote:
You can use destructuring in your predicate's arg list:
Not to hijack the thread but...is there some reason clojure doesn't just
just call this pattern-matching? Is it different somehow?
Pattern matching matches not only
Some good examples from everyone. Thank you.
2009/6/3 Richard Newman holyg...@gmail.com
Some work in which I'm currently engaged uses ad hoc hierarchies for
dispatching on a handler and either a message method or a method and
response code. In the realm of HTTP clients -- imagine that the
I have a namespace with some public functions, and some private
functions. I would like to write unit tests for the functions, and put
them in a separate file from the main name space. I would also like to
have an (ns) declaration in my tests file, because the tests require
several libraries. Of
Hi Allen,
You could write a function that uses the clojure.contrib.with-ns/with-
ns macro to dip into the namespace being tested and return the private
function, assigning it to a local name in the test namespace.
I need this too, and have been meaning to ping the other Stuart about
either
More newbie questions. :)
If I have two sequences as follow:
(2 3 4 5 6 7 8 9 10)
(4 6 8 10)
what's the best way to subtract the 2nd sequence from the first one?
The best I can come up with was to do (first) on 2nd sequence and turn around
and do a (remove) on the first sequence, etc until I
Actually considering I'm currently writing a game in clojure that contains a
lot of state this _is_ a good real world example for me. Thanks very much
Laurent.
2009/6/3 Laurent PETIT laurent.pe...@gmail.com
Hi,
Here is an example of the implementation of the Visitor design
pattern in
Wilson MacGyver a écrit :
More newbie questions. :)
If I have two sequences as follow:
(2 3 4 5 6 7 8 9 10)
(4 6 8 10)
what's the best way to subtract the 2nd sequence from the first one?
Is the order of the second sequence important? If not:
(defn subtract [a b]
(remove (into #{}
59 matches
Mail list logo