Congrats Rich and contributors! You all have made a great tool and a
great community as well!
mfh
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups
Clojure group.
To post to this group, send email to
Thanks Rich!!!
mfh
--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to
On Mar 8, 5:30 pm, Mark Volkmann r.mark.volkm...@gmail.com wrote:
I made an attempt at categorizing all special forms, functions and
macros in clojure.core, plus some outside that namespace.
Seehttp://www.ociweb.com/mark/clojure/ClojureCategorized.html. I'd love
some feedback on the names of
On Mar 6, 8:06 pm, David Sletten da...@bosatsu.net wrote:
It comes as no surprise that certain numbers cannot be represented by
a finite string of decimal digits. We all realize that 1/3 =
0...., and the ... part is critical. Take it away and the
equality goes away too. In other
On Mar 6, 7:46 am, Luke VanderHart luke.vanderh...@gmail.com wrote:
The biggest barrier to using Clojure in an enterprise environment is
that enterprise projects are typically built and maintained by 100s of
replaceable code-monkeys and consultants, all of which understand Java
and almost
On Mar 5, 10:00 pm, mike.farn...@gmail.com mike.farn...@gmail.com
wrote:
I was sort of surprised by this.
user= (+ (float (* (/ 2) (/ 3))) (float (* (/ 2) (/ 3))) )
0.3334
(= (+ (float (* (/ 2) (/ 3))) (float (* (/ 2) (/ 3))) ) (/ 3) )
yields true
How is tracking these number
On Mar 5, 12:23 pm, Paul Stadig p...@stadig.name wrote:
I had one last, major hurdle, and was helped by Chouser (thank you!).
http://paul.stadig.name/2009/03/clojure-terracotta-we-have-repl.html
Still lots more to do, and probably some simple changes that could be
rolled back into the
On Feb 26, 5:55 am, Laurent PETIT laurent.pe...@gmail.com wrote:
While not checking types at compile time, it seems to me that a lot of
clojure code still needs in the docstring some sort of preconditions
warnings.
Do you mean something like Contract Programming, as in e.g., the
Eiffel
On Feb 14, 10:00 am, Christian Vest Hansen karmazi...@gmail.com
wrote:
You run into problems with the garbage collector when the heap gets
big: the bigger the heap, the longer it takes to compact. Azul has
hardware support for their garbage collector which allows their
compaction phase to run
SiCortex had a nice booth at Supercomputing '08. They have desktop
versions of their machines too.
I've heard that the SiCortex machines have a fabulous communication
network, but they expect you to use it via their MPI stack. I don't
think they offer a shared memory abstraction that the JVM
On Feb 6, 7:14 pm, Korny Sietsma ko...@sietsma.com wrote:
Hi folks - I was trying the example posted below, and I discovered a
slight snag - unchecked-* methods don't exist for doubles or floats!
(and if you call (unchecked-multiply 1.2 3.4) you get No matching
method found... which caused
On Feb 2, 10:06 am, Keith Bennett keithrbenn...@gmail.com wrote:
I'm curious to know how to minimize memory consumption in Clojure for
large lists. I did the following test in repl:
(def d ())
(dotimes [_ 10] (def d (cons x d)))
Let me translate this into pseudocode for you:
Make d
On Feb 2, 5:32 pm, Keith Bennett keithrbenn...@gmail.com wrote:
I am just now learning Clojure, and for me, understanding what's going
on underneath the surface helps me understand how to use the language
properly. As I said previously, the amount of memory consumed by a
list will very
On Feb 2, 5:32 pm, Keith Bennett keithrbenn...@gmail.com wrote:
I have a lot of work to do to learn how to think in functional
programming. These kinds of discussions are very helpful.
A picky point -- lazy sequences aren't really a functional programming
thing (although restricting side
On Jan 30, 8:40 pm, Jon Harrop j...@ffconsultancy.com wrote:
Apologies if you've seen this before but I just thought it was absolutely
hillarious:
http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/
Hey, I have to admit, I was scared when I saw you show up here, but
now I
On Jan 28, 7:09 am, Konrad Hinsen konrad.hin...@laposte.net wrote:
It is possible to generalize the Fast Multipole Method somewhat, but
it remains a technique for a limited (though important) class of
interactions. It is rather unlikely that it will be of any use for
simulating a flock
On Jan 24, 2:25 pm, Frantisek Sodomka fsodo...@gmail.com wrote:
Word streams invokes association to data-flow languages. For a
while, I was following Project V:
Simple Example of the Difference Between Imperative, Functional and
Data
On Jan 22, 4:24 pm, e evier...@gmail.com wrote:
At first, there will only be one thread for the first pass, but the number
will grow as subtasks fire sub-sub tasks. I am sure this is a silly way to
sort because the threadspawning time is so much longer than the filtering
time, but it's just
On Jan 21, 8:56 am, Perry Trolard trol...@gmail.com wrote:
If I understand what you did correctly, the reason it worked for you
is that Rich committed a fix to SVN in the meantime!
Awesome, real-time fix!
The last (count result-p) call takes a few seconds (probably
because there's a
On Jan 21, 5:21 pm, e evier...@gmail.com wrote:
I would think it would be useful to have something exactly like a stream but
that allowed as many iterators as you like but that a mutex prevented any
two from consuming the same piece of information.
That might be useful for something, but
On Jan 20, 12:01 am, ivant itosh...@gmail.com wrote:
On Jan 20, 3:14 am, e evier...@gmail.com wrote:
That's a solid arg, too . . . but it would be stronger if we weren't
importing things from java all the time. If we said like, (gui-frame
hello), which happened to be implemented as a
On Jan 20, 8:36 am, Perry Trolard trol...@gmail.com wrote:
Yesterday I had a strange case of pmap (parallel map) eating up all of
the heap space I'd make available -- from 256M up to a Gig. I track
SVN, I know for sure this wasn't happening last Wednesday (the
14th). Calling map in place of
On Jan 20, 1:41 pm, Rich Hickey richhic...@gmail.com wrote:
Let's keep from making the same mistakes as c.l.l, including calling
people trolls.
Sorry, yes Rich, I will refrain from using such titles in the future.
mfh
--~--~-~--~~~---~--~~
You received this
On Jan 20, 10:38 am, Perry Trolard trol...@gmail.com wrote:
But I don't think lazyness is the problem:
user= (def r (doall (map inc (range 100
#'user/r
user= (count r)
100
user= (pmap inc [0])
java.lang.OutOfMemoryError: Java heap space (NO_SOURCE_FILE:0)
Hm, that's funny,
On Jan 20, 8:36 am, Perry Trolard trol...@gmail.com wrote:
Yesterday I had a strange case of pmap (parallel map) eating up all of
the heap space I'd make available -- from 256M up to a Gig. I track
SVN, I know for sure this wasn't happening last Wednesday (the
14th). Calling map in place of
executes byte code. I wonder what they'd have to say, then. I think I'll
do a Google search. I also wonder if it was a tough decision for Rich to
cut the CLI support. I know he feels fine looking back.
On Sun, Jan 18, 2009 at 12:23 AM, Mark H. mark.hoem...@gmail.com wrote:
On Jan 16, 6:47 am, e
On Jan 16, 6:47 am, e evier...@gmail.com wrote:
Is it much much easier to make byte code than assembly code?
I'll chime in too to say that x86 is only king of the desktop / laptop
world -- many portable devices are ARM-based (and a lot of Windows
apps run on ARM), and there are other
On Jan 15, 12:09 am, bOR_ boris.sch...@gmail.com wrote:
I remember from 5 years ago that a collegue of mine improved a
diffusion algorithm for a successor of me by some heavy algorithms. My
own algorithm was a simple loop-over-the- array once, dump-a-fraction-
Welcome to the group! :-)
On Jan 15, 1:38 am, stuhood stuh...@gmail.com wrote:
The benchmark contains 4 bi-directional dictionary implementations:
* MDict - Java implementation using the synchronized keyword,
* RWDict - Java implementation using a ReadWriteLock,
* CLJDict - Clojure
On Jan 14, 8:27 am, Asbjørn Bjørnstad asbj...@gmail.com wrote:
Anyway, here is a core part of the algorithm. It's a diffusion
step, this gets called 3 times and in total this takes up more than
one second of cpu time on my machine which makes framerates very
slow. If anyone got any
On Jan 14, 12:29 pm, chris cnuern...@gmail.com wrote:
For a completely different way of doing this, you could certainly use
GPGPU programming to speed this up.
...
You want this for a game engine anyway; do it in opengl or directx
using shaders.
I recommend OpenCL or CUDA instead for less
On Jan 14, 6:37 pm, Asbjørn Bjørnstad asbj...@gmail.com wrote:
Look closer, I'm using a 1-D array and indexing by hand :-)
oops, sorry about that -- i see you are doing the right thing here ;-)
3. I noticed you are doing 20 iterations of Gauss-Seidel. There are
some smart ways to speed
On Jan 13, 7:38 am, Luc Prefontaine lprefonta...@softaddicts.ca
wrote:
as of yesterday pm, Clojure is running in a live system in a big
veterinarian hospital.
Awesome, congratulations!!! :-D
mfh
--~--~-~--~~~---~--~~
You received this message because you are
On Jan 11, 9:41 pm, Mark P pierh...@gmail.com wrote:
The programs I write perform applied mathematical
optimization (using mainly integer arithmetic)
and often take hours (occasionally even days)
to run. So even small percentage improvements
in execution speed can make a significant
I humbly propose that folks shouldn't complain about Clojure being
slow for their apps until they have at least one of the following:
1. A targeted benchmark for an important bottleneck in their
application, implemented in both Clojure and the current
implementation language, with performance
On Jan 6, 7:18 am, Mark Volkmann r.mark.volkm...@gmail.com wrote:
I wish there was a convention for identifying constants in Clojure,
even if it's not enforced. I'd be fine with making their names all
uppercase as in Java, but I'm open to other suggestions.
The naming convention in Common
On Jan 6, 1:35 pm, Mark Volkmann r.mark.volkm...@gmail.com wrote:
I'm tempted to say that if a function doesn't have a name that implies
what it returns or a comment describing what it returns, then callers
shouldn't use it.
That just means that the return value isn't defined, so you
On Jan 3, 7:46 pm, vogelrn voge...@gmail.com wrote:
sqrt(a/b) should always be equal to sqrt(a)/sqrt(b) since (a/b)^m =
a^m/b^m for b != 0. However, I'm unsure of whether it's the best
option for ratios because unless both the numerator and the
denominator are perfect squares, you're going
On Jan 5, 12:48 pm, Mark Volkmann r.mark.volkm...@gmail.com wrote:
I'm trying to recall where I heard a quote that goes something like this.
If none of your functions have side effects then all you're doing is
heating up the processor.
Of course you should avoid side effects in most of your
On Jan 3, 12:20 pm, Mark Volkmann r.mark.volkm...@gmail.com wrote:
One of the stated benefits of functional programming I've seen is that
the compiler of a functional language can analyze code and determine
statements within a function
that can safely be run concurrently. As
far as I know
On Jan 3, 2:08 pm, Brian Will brian.thomas.w...@gmail.com wrote:
http://en.wikipedia.org/wiki/Automatic_parallelization
The article looks out-of-date and inaccurate, alas...
mfh
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the
On Jan 3, 10:14 am, Mark Volkmann r.mark.volkm...@gmail.com wrote:
What do you think of this way of resolving the issue? Note the use of the
local variable message. That can get set to either You win! or You
killed the snake! inside dosync. Then outside dosync I check that and call
On Jan 3, 9:53 pm, Brian Will brian.thomas.w...@gmail.com wrote:
Remember that parallel and concurrent are two different things.
Concurrent is something you deal with all the time if you are
writing GUI apps: there are different threads and they interact in
some possibly unpredictable
I've written a pseudorandom number generator for arbitrarily large
integers, as well as a number of other utilities for pseudorandom
numbers. Features:
* Everything is a lazy seq
* Gaussian (mean 0, variance 1) - pseudorandom doubles
* Arbitrarily large pseudorandom uniformly distributed
On Jan 2, 12:46 am, Mark H. mark.hoem...@gmail.com wrote:
I've written a pseudorandom number generator for arbitrarily large
integers, as well as a number of other utilities for pseudorandom
numbers.
Other features:
* Function to generate a random seed, using either Java's SecureRandom
On Jan 2, 11:07 am, Mark Volkmann r.mark.volkm...@gmail.com wrote:
The most controversial thing about this code is probably my use of def
to change the state of the snake and the apple. It's not yet clear to
me that using atoms is needed here, but I need to think about that
more.
Not atoms,
On Jan 2, 5:39 pm, Mark Volkmann r.mark.volkm...@gmail.com wrote:
For anyone still following this, the latest code that incorporates
many of the suggestions I've received here is
athttp://www.ociweb.com/mark/programming/ClojureSnake.html, replacing my
original version. It now uses refs. I
Konrad and Cliff -- both useful replies, thank you :-)
Happy New Year everyone!
mfh
--~--~-~--~~~---~--~~
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
To
On Jan 1, 5:55 am, Remco van 't Veer rwvtv...@gmail.com wrote:
I got repl to start with a small change to swank-clojure:
http://github.com/remvee/swank-clojure/commit/ed89d6997bce3c5076e779a...
I changed that one line to say
(defslimefn create-repl [target] '(user user))
and the SLIME repl
On Jan 1, 5:44 pm, Stephen C. Gilardi squee...@mac.com wrote:
On Jan 1, 2009, at 7:57 PM, Bill Clementson wrote:
Or is there some other dynamic
documentation for a function that you're referring to?
For me, it throws the exception when I type a space and SLIME tries to
look up the
On Jan 1, 6:48 pm, Bill Clementson billc...@gmail.com wrote:
Looks like the correct patch to basic.clj should be:
(defslimefn create-repl [target] '(user user))
That fixes everything -- thank you :-D
mfh
--~--~-~--~~~---~--~~
You received this message because
On Dec 31, 8:49 am, Konrad Hinsen konrad.hin...@laposte.net wrote:
Suppose I write
(defn foo [x]
(let [f (. Math log 0.5)]
(* f x)))
Does the Clojure compiler calculate the constant expression (. Math
log 0.5) once, or at every function call?
Folding constants in nontrivial
On Dec 31, 8:13 am, Mark Volkmann r.mark.volkm...@gmail.com wrote:
Suppose you had been studying Clojure for one week before coming
across this code. Would you know what was going on here? Let's see ...
we've got an anonymous function that uses an anonymous function which
iterates some number
On Dec 30, 9:18 am, Mibu mibu.cloj...@gmail.com wrote:
In an ideal world, standard functions like map, sort, reduce, filter,
etc. would know when to parallelize on their own, or even better, the
compiler will do it for them.
The former is easier than the latter ;-) Even the smartest
On Dec 28, 7:50 pm, Piotr 'Qertoip' Włodarek qert...@gmail.com
wrote:
On 38MB file it takes 28s, compared to 38s of similar but sequential
version.
Another good thing is to make a simple performance model, perhaps
aided by timings of individual components, before you start
parallelizing
On Dec 30, 10:26 am, Phil Hagelberg technoma...@gmail.com wrote:
lpetit laurent.pe...@gmail.com writes:
I'm not sure. From what I remember, what you describe is more related
to LGPL ?
No, the LGPL allows using the code in another program that is Free but
not GPL-licensed.
Actually the
On Dec 28, 7:50 pm, Piotr 'Qertoip' Włodarek qert...@gmail.com
wrote:
Following my recent adventure with words ranking, here's the parallel
version:
...
(defn parallel-top-words [in-filepath out-filepath]
(let [string (slurp in-filepath)
'slurp' just reads the whole file in at once as a
On Dec 23, 3:10 pm, Jason jawo...@berkeley.edu wrote:
For the time-being, you could try something like:
user (def *random* (java.util.Random.))
#'user/*random*
user (defn my-rand-int [max-val]
(let [bit-length (.bitLength (BigInteger. (str max-val)))]
(loop []
Spurred by discussions in the DISCUSS: replace (rand) thread,
http://groups.google.com/group/clojure/browse_thread/thread/25dc26841ed00710/44050938894f9296?lnk=gstq=rand#44050938894f9296
I've adapted, written, and tested some utilities for handling
pseudorandom numbers. Here are the
On Dec 14, 6:09 am, Randall R Schulz rsch...@sonic.net wrote:
On Saturday 13 December 2008 23:19, Mark H. wrote:
So I'm going to stop pretending like I'm an expert and actually post
some Clojure code. Be constructively critical 'cause I'm a n00b in
that regard ;-) This is a pseudorandom
On Dec 14, 9:40 am, Konrad Hinsen konrad.hin...@laposte.net wrote:
Isn't that the standard Box-Muller transform?
Ah, yes, now I know what to call it ;-) Yes, it's a particular
implementation of the Box-Muller transform that is designed to avoid
trig functions.
So I'm going to stop pretending like I'm an expert and actually post
some Clojure code. Be constructively critical 'cause I'm a n00b in
that regard ;-) This is a pseudorandom number generator for the
Gaussian (0,1) distribution.
(defn next-gaussrand-state [current-
state]
^{:doc Given the
On Dec 10, 1:28 pm, Randall R Schulz rsch...@sonic.net wrote:
There seems to be a bit of an oversight.
I recall at least one other article on (Common) Lisp in Dr. Dobb's
Journal which was disastrously poorly written (misleading, outdated,
irrelevant information, even though the article was
Thanks Bill for posting such detailed Clojure+SLIME setup instructions
on your blog! :-D
One thing that tripped me up was that my .emacs was loading a custom
SLIME (since I use the .emacs for Emacs 21 as well as Emacs 22, and
Emacs 21 does not come with SLIME by default). The custom SLIME was
On Dec 4, 12:07 am, don.aman [EMAIL PROTECTED] wrote:
Since we're being all high-level, it'd be good for a random function
which allows us to specify the range of numbers, since % doesn't
promise an even spread of probabilities (especially for large ranges).
Sure it does, as long as you get
On Dec 2, 5:42 am, Stuart Halloway [EMAIL PROTECTED] wrote:
Is it big enough to matter? My intuition says yes. That's worth
nothing, so I will write some tests when I have some spare time ...
but secretly I was hoping that this thread would goad someone else
into writing the tests and
On Dec 3, 9:27 am, Konrad Hinsen [EMAIL PROTECTED] wrote:
I'd provide two interfaces:
1) Low-level: (rng seed) yielding a pair [random-number, new-seed]
2) High-level: (random seed) yielding an infinite (obviously lazy)
seq of the random numbers obtained starting from the given seed.
On Dec 1, 12:03 am, bc [EMAIL PROTECTED] wrote:
I've written a blog post titled Clojure could be to Concurrency-
Oriented Programming what Java was to OOP in which I discuss
Clojure's approach to concurrency:http://bc.tech.coop/blog/081201.html
Any comments/criticisms would be appreciated.
On Nov 12, 2:20 pm, Brian Doyle [EMAIL PROTECTED] wrote:
I had to process each line of a very large file, 120MB,
and did not want to read in the whole file at once. I
wrote this function, chunk-file, that allows me to pass
in a function and args that will process each line.
What happens if
On Nov 12, 4:47 am, Dave Newton [EMAIL PROTECTED] wrote:
There's terse, and there's concise. I know you're attempting humor, but
IMO there's a difference between association/assoc and assoc/a in the
amount of information being lost in each pair. Nothing stopping anybody from
writing
On Nov 12, 5:52 am, David [EMAIL PROTECTED] wrote:
No, I think that, if at all, we need a single set of macros. As far as
the IDEs are concerned, if we all try inventing our own (or plugins
for the existing ones), they will all be half-done at best. It's
better to focus on one project than
On Nov 11, 1:17 am, Albert Cardona [EMAIL PROTECTED] wrote:
Perhaps one way to do that would be to have a higher-order doc function,
that replied with keywords belonging to it. For example, a mock-up call
for Maps:
(doc Maps)
Maps are this and that, and can be manipulated with:
On Nov 10, 5:48 am, Robert Lally [EMAIL PROTECTED] wrote:
One of the many things that I really like about Clojure is that it abandoned
Lisp tradition where it was pragmatic to do so. One of the prime examples
for me was the use of first and rest rather than car and cdr.
To me that made sense
On Nov 8, 9:36 pm, CuppoJava [EMAIL PROTECTED] wrote:
I'm rewriting my physics engine over from Java, which is number
heavy.
There's a lot of matrix multiplication and inversions.
May I ask if you wrote the Java numerics code yourself or whether you
used an existing library instead?
Also,
On Nov 9, 7:13 am, Michael Beauregard [EMAIL PROTECTED]
wrote:
That's not true. Matrix inversion is common enough in graphics
programming. I wrote a physics engine that neglected quantum effects
and still needed to invert matrices ;-)
On Nov 9, 11:59 am, CuppoJava [EMAIL PROTECTED] wrote:
You seem to know a lot about this, so I can be more specific. I'm
using a conjugate gradient method for solving (and caching) systems of
equations, so there's no need to explicitly form a matrix (therefore
object allocation isn't a
On Nov 6, 11:58 am, Konrad Hinsen [EMAIL PROTECTED] wrote:
On 05.11.2008, at 17:16, Mark H. wrote:
For the immediate future, yes. But with changing computer
architectures, the existing algorithms and routines may lose much of
their interest in the future.
Haha, yes, we're working
On Nov 6, 7:05 pm, CuppoJava [EMAIL PROTECTED] wrote:
I'm doing some heavy numerical matrix crunching and would like to
write it in as elegant a way as possible without sacrificing any
speed.
Can you define matrix crunching more precisely?
mfh
On Nov 4, 11:46 pm, Konrad Hinsen [EMAIL PROTECTED] wrote:
Long answer: SISAL is an example of a functional parallel language
Ah, right, there was SISAL... unfortunately long forgotten.
I saw a retrospective presentation on it at SIAM PP this spring by one
of the Livermore folks who
On Nov 4, 10:01 am, Konrad Hinsen [EMAIL PROTECTED] wrote:
On the other hand, I am not sure that all important algorithms
already have purely functional equivalents that are sufficiently
efficient for real life. Is there an efficient purely functional
algorithm for matrix inversion, for
On Nov 3, 5:39 pm, Paul Stadig [EMAIL PROTECTED] wrote:
Could/Should the max function be modified to work against the
Comparable interface instead of expecting its arguments to be numbers?
I'm working with a sequence of strings that are dates in the
-mm-dd format, and I want to find the
On Nov 2, 10:31 pm, [EMAIL PROTECTED]
[EMAIL PROTECTED] wrote:
(There are examples of projects 'weakening' the GPL in various ways
to suit their needs.)
Just out of curiosity (I don't have an interest in this particular
issue at the moment so I'm not taking a side in this debate), what
would
On Oct 17, 4:09 am, Paul Stadig [EMAIL PROTECTED] wrote:
One of the things that I have always thought was crucial to creating a new
Lisp (or any language really) is a Benevolent Dictator. I like the fact that
you have a strong vision, and although you are very open to suggestions, you
are
On Oct 12, 7:08 am, Rich Hickey [EMAIL PROTECTED] wrote:
As this discussion highlights, Clojure doesn't have a proper notion of
multidimensional arrays or vectors. I saw a presentation on IBM's X10
[1] and was impressed by their point-indexed arrays. I think there are
some good ideas in there
On Oct 8, 9:54 am, Martin DeMello [EMAIL PROTECTED] wrote:
That was my first thought, but I was hoping there was a library for
this already. It seems to be a surprisingly uncommon use case (not
just in clojure, I've ended up implementing something like that in
several languages) - I'd have
85 matches
Mail list logo