On 28 Jan 2010, at 08:39, Michał Marczyk wrote:
Wouldn't this make it possible for two threads to obtain the same
value of (first @data-source), then send two rest messages to the
agent?
A ref would not have this problem, though:
You are right. Refs provide synchronous access to the data sour
That's one place where the Haskell version is perhaps clearer, since
Haskell's return x will never evaluate to Nothing... See [1] if you'd
like to read about it.
The behaviour you describe is a quirk of c.c.monads' maybe-m
implementation which does not allow nil as a monadic value, since it's
bein
On 28 Jan 2010, at 03:22, Tayssir John Gabbour wrote:
But the maybe-m monad seems to violate this law. For instance, when
the function is inc, and the value is nil, as I demonstrate here:
http://paste.lisp.org/display/94017
nil should not be considered a value in the maybe monad. It is in fact
2010/1/28 Konrad Hinsen :
> The Clojure solution for your problem is an agent, which makes the access
> thread-safe:
>
> user> (def data-source (agent (cycle [1 2 3])))
> #'user/data-source
> user> (defn get-some-data [] (let [v (first @data-source)] (send data-source
> rest) v))
Wouldn't this mak
On 28 Jan 2010, at 05:21, free_variation wrote:
I'm not clear on how to implement this without keeping a reference to
the sequence, say in a closure. In scheme I might solve the problem
using a continuation. But in clojure if I do, say:
(let [my-seq (lazy-seq ...)]
(defn get-some-data
2010/1/27 Meikel Brandmeyer :
> Dang. Details matter.
:-)
2010/1/27 Nebojsa Stricevic :
> I've transformed algorithm to this:
>
> [ ... elided ... ]
>
> And I think, that this is real SoE, and it can calculate sum of first
> 200 prime numbers in ~35 sec, on 1.4 Celeron M.
I'd go as far as to
2010/1/27 Christophe Grand :
> See
> http://clj-me.cgrand.net/2009/07/30/everybody-loves-the-sieve-of-eratosthenes/
> for other impls of the SoE -- there was no transients at the time but
> they are fast... and can be transientified.
Oh, that's really cool, Christophe! Very elegant as well as *fa
Perry Trolard writes:
> I wasn't clear. By "development environment," I meant my `clj` script,
> not any particular project per se. In my clj script, I specify a place
> on the filesystem to drop jars that I want on the classpath when its
> invoked; I know others have setups like this. I always p
Hi,
I'm a clojure noob, with a background in scheme (and functional
languages).
I'm looking for the "clojure way" to solve the following problem:
I have an infinite sequence. I'd like to have the sequence be a
source for N parallel worker threads that now and then will show up to
grab a few ele
On Jan 27, 8:21 pm, Scott wrote:
> wondering if I can please get some advice on how to improve the
> performance of this piece of code
>
> (defn select-n-tournament
> [popu fit-fn n]
> (let [k 7]
> (take n (repeatedly #(first (sort-by fit-fn > (take k (shuffle
> popu))
> )
> )
I don
wondering if I can please get some advice on how to improve the
performance of this piece of code
(defn select-n-tournament
[popu fit-fn n]
(let [k 7]
(take n (repeatedly #(first (sort-by fit-fn > (take k (shuffle
popu))
)
)
The profiler is telling me that first is eating up alot of
Hi,
I have a problem with monads. Here's the first law which monads must
fulfill (taken from 2 different tutorials):
(= (m-bind (m-result value) function)
(function value))
--
http://onclojure.com/2009/03/06/a-monad-tutorial-for-clojure-programmers-part-2/
(m-bind (m-result x) f) is
On Jan 27, 9:43 am, Roman Roelofsen
wrote:
> when querying data in clojureql, the result is a list of maps. I often
> directly return this list (or a map) from my "db-logic" functions
> because my domain logic operates on these maps. However, I am not able
> to go the other way around, e.g. take t
On Wed, Jan 27, 2010 at 1:41 PM, Matt Revelle wrote:
> In general, if you see a form that looks like it's a special language
> and wouldn't evaluate its
> contents before executing the form then it's a macro.
but that is a chicken-egg thing where i have to experiment and fiddle
and then memorize
On Jan 27, 2:32 pm, Raoul Duke wrote:
>
> ok, thanks, i will try to internalize that :-)
>
> i am not somebody who can point to languages i have defined and
> implemented, so i don't have any cred, but i think the requirement
> that the programmer know such details (like i have to know what is or
On Wed, Jan 27, 2010 at 3:29 PM, Chouser wrote:
> On Wed, Jan 27, 2010 at 2:56 PM, AlexK
> wrote:
>>
>> PersistentLists and PersistentHashSets work, but other things fail.
>>
>> I think i know the reason:
>> Compiler.emitValue() (Compiler.java:3741-3879) is for initializing
>> constant expression
+1 for debugging
2010/1/27 Joonas Pulakka
> On Jan 27, 7:17 am, Mark Engelberg wrote:
> > Topic idea: What is the most elegant way to write a GUI in Clojure?
> > (Swing? JavaFX?) Any great contrib libraries that make GUI programming
> > noticeably easier?
>
> I have to mention MiGLayout (http
On Wed, Jan 27, 2010 at 2:56 PM, AlexK
wrote:
>
> PersistentLists and PersistentHashSets work, but other things fail.
>
> I think i know the reason:
> Compiler.emitValue() (Compiler.java:3741-3879) is for initializing
> constant expressions, but it only adds metadata, if the value is an
> instance
I've transformed algorithm to this:
(defn primes-bellow
"calculates all primes bellow max"
[max]
(loop [numbers (vec (range 2 max)) primes [] last-p 0]
(let [p (first (drop-while zero? (drop (dec last-p) numbers)))]
(if (> p (. Math s
user> (set! *print-meta* true)
true
user> '#^a symbol
symbol
user> '#^a (list)
#^{:line 1, :tag a} (list)
user> '#^a [vector]
[vector]
user> '#^a {:a :map}
{:a :map}
user> '#^a #{:a :set}
#^a #{:a :set}
user> '#^{:meta :map} symbol
symbol
user> '#^{:meta :map} (list)
#^{:line 1, :meta :map} (list)
Superb. Getting a fix so fast.. Open Source at its best!
I tried it. Works as expected.
On Jan 27, 8:50 pm, Chouser wrote:
> On Wed, Jan 27, 2010 at 1:00 PM, Rich Hickey wrote:
>
> > On Jan 27, 11:22 am, Chouser wrote:
> >> On Wed, Jan 27, 2010 at 4:03 AM, Gabi wrote:
> >> > This exception is
Hic !
On Wed, 2010-01-27 at 12:59 -0500, Luc Préfontaine wrote:
> Then lets call it ClojureFest
>
> Luc
>
> On Wed, 2010-01-27 at 08:37 -0800, eyeris wrote:
>
> > Exotic? You got it! Madison, WI! Seriously, we have the best bars. See
> > you guys in the fall! :)
> >
> > I would prefer it
On Wed, Jan 27, 2010 at 11:27 AM, Richard Newman wrote:
> Simple: ns is a macro, so you don't need to quote. use and require are
> functions, so you need to quote their symbol arguments.
>
> ns uses keywords to identify its directives (:use), and functions (use)
> don't, because they're identified
On Jan 26, 12:46 pm, jleehurt wrote:
> When I try using deftype I get the following error:
> java.lang.IllegalArgumentException: No method in multimethod 'print-
> dup' for dispatch value: class user.Y__5
That's probably a bug. It should work when *print-dup* is false.
-SS
--
You received thi
now if i only knew when to use ' or : or nothing, and which in (ns)
vs. inline in the repl.
Simple: ns is a macro, so you don't need to quote. use and require are
functions, so you need to quote their symbol arguments.
ns uses keywords to identify its directives (:use), and functions
(use)
On Wed, Jan 27, 2010 at 1:00 PM, Rich Hickey wrote:
>
>
> On Jan 27, 11:22 am, Chouser wrote:
>> On Wed, Jan 27, 2010 at 4:03 AM, Gabi wrote:
>> > This exception is the biggest time waster for me when working with
>> > Clojure. It doesn't give you a hint of where the problem really is.
>> > I st
Hi,
Am 27.01.2010 um 17:57 schrieb Michał Marczyk:
> while the end result is the same, the time complexity of the algorithm
> is definately not. The exact difference is calculated in Melissa E.
> O'Neill's paper, "The Genuine Sieve of Eratosthenes".
Dang. Details matter.
Sincerely
Meikel
--
Y
On Jan 27, 11:22 am, Chouser wrote:
> On Wed, Jan 27, 2010 at 4:03 AM, Gabi wrote:
> > This exception is the biggest time waster for me when working with
> > Clojure. It doesn't give you a hint of where the problem really is.
> > I strongly suggest to improve parse error messages to contain
> >
> Thus the only time you need to use a non-vector is the map for rename,
> which makes sense to me.
now if i only knew when to use ' or : or nothing, and which in (ns)
vs. inline in the repl.
ugh.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To p
On Wed, Jan 27, 2010 at 8:52 AM, Jules wrote:
>
> I have all the ctor arg types in my hand as well and went on to think
> that I could actually write a
>
> (defn make-ctor [class types] ...)
>
> which would return me :
>
> (fn [#^type1 arg1 #^type2 arg2...#^typen argn]...)
>
> then pass this off
Mike Hinchey writes:
> On Wed, Jan 27, 2010 at 8:38 AM, Michał Marczyk
> wrote:
>
> I've been getting this unpleasant error building clojure.contrib recently:
>
> http://paste.lisp.org/display/94000
>
> I wonder if there's a known issue behind it...?
>
> I've reported this p
+1 for paredit. Writing lisp without an IDE geared towards the
language is miserable. Bracket matching is a must-have feature for
lisp programmer. Higher in importance than anything else.
On Jan 27, 9:48 am, Jarkko Oranen wrote:
> You should really give paredit.el a go some time. It feels silly
Then lets call it ClojureFest
Luc
On Wed, 2010-01-27 at 08:37 -0800, eyeris wrote:
> Exotic? You got it! Madison, WI! Seriously, we have the best bars. See
> you guys in the fall! :)
>
> I would prefer it during the week.
>
>
>
> On Jan 22, 3:15 pm, Wilson MacGyver wrote:
> > I vote let
You should really give paredit.el a go some time. It feels silly to
worry about matching parentheses nowadays.
That aside, I am supportive of any improvement in either compiler or
reader error messages.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
Yes Rich, Please approve this patch!
On Jan 27, 6:22 pm, Chouser wrote:
> On Wed, Jan 27, 2010 at 4:03 AM, Gabi wrote:
> > This exception is the biggest time waster for me when working with
> > Clojure. It doesn't give you a hint of where the problem really is.
> > I strongly suggest to improve
I was about to ask the same question on this list about this code
adapted from SICP section 3.5.3
(defn pi-summands [n]
(cons (/ 1.0 n)
(lazy-seq (map - (pi-summands (+ n 2))
which causes a stack overflow when I run
(nth (pi-summands 1) 1)
but it looks like you have answered
I too would love to see this. I can't tell you how many times I've
dropped a ) from a (ns and spent forever hunting it down.
On Wed, Jan 27, 2010 at 8:22 AM, Chouser wrote:
> On Wed, Jan 27, 2010 at 4:03 AM, Gabi wrote:
>> This exception is the biggest time waster for me when working with
>> Cl
Hi,
On Wed, Jan 27, 2010 at 5:57 PM, Michał Marczyk
wrote:
> I've had a go at implementing an incremental SoE-like sieve in Clojure:
>
> http://gist.github.com/287986
>
> It uses transients and appears to be quite a lot faster than the
> clojure.contrib.lazy-seq/primes implementation, although re
I've reported this problem before with openjdk, but sun's jdk works.
-Mike
On Wed, Jan 27, 2010 at 8:38 AM, Michał Marczyk wrote:
> I've been getting this unpleasant error building clojure.contrib recently:
>
> http://paste.lisp.org/display/94000
>
> I wonder if there's a known issue behind it..
Meikel,
while the end result is the same, the time complexity of the algorithm
is definately not. The exact difference is calculated in Melissa E.
O'Neill's paper, "The Genuine Sieve of Eratosthenes" [1], which also
includes some highly performant implementations of incremental
SoE-like prime numb
On 27 Jan 2010, at 14:52, Jules wrote:
I have a requirement to pull unknown Java classes out of an Object,
construct instances of them and plug these back into other
Objects...efficiently...
I had a similar problem recently and Rich proposed the following
solution, which works fine for me:
I've been getting this unpleasant error building clojure.contrib recently:
http://paste.lisp.org/display/94000
I wonder if there's a known issue behind it...?
Sincerely,
Michal
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group,
Exotic? You got it! Madison, WI! Seriously, we have the best bars. See
you guys in the fall! :)
I would prefer it during the week.
On Jan 22, 3:15 pm, Wilson MacGyver wrote:
> I vote let's turn this into a clojure vacation, and hold it in an
> exotic location.
>
> Otherwise, hey, Columbus Ohio
On Jan 27, 7:17 am, Mark Engelberg wrote:
> Topic idea: What is the most elegant way to write a GUI in Clojure?
> (Swing? JavaFX?) Any great contrib libraries that make GUI programming
> noticeably easier?
I have to mention MiGLayout (http://www.miglayout.com/) and its
Clojure wrapper (http://r
On Wed, Jan 27, 2010 at 4:03 AM, Gabi wrote:
> This exception is the biggest time waster for me when working with
> Clojure. It doesn't give you a hint of where the problem really is.
> I strongly suggest to improve parse error messages to contain
> meaningful info.
I just wrote a patch to LispRe
Hi,
On Jan 27, 3:43 pm, Roman Roelofsen
wrote:
> when querying data in clojureql, the result is a list of maps. I often
> directly return this list (or a map) from my "db-logic" functions
> because my domain logic operates on these maps. However, I am not able
> to go the other way around, e.g.
Hi,
On Jan 27, 2:43 pm, "twitter.com/nfma"
wrote:
> hmm... I'm just learning clojure at the moment but by looking at code what I
> see is:
>
> 1 - A collecting parameter called primes
> 2 - A test to verify if a number is a prime by calculating the reminder of
> the division with all (or some) o
Guys,
I'm just starting out with Clojure - so be gentle - but I am a
seasoned Java developer with some LISP in the background...
I'm adding Clojure to a highly concurrent and metadata driven project
that I am working on, to use as a DSL - specifically a query
language
I have a requirement t
Joseph Smith wrote:
+1 Lincoln/Omaha Nebraska. :)
Mr. Buffet? Is that you? Have you, too, decided to invest in Clojure?
--
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 post
You are right. This isn't exactly sieve of Eratosthenes. My plan was
to implement it, but instead, I wrote this, because it was simpler (at
least for my knowledge of Clojure). But since it's too slow, I'll
transform it to real sieve of Eratosthenes, to check it's performance.
On Jan 27, 2:43 pm, "
Hi,
when querying data in clojureql, the result is a list of maps. I often
directly return this list (or a map) from my "db-logic" functions
because my domain logic operates on these maps. However, I am not able
to go the other way around, e.g. take the map and tell clojureql to
insert/update a ta
hmm... I'm just learning clojure at the moment but by looking at code what I
see is:
1 - A collecting parameter called primes
2 - A test to verify if a number is a prime by calculating the reminder of
the division with all (or some) of the primes already found
3 - if a number is a prime then its a
Let me think about the points you make in this post and I'll shoot you
an email in the next day or so to see if I can get a better
understanding of what you need.
-Conrad
On Jan 27, 5:49 am, Jeff Rose wrote:
> I've only just skimmed the code, but it seems supporting multiple
> rendering layers c
Hi,
On Jan 26, 5:38 pm, "twitter.com/nfma"
wrote:
> You can use the sieve of Eratosthenes...
This actually is the sieve of Eratosthenes. If one really wants to go
out of one's way, one can investigate the sieve of Atkin (or other
improved variants) and the the various ways of optimising the
alg
I've only just skimmed the code, but it seems supporting multiple
rendering layers could be a good candidate for using either multi-
methods or protocols and types What information is needed by the
layout algorithms? I would guess that it basically needs a bounding
box and a neighbor list for each
I think the problem is that cwicket.HomePage resolves to a class
object (like cwicket.HomePage.class in Java). So (class
cwicket.HomePage) returns the class of the class object which is
java.lang.Class. And that's not a subclass of Wicket's WebPage. Try
this:
(defn -getHomePage [this] cwicket.
Hi Kyle
Making a new ssh tunnel is a sure thing. The bad part was that the swank
server got "deaf". I could see agents still running (unix screen is
cool) but I could not connect to is again.
As of open ports, luckily there is a firewall on the machine so only
selected ports are exposed.
Any
This exception is the biggest time waster for me when working with
Clojure. It doesn't give you a hint of where the problem really is.
I strongly suggest to improve parse error messages to contain
meaningful info.
--
You received this message because you are subscribed to the Google
Groups "Cloju
Hi Anders
Thanks, that did it! Now just reconnect and I can continue from where I
was cut off.
L
On 1/26/2010 4:43 PM, Anders Rune Jensen wrote:
Hi
You need :dont-close true in (start-server.
On Tue, Jan 26, 2010 at 3:07 PM, Lukas Lehner wrote:
Hi All
I've setup slime to remote repl
2010/1/27 Seth :
> Michael,
>
> Thank you for pointing this out to me. After some thinking, I decided
> to lump all the defprotocols in one file; having all the APIs in one
> place seemed handy. But using (load) made it possible to keep deftype
> in its own file... though I did have to resort to (u
60 matches
Mail list logo