Re: interests in Clojure internals

2012-06-08 Thread u1204
The clojure.pamphlet file is latex source code which is plain text. Tim Daly -- 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 members are moderated - please be pati

Re: Basic vector assoc

2012-06-08 Thread Sean Corfield
On Fri, Jun 8, 2012 at 4:35 AM, Gabo wrote: > I'm actually working on a simple function which would replace the nth > element of a vector. (assoc v n e) ;; returns a new vector with the nth element of v replaced by e Note that it does not change the original vector. > (def ids-in-use (ref [1 2

Re: Doseq, map-style

2012-06-08 Thread Sean Corfield
On Thu, Jun 7, 2012 at 8:32 PM, David Jacobs wrote: > I would love to have a version of doseq that works like map (similar to > "each" in other dynamic languages). In other words, instead of (doseq [log > logs] (println log)), I would say something like (each println logs). Since that implies a s

Re: load namespace programmatically

2012-06-08 Thread Andy Fingerhut
Does this do what you want? (defn require-from-string [s] (require (symbol s))) Andy On Jun 8, 2012, at 5:37 PM, Leandro Oliveira wrote: > Hi, > > What is the best way to implement require-from-string? > > Ex: > > # require-from-string words like require but accepts namespaces as strings.

load namespace programmatically

2012-06-08 Thread Leandro Oliveira
Hi, What is the best way to implement require-from-string? Ex: # require-from-string words like require but accepts namespaces as strings. (def namespace-from-user (ask-user)) (require-from-string namespace-from-user) # now the namespace chosen by user is loaded. Best regards [ ]s Leandro

core.logic on CLJS performance now close to miniKanren running on Racket

2012-06-08 Thread David Nolen
I've had a couple ClojureScript performance optimization insights recently that has brought core.logic (running on V8) within a couple milliseconds of the performance of miniKanren running on Racket. zebrao can now be solved in ~13ms. At this point I think the only thing that can make core.logic o

Re: [PATCH] RFC: Add Functions `tabify` And `untabify`

2012-06-08 Thread OGINO Masanori
Hello. Thank you for sparing your time for my proposal. There are many negative votes for the proposal and the main doubt is "do you need to make them in closure.string?" My opinion is, "perhaps I don't but I'm unsure until reading your replies". At first I wrote some codes to improve clojure.r

Layered DynamicClassLoader instances -- why?

2012-06-08 Thread Charles Duffy
Using Clojure 1.4.0, I'm inspecting the classloader stack my software is running with... and have at times noticed numerous layered DynamicClassLoader instances: (defn classloader-parents [loader] (when loader (lazy-seq (cons loader (classloader-parents (.getParent loader

Re: [PATCH] RFC: Add Functions `tabify` And `untabify`

2012-06-08 Thread Stuart Sierra
On Fri, Jun 8, 2012 at 2:13 PM, Andy Fingerhut wrote: > Are you concerned that there are differences in regex implementations between > host platforms? Slightly. > Or are you hoping that someone develops a portable-between-Clojure-hosts > regex implementation and adds that to clojure.string?

Re: Help with Macros and Matchure

2012-06-08 Thread JvJ
Well, I'm the dumbest person ever. Here's the solution: (if-match [(and ?c (contains? *chars* c)) "Trip"] c) On Jun 7, 4:48 pm, JvJ wrote: > Hi, > > I've recently started using the matchure library for pattern matching > (https://github.com/dcolthorp/matchure). > > Basically, I'd like match a

Re: [PATCH] RFC: Add Functions `tabify` And `untabify`

2012-06-08 Thread Andy Fingerhut
On Jun 8, 2012, at 10:58 AM, Stuart Sierra wrote: > Stuart Halloway wrote: >> Whatever we do let's make sure we think about how to make it available in >> all Clojure dialects. > > Yes. When it comes to adding stuff to clojure.string, I'd like to focus > less on adding single-purpose functions l

Explaining the thrush -> operator.

2012-06-08 Thread fenton
I created a tutorial explaining what the thrush -> and ->> operator is. https://github.com/ftravers/PublicDocumentation/blob/master/clojure-thrush.md My tutorials are aimed at people who appreciate VERY explicit explanations, which I think there is a bit of a gap among current internet available

Re: [PATCH] RFC: Add Functions `tabify` And `untabify`

2012-06-08 Thread Stuart Sierra
Stuart Halloway wrote: > Whatever we do let's make sure we think about how to make it available in > all Clojure dialects. Yes. When it comes to adding stuff to clojure.string, I'd like to focus less on adding single-purpose functions like dasherize and more on making sure that it's possible to *w

Re: [PATCH] RFC: Add Functions `tabify` And `untabify`

2012-06-08 Thread László Török
+1 On Jun 8, 2012 6:54 PM, "Stuart Halloway" wrote: > Whatever we do let's make sure we think about how to make it available in > all Clojure dialects. > > Stu > > On Jun 8, 2012, at 8:49 AM, Jay Fields wrote: > > I wouldn't mind seeing more in clojure.string. e.g. daserize, underscore, > pascal-

Re: problem with .indexOf

2012-06-08 Thread Christian Guimaraes
Thank you all. map-indexed will resolve my problem. Christian On Fri, Jun 8, 2012 at 2:46 PM, Jay Fields wrote: > (map-indexed #(hash-map "id" %1 "value" %2) '(a b c)) > > or, if you don't want to use #() > > (map-indexed (comp (partial zipmap ["id" "value"]) list) '(a b c)) > > > On Fri, Jun

Re: [PATCH] RFC: Add Functions `tabify` And `untabify`

2012-06-08 Thread Stuart Halloway
Whatever we do let's make sure we think about how to make it available in all Clojure dialects. Stu > On Jun 8, 2012, at 8:49 AM, Jay Fields wrote: > >> I wouldn't mind seeing more in clojure.string. e.g. daserize, underscore, >> pascal-case, camel-case > > +1 > > > - > Brian Marick, Ar

Re: [PATCH] RFC: Add Functions `tabify` And `untabify`

2012-06-08 Thread Brian Marick
On Jun 8, 2012, at 8:49 AM, Jay Fields wrote: > I wouldn't mind seeing more in clojure.string. e.g. daserize, underscore, > pascal-case, camel-case +1 - Brian Marick, Artisanal Labrador Contract programming in Ruby and Clojure Occasional consulting on Agile www.exampler.com, www.twitter.c

ANN: Marginalia v0.7.1

2012-06-08 Thread Fogus
Marginalia v0.7.1 Release Notes === Marginalia is an ultra-lightweight literate programming tool for Clojure and ClojureScript inspired by [docco](http://jashkenas.github.com/docco/)*. To get a quick look at what the output looks like, [visit the official Marginalia

Re: help with chess-checkers engine (constructing the board after each move)

2012-06-08 Thread Jim - FooBar();
Nevermind guys, I took my eyes off the screen for 5 min. and it hit me!!! We have 'assoc' and it works on vectors! I guess something like this should work... (defn build-board [pieces] (loop [nb (vector (repeat 32 nil)) p pieces] (when (empty? p) (seq nb) (recur (assoc nb (.getListPosi

help with chess-checkers engine (constructing the board after each move)

2012-06-08 Thread Jim - FooBar();
Hello fellow Clojurians, I've started building an extendible board-game engine (chess/checkers at the moment) and I'm facing a few problems...Let me explain... For checkers I'd like to represent the board as a list of 31 positions. Of course there has to be a mapping from the 1d list to a 2d

Re: Function minimizer a la fminunc

2012-06-08 Thread Lars Nilsson
On Fri, Jun 8, 2012 at 12:30 AM, David Jacobs wrote: > Has anyone written a function minimizer in Clojure (or in Java)? I want > something like Octave's fminunc [0], where I can pass in a function and a > parameter list and find the parameters that minimize the function. Anyone > know of one? > >

Re: Future milestones of ClojurescriptOne ?

2012-06-08 Thread Brenton
There will be further releases of ClojureScript One. As we work on ClojureScript projects for clients, we are learning a lot about what works well and what doesn't. In the future, we will use what we have learned to make improvements to ClojureScript One. We also plan to move some of the includ

Re: Why does (send a f) hang in this code, if f returns an agent?

2012-06-08 Thread Stuart Sierra
I'm not sure why it hangs, but my guess is that your actions are throwing exceptions, breaking the loop and preventing the SynchronousQueue from ever being filled. By the way, the `time` you're measuring will dominated by `pprint`, not your actual test. -S -- You received this message becaus

Re: Doseq, map-style

2012-06-08 Thread Lars Nilsson
On Fri, Jun 8, 2012 at 9:54 AM, Allen Johnson wrote: > Combine map with dorun and you get the same effect: > > (dorun (map println logs)) > > http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/dorun > > Allen > > On Thu, Jun 7, 2012 at 11:32 PM, David Jacobs wrote: >> I would lo

Re: Doseq, map-style

2012-06-08 Thread Allen Johnson
Combine map with dorun and you get the same effect: (dorun (map println logs)) http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/dorun Allen On Thu, Jun 7, 2012 at 11:32 PM, David Jacobs wrote: > I would love to have a version of doseq that works like map (similar to > "each

Re: Deserialization of a Record

2012-06-08 Thread Stuart Sierra
Can you post a standalone example that doesn't require seesaw? Otherwise it's hard to reproduce the problem. If the problem is class visibility on the EDT, there are a couple of possiblities: 1. Bind *use-context-classloader* to false in your event handler. This might work. 2. Have the event

Re: [PATCH] RFC: Add Functions `tabify` And `untabify`

2012-06-08 Thread Jay Fields
I wouldn't mind seeing more in clojure.string. e.g. daserize, underscore, pascal-case, camel-case On Fri, Jun 8, 2012 at 9:46 AM, Stuart Sierra wrote: > Seems like a fairly specialized function. No harm in including it where > it's needed, but does it need to go in clojure.string? > -S > > -- >

Re: [PATCH] RFC: Add Functions `tabify` And `untabify`

2012-06-08 Thread Stuart Sierra
Seems like a fairly specialized function. No harm in including it where it's needed, but does it need to go in clojure.string? -S -- 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

Re: problem with .indexOf

2012-06-08 Thread Jay Fields
(map-indexed #(hash-map "id" %1 "value" %2) '(a b c)) or, if you don't want to use #() (map-indexed (comp (partial zipmap ["id" "value"]) list) '(a b c)) On Fri, Jun 8, 2012 at 9:33 AM, Kevin Ilchmann Jørgensen wrote: > (map #(hash-map :v %1 :id %2) '(a b c c b a) (range)) > => ({:v a, :id 0}

Re: Is still idiomatic the ant simulation code?

2012-06-08 Thread Stuart Sierra
The ants demo is definitely dated. It's not terrible, but the code could use some polishing/simplifying using newer additions to the language. -S -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroup

Doseq, map-style

2012-06-08 Thread David Jacobs
I would love to have a version of doseq that works like map (similar to "each" in other dynamic languages). In other words, instead of (doseq [log logs] (println log)), I would say something like (each println logs). Is there a built-in Clojure method that works like this? -- You received this

Function minimizer a la fminunc

2012-06-08 Thread David Jacobs
Has anyone written a function minimizer in Clojure (or in Java)? I want something like Octave's fminunc [0], where I can pass in a function and a parameter list and find the parameters that minimize the function. Anyone know of one? [0] http://octave.sourceforge.net/octave/function/fminunc.html

Re: Why isn't there a fold-right?

2012-06-08 Thread Yoshinori Kohyama
Hello caffe and Yang Dong. Here is my fold-right. (defn fold-right [f s coll] ((reduce (fn [acc x] #(acc (f x %))) identity coll) s)) ; (fold-right - 1 '(3 1 4)) ; -> ((fn [y3] ; ((fn [y2] ; ((fn [y1] (identity (- 3 y1))) ;(- 1 y2))) ; (- 4 y3))) ; 1)

Re: Memory issues processing large lazy sequences

2012-06-08 Thread Tom Hume
Are you able to go to billions of items with the first version? I'm going to be using this to work with truly vast sequences, so if there's any sort of memory issue with the approach, I would expect it to be exposed at some point - given that I can only throw finite amounts of memory at this. C

Re: Memory issues processing large lazy sequences

2012-06-08 Thread Tom Hume
Nope, that doesn't make any difference; if something's keeping hold of the head, it isn't the take: => (first (drop 1999 (add-ch))) OutOfMemoryError Java heap space clojure.lang.RT.cons (RT.java:552) => (first (drop 1999 (add-layer))) OutOfMemoryError Java heap space java.lang.Abstrac

Basic vector assoc

2012-06-08 Thread Gabo
Hello, I'm a beginner with Clojure and trying some basic stuff. I'm actually working on a simple function which would replace the nth element of a vector. I'm using this function (def ids-in-use (ref [1 2 3])) (defn update-vector [v tid] (assoc v tid 10)) (update-ids-in-use [2]) The problem is

Re: Memory issues processing large lazy sequences

2012-06-08 Thread Tom Hume
Thanks David. Could you recommend any other types of search, or a different algorithm entirely, which might give me the same output in a sequence? On Fri, Jun 8, 2012 at 1:29 PM, David Powell wrote: > > (dorun (take 2000 (add-layer))) >>> >> take holds on to the head, because that is what i

Re: problem with .indexOf

2012-06-08 Thread Kevin Ilchmann Jørgensen
(map #(hash-map :v %1 :id %2) '(a b c c b a) (range)) => ({:v a, :id 0} {:v b, :id 1} {:v c, :id 2} {:v c, :id 3} {:v b, :id 4} {:v a, :id 5}) /k On Fri, Jun 8, 2012 at 3:31 PM, Jay Fields wrote: > You probably just want map-indexed... > > Sent from my iPhone > > On Jun 8, 2012, at 9:24 AM, Ch

Re: problem with .indexOf

2012-06-08 Thread Jay Fields
You probably just want map-indexed... Sent from my iPhone On Jun 8, 2012, at 9:24 AM, Christian Guimaraes wrote: > Hello all, > > I have the code below: > > (def data > '(a b c c b a)) > > (for [value data] (hash-map "id" (.indexOf data value) "value" value)) > > That gives me the output:

problem with .indexOf

2012-06-08 Thread Christian Guimaraes
Hello all, I have the code below: (def data '(a b c c b a)) (for [value data] (hash-map "id" (.indexOf data value) "value" value)) That gives me the output: ({"value" a, "id" 0} {"value" b, "id" 1} {"value" c, "id" 2} {"value" c, "id" 0} {"value" b, "id" 1} {"value" a, "id" 2}) but I need t

Re: why String is not a collection (of Character)

2012-06-08 Thread Tim Visher
Hi Ambrose, On Fri, Jun 8, 2012 at 12:22 AM, Ambrose Bonnaire-Sergeant wrote: > On Fri, Jun 8, 2012 at 12:11 PM, Tim Visher wrote: >> >> >> 2. While I would very much expect the type test (coll? seq?) to return >> false on a string, I would _not_ expect the capability test >> (sequential?) to re

Re: why String is not a collection (of Character)

2012-06-08 Thread Bill Caputo
On Jun 8, 2012, at 2:21 AM, Cédric Pineau wrote: > > 2012/6/8 Cédric Pineau > > 2012/6/8 Ambrose Bonnaire-Sergeant > No. I assume you mean seqable. > > If it did exist, it would look something like: > > Is there a simple test for sequable? > > Oh ok, I don't get the difference between seq

Re: Memory issues processing large lazy sequences

2012-06-08 Thread David Powell
> (dorun (take 2000 (add-layer))) >> > take holds on to the head, because that is what it returns. Try changing > take to drop. > Take is lazy though, and dorun should drop the head, so that shouldn't be a problem. The problem here is not an holding onto the head issue. Lots of memory is be

Re: interests in Clojure internals

2012-06-08 Thread Ken Causey
You are welcome. Markus answered your question clearly I think, but it may be instructive to view http://youtu.be/mDlzE9yy1mk which I should have just included in my original email. This is Tim Daly demonstrating his process for literate programming with Clojure by making a couple of edits to c

Re: why String is not a collection (of Character)

2012-06-08 Thread Stephen Compall
On Jun 8, 2012 3:18 AM, "Cédric Pineau" wrote: > (defn seqable? More modernly, this function can be found in core.incubator. -- Stephen Compall Greetings from sunny Appleton! -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, s

Re: interests in Clojure internals

2012-06-08 Thread mnicky
The second link is just a Latex source used to generate that pdf :) Marek. On Friday, June 8, 2012 11:10:19 AM UTC+2, jaime wrote: > > I glanced at the contents and it looks like this is a cool thing that I'm > looking for. I will spend some time on it. Thank you Ken. > > BTW, how can I view the

Re: Memory issues processing large lazy sequences

2012-06-08 Thread Chris Perkins
On Thursday, June 7, 2012 1:53:30 PM UTC-4, Tom Hume wrote: > > Hi > > I'm trying to generate a sequence which corresponds to a breadth-first > search of a very wide, deep tree... and I'm hitting memory problems when I > go too far along the sequence. Having asked around on the IRC channel and >

Re: Slow 'quick sort'

2012-06-08 Thread Michał Marczyk
Note that the whole point of the "real" quicksort is to sort in place with very good constants. In contrast, the commonly encountered functional quicksort-lookalike traverses its input twice, allocates two extra lists / seqs, then appends their sorted versions after recursive calls. Ultimately it e

Re: Slow 'quick sort'

2012-06-08 Thread nicolas.o...@gmail.com
Stack-overflows in quicksort can mean that you are hitting the worst case of this algorithm complexity. (Meaning that you are sorting an array already sorted in one direction or the other. In this situation, the size of the recursive call are n - 1 and 0, instead of being roughly n/2 for both calls

Re: interests in Clojure internals

2012-06-08 Thread jaime
I glanced at the contents and it looks like this is a cool thing that I'm looking for. I will spend some time on it. Thank you Ken. BTW, how can I view the second link (ending with .pamphlet) in a browser? I tried it in Chrome but it just gave me a plain text without any format. 在 2012年6月7日星期四U

Re: Slow 'quick sort'

2012-06-08 Thread Chris Ford
Another advantage to choosing the first element as a pivot is that you can use destructuring: (defn qsort [[pivot & coll]] (if coll) On 8 June 2012 08:44, Mark Engelberg wrote: > last and drop-last are slow operations on seqs, and no matter what you > pass in for the initial input, once you

Re: Slow 'quick sort'

2012-06-08 Thread Mark Engelberg
last and drop-last are slow operations on seqs, and no matter what you pass in for the initial input, once you hit the recursive calls, you're passing in seqs (because that's what filter produces). Try first and rest. -- You received this message because you are subscribed to the Google Groups "

Re: Slow 'quick sort'

2012-06-08 Thread Baishampayan Ghose
> I also read the sort function in clojure.core, but it make confused. > > 01 (defn sort > 02   "Returns a sorted sequence of the items in coll. If no comparator is > 03   supplied, uses compare. comparator must > 04   implement java.util.Comparator." > 05   {:added "1.0" > 06:static true} > 07

Re: why String is not a collection (of Character)

2012-06-08 Thread Cédric Pineau
2012/6/8 Cédric Pineau > > 2012/6/8 Ambrose Bonnaire-Sergeant > >> No. I assume you mean seqable. >> >> If it did exist, it would look something like: >> >> Is there a simple test for sequable? > > > Oh ok, I don't get the difference between seq and seqable.. > > I think I got it : (seqable? a)

Re: why String is not a collection (of Character)

2012-06-08 Thread Cédric Pineau
2012/6/8 Ambrose Bonnaire-Sergeant > No. I assume you mean seqable. > > If it did exist, it would look something like: > > Is there a simple test for sequable? Oh ok, I don't get the difference between seq and seqable.. Btw, i found this ( https://github.com/richhickey/clojure-contrib/blob/9f4

Re: why String is not a collection (of Character)

2012-06-08 Thread Meikel Brandmeyer
Hi, this will be simplified tremenduously when there is a Seqable protocol. Then satisfies? will do the job. I'm still thinking when I ever needed seqable?, though. Kind regards Meikel -Ursprüngliche Nachricht- Von: Ambrose Bonnaire-Sergeant An: clojure@googlegroups.com Gesendet: Fr,

Slow 'quick sort'

2012-06-08 Thread Qiu Xiafei
I wrote a quick sort function in clojure, but it runs extremely slow. Sometimes, if the input collection grows lager, it may even overflow the stack? Anything wrong with my code? (defn qsort [coll] (if (<= (count coll) 1) coll (let [pivot (last coll) head-half (filter #(< % pi