2008-04-01
| 09:13 | Chouser | abrooks: that's not true (about python's tuples and hashes) |
| 09:24 | Chouser | python: ({(1, 2): 3})[(1,2)] ==> 3 |
| 09:25 | Chouser | I think in python the key is required to be immutable. |
| 09:43 | rhickey | anyone try the ants yet? |
| 09:44 | abrooks | Chouser: Zounds! You got me! :) I'm pretty sure the same is not true of lists (I know I've run into something like this) but I should (apparently) go recheck. |
| 09:44 | abrooks | rhickey: I did last night. Very slick. And tiny. |
| 09:45 | rhickey | abrooks: what platform? I only tried on OS X and Ubuntu |
| 09:45 | abrooks | Gentoo Linux, Sun 1.6.0.05 |
| 09:46 | abrooks | rhickey: I'm about 3/5ths through the audio. Does the audio glitch for you or is that just my player? |
| 10:04 | rhickey | yes, there are glitches that occurred in the video transfer, sorry. I tried to clean them up as much as possible. I'm told the final video will have clean audio... |
| 10:04 | rhickey | but I didn't want people to have to wait any longer |
| 10:05 | rhickey | is it bearable? |
| 10:10 | abrooks | rhickey: I think it's bearable. Much of the glitching seems to correspond with slides on locking which sets the right mood IMO. :) |
| 10:10 | rhickey | funny |
| 10:17 | abrooks | Chouser: Python lists and dicts have a __hash__() which raise an exception. Object are hashed by their instance. (Which is what I recalled happening to everything.) Tuples (as you point out (as in clojure)) are hashed by value. |
| 10:25 | Chouser | It's funny all the different places people come from when arriving at Clojure. |
| 10:26 | Chouser | Lots of Java, CL, and Scheme of course, but also some Haskell, Scala, Python. Not much PHP, though. |
| 10:27 | abrooks | Bug? This works just fine (at first) (re-seq #"[0-9]+" "123,312,99018") however, this (re-seq #"\d+" "123,312,99018") ... and now the bug ... after invoking the second form at the REPL, the first form breaks with an IllegalArgumentException thrown by the reader. |
| 10:27 | abrooks | rhickey: --^ |
| 10:27 | abrooks | I suppose I should post this to the group to give more detail. |
| 10:28 | Chouser | no need |
| 10:28 | Chouser | it's the backslash |
| 10:28 | abrooks | Chouser: Must... not... say... uncharitable... things... about... PHP. |
| 10:28 | Chouser | currently #"" uses the same escaping rules as a string, so want #"\\d+" |
| 10:29 | Chouser | There's been discussion about changing that. |
| 10:29 | abrooks | Chouser: I tried that as well -- I realized the escaping issue. The bug is that the first form fails after issuing the second. Try it. |
| 10:30 | Chouser | yeah, the second form leaves the reader in a broken state. |
| 10:30 | abrooks | ... and that seems like a bug. |
| 10:30 | rhickey | yes, and a java bug prevents the workaround |
| 10:31 | rhickey | had to be pulled |
| 10:36 | abrooks | So the lesson is "don't break the reader". |
| 10:36 | rhickey | for now |
| 10:36 | Chouser | I think some of the proposed escaping rules for # |
| 10:37 | Chouser | for #"" would reduce the frequency that people actually run into that bug. |
| 10:37 | rhickey | but the most common case is a bad escape in a regex, so when I change that it will happen less often |
| 10:38 | abrooks | heh |
| 14:10 | Chouser | If want to parallellize CPU-intensize work, I should use agents not threads. But what if I have IO-blocking tasks? Does it make sense to interact with Java threads directly? |
| 14:38 | rhickey | you can use send-off for blocking tasks. they use a different (non-fixed) thread pool |
| 14:39 | Chouser | oh! cool. |
| 15:24 | wabash | rhickey: Are you the author of Clojure? |
| 15:24 | rhickey | yes |
| 15:40 | wabash | Wow. You have my admiration. Now I understand about interned strings and clojure. I'm a FP newbie, but maybe if I study hard, I'll be able to contribute in some way in the future. |
| 15:41 | rhickey | interned strings? |
| 15:47 | wabash | Yes, as I think it was called...... I asked about java vs. clojure in regards to string interning. I called it "pooled"... |
| 15:48 | rhickey | ok |
| 15:51 | Chouser | rhickey: I think I'll have some code for Clojure Contrib. My email is chouser at sourceforge. |
| 15:52 | rhickey | Chouser: great! |
| 15:52 | Chouser | I have to clean it up -- mainly come up with a sane namespace. |
| 15:58 | abrooks | Chouser: You've finished noiski! ;-D |
| 15:59 | abrooks | Chouser: I assume this is the xpath replacement? |
| 15:59 | Chouser | abrooks: yeah, I'm pretty sure I like using it well enough in its current form -- I'd like to get it out there. |
| 15:59 | Chouser | I'm less sure about the triples stuff yet. |
| 16:01 | abrooks | Chouser: We've only been poking at the tripples now for what... five, six years? I don't think one month of Clojure would change that. :) |
| 16:11 | Chouser | :-) |
| 16:16 | wabash | rhickey: At some point if you need work on documentation, I would like to contribute. |
| 16:27 | rhickey | wabash: thanks - the wiki is a good place for that |
| 18:22 | Chouser | rhickey: you want a single file per namescape, directly in clojure-contrib? Do we need a trunk subdir? |
| 18:22 | Chouser | I assume you want CPL license, do you also want the copyright in your name? |
| 18:24 | rhickey | I guess we should do standard SVN structure, so yes, trunk |
| 18:24 | rhickey | yes CPL for all |
| 18:24 | rhickey | Copyright in author's name ok |
| 18:24 | rhickey | same header as in Clojure code is good |
| 18:25 | Chouser | ok |
| 18:25 | rhickey | I can't say I've planned this all out :) |
| 18:27 | Chouser | np, as long as you don't mind me bugging you as I go along. |
| 18:27 | rhickey | sure |
| 18:28 | rhickey | glad to have the help |
| 18:28 | rhickey | very psyched to see the nascent community |
| 18:30 | Chouser | good! I'm happy to be a part of it. |
| 18:30 | Chouser | I hope it stays that way for you. I have a project right now where the community serves mainly to provide me with guilt about how little I'm keeping up with the project. :-/ |
| 18:31 | Chouser | So I try to mask the guilt by working on clojure code instead. :-D |
| 18:31 | rhickey | :) |
| 21:17 | jonathan_ | clojure has regexes!?!? awesome |
| 21:24 | jonathan_ | sometimes it's hard to keep up with language features. Nice problem to have :) |
| 23:03 | jonathan__ | great article here, the bipolar Lisp programmer http://www.lambdassociates.org/blog/bipolar.htm |
| 23:53 | abrooks | jonathan_: Interesting article. |