2009-05-30
| 00:02 | cp2 | "Garbage First, or G1, is a low pause, server style collector. G1's primary advantages over the Concurrent Mark-Sweep (CMS) collector include incremental compaction, better predictability and ease of use. |
| 00:02 | cp2 | Although G1 is available for use in this release, note that production use of G1 is only permitted where a Java support contract has been purchased. G1 is supported thru Sun's Java Platform Standard Edition for Business program. |
| 00:02 | cp2 | ahhh oracle... |
| 00:11 | hiredman | cp2: I hearing that they said that just because it is alpha and they are covering their backside |
| 00:53 | hiredman | clojurebot: science? |
| 00:53 | clojurebot | make a note of http://scienceblogs.com/goodmath/2006/11/the_c_is_efficient_language_fa.php it is yet another article about picking c or c++ for performance being naive |
| 00:54 | hiredman | clojurebot: science is <reply>"science is whatever we want it to be" -- Dr. Spaceman |
| 00:54 | clojurebot | Alles klar |
| 00:59 | durka42 | oh dear |
| 00:59 | durka42 | writing about code is a really good way to find bugs, isn't it |
| 00:59 | durka42 | finding* |
| 01:00 | durka42 | if i fix this bug correctly nothing will change, because there are multiple coincidences hiding it |
| 01:22 | durka42 | i'm being asked whether clojure is more similar to CL or scheme |
| 01:22 | durka42 | what do y'all think |
| 01:33 | duck1123 | durka42: I'm not either, but if I had to guess, I'd say scheme |
| 01:34 | durka42 | that was my answer |
| 01:34 | durka42 | because, i said, of functional tendencies and lack of cruft |
| 01:35 | duck1123 | so does anyone know if clojurescript is fit to write my jquery code yet |
| 01:35 | duck1123 | cause I'm much rather be writing clojure right now than js |
| 01:35 | durka42 | wouldn't that require porting jquery to clojurescript? |
| 01:35 | durka42 | or is there an FFI |
| 01:35 | rich_holygoat | durka42: conversely, it has a usably large standard library, multimethods are similar to CL generics, and the specifics of the syntax (e.g., defn) remind me more of CL. |
| 01:36 | durka42 | good points |
| 01:36 | durka42 | i don't know what scheme does for generics |
| 01:37 | duck1123 | I assumed that clojurescript was able to interface with pure javascript functions |
| 06:02 | dejj | How do I turn a StructMap into a dissociatable map? |
| 06:21 | leafw | dejj: add all its values to a new non-struct map. |
| 06:26 | hoeck | /quit bye |
| 06:46 | dejj | @leafw: is there some brief way to do that? |
| 07:05 | cgrand | dejj: (conj {} your-struct) |
| 07:07 | dejj | ah, thank you |
| 13:01 | gnuvince_ | durka42: Url? |
| 13:02 | durka42 | one second |
| 13:04 | durka42 | i guess i should upload the pictures as well... |
| 13:05 | durka42 | that's better |
| 13:05 | durka42 | http://durka.github.com/2009/05/28/subleq-assembler.html |
| 13:07 | rsynnott | github does blogs now? |
| 13:07 | rsynnott | also, have you an RSS feed? |
| 13:07 | rsynnott | no use having a blog without an RSS feed |
| 13:07 | durka42 | rsynnott: working on that :) |
| 13:07 | durka42 | i was going to just use the template engine the github provides to generate one |
| 13:08 | durka42 | rsynnott: http://github.com/blog/272-github-pages |
| 13:20 | durka42 | oh, excellent |
| 13:20 | durka42 | the guy who invented github pages has an auto-generating atom.xml that i can steal |
| 13:27 | durka42 | rsynnott: does the RSS feed work now? |
| 14:43 | achin | Does anyone have any editor/IDE recommendations other than Emacs/SLIME? |
| 15:00 | hoeck | achin: netbeans with enclojure plugin |
| 15:00 | achin | Is that what you use? |
| 15:00 | hoeck | achin: I'm an emacs/slime user, but i tried it once at my windows workstation at work |
| 15:00 | achin | I'm playing with the TextMate bundle now, but it's buggy. |
| 15:00 | achin | Hmm. |
| 15:01 | hoeck | achin: and besides beeing not emacs, i really liked it |
| 15:01 | clojurebot | emacs is best configured for Clojure with instructions at http://technomancy.us/126 |
| 15:01 | achin | hoeck: Thanks. |
| 15:01 | hoeck | especially the easy integration of non-clojure libraries and java-code |
| 15:01 | achin | I'll give it a shot. |
| 15:36 | unlink | What's a better way of doing (when-let [a (func)] (when-let [b (func2 a)] (when-let [c (func3 b)] ...))) ? |
| 15:41 | hiredman | I think there is -?> in contrib |
| 15:41 | hiredman | somewhere |
| 15:41 | hiredman | ~def -?> |
| 15:46 | unlink1 | hiredman: that is for dotting |
| 15:47 | unlink1 | java stuff |
| 15:47 | unlink1 | I basically want nilsafe-comp |
| 15:52 | hiredman | uh |
| 15:52 | durka42 | unlink1: .?. is for java. -?> is like -> |
| 15:53 | hiredman | (-?> (func) func2 func3) |
| 15:57 | unlink1 | right |
| 15:57 | unlink1 | that's sort of similar, but only threads the 2nd arg |
| 15:57 | unlink1 | ,((fn [[name]] (-?> (symbol name) resolve)) ["java.lang.String"]) |
| 15:57 | clojurebot | java.lang.Exception: Unable to resolve symbol: -?> in this context |
| 15:57 | unlink1 | ,(use 'clojure.contrib.core) ((fn [[name]] (-?> (symbol name) resolve)) ["java.lang.String"]) |
| 15:57 | clojurebot | nil |
| 15:58 | unlink1 | (resolve 'java.lang.String) |
| 15:58 | unlink1 | er. |
| 15:58 | unlink1 | ,(resolve 'java.lang.String) |
| 15:58 | clojurebot | java.lang.String |
| 15:58 | hiredman | ,(-?> (symbol "java.lang.String") resolve) |
| 15:58 | clojurebot | java.lang.String |
| 15:59 | hiredman | ,(-?> (symbol "java.lang.Foo") resolve) |
| 15:59 | clojurebot | java.lang.ClassNotFoundException: java.lang.Foo |
| 15:59 | hiredman | ,(resolve 'java.lang.Foo) |
| 16:00 | clojurebot | java.lang.ClassNotFoundException: java.lang.Foo |
| 16:01 | durka42 | ,(-?> (symbol "java.lang.String") resolve newInstance) |
| 16:01 | clojurebot | java.lang.Exception: Unable to resolve symbol: newInstance in this context |
| 16:01 | durka42 | ,(-?> (symbol "java.lang.String") resolve .newInstance) |
| 16:01 | clojurebot | "" |
| 16:04 | durka42 | ,(-> (symbol "java.lang.String") resolve .newInstance seq getClass) |
| 16:04 | clojurebot | java.lang.Exception: Unable to resolve symbol: getClass in this context |
| 16:04 | durka42 | ,(-> (symbol "java.lang.String") resolve .newInstance seq .getClass) |
| 16:04 | clojurebot | java.lang.NullPointerException |
| 16:04 | durka42 | ,(-?> (symbol "java.lang.String") resolve .newInstance seq .getClass) |
| 16:04 | clojurebot | nil |
| 16:10 | achin | How do I make a new type of seq? i.e. implement ISeq? |
| 16:15 | hiredman | easiest is to just make a function that explicitly creates a seq from something |
| 16:15 | hiredman | like iterator-seq |
| 16:16 | quidnunc | How do I implement a selector for text in enlive? I have tried using text-node and (text-pred text-node) as selectors but they don't seem to match anything. |
| 16:57 | bradford | anyone know of a clojrue lib around hadoop? |
| 16:57 | bradford | i'm trying to get setup with amazon elastic map reduce and do my mapper sand reducers in clojure |
| 16:58 | bradford | i saw something from Bendiken but it seems to be donw now |
| 17:43 | Chouser | /nick Chouser_ |
| 17:44 | Chouser | ah, well... |
| 17:44 | danlarkin | too many chousers! |
| 17:56 | j-dot | is there any reliable way to get a reference to a function from a string containing the name of the function? Something in the spirit of the following paste ... |
| 17:57 | lisppaste8 | j-dot pasted "Getting a function from a string" at http://paste.lisp.org/display/81089 |
| 17:57 | hiredman | ,(resolve (symbol "+")) |
| 17:57 | clojurebot | #'clojure.core/+ |
| 17:57 | hiredman | ,((resolve (symbol "+")) 1 2) |
| 17:57 | clojurebot | 3 |
| 17:57 | j-dot | ahh, thank you! |
| 17:57 | j-dot | I knew it was there somewhere |
| 17:58 | hiredman | that is actually the var, but vars dispatch function calls to their contents |
| 17:58 | Chouser | be aware that resolves in a globall context. Using your macro inside a fn and giving it the name of a local won't work. |
| 17:59 | j-dot | thanks, Chouser ... I'm only interested in resolving a few fns from clojure.core for now |
| 20:11 | bradford | ,(#({:a %}) 10) |
| 20:11 | clojurebot | java.lang.IllegalArgumentException: Wrong number of args passed to: PersistentArrayMap |
| 20:12 | bradford | how do i do something liek that? |
| 20:13 | bradford | ,((fn [b] {:a b}) 10) |
| 20:13 | clojurebot | {:a 10} |
| 20:14 | bradford | hmmm - what is it about the # version of hte lambda that doesn't work for building the literal map in this case? |
| 20:46 | Chouser | the #() includes the inner parens |
| 20:46 | Chouser | #({:a %}) is like (fn [x] ({:a %})) |
| 20:50 | quidnunc | Anyone know how the text-node selector is used in enlive? |
| 20:55 | Roland_LW | hi |
| 20:56 | rhickey | hi |
| 20:56 | Roland_LW | What is the best web framework for clojure? |
| 20:56 | slashus2 | ,(#(map :a %) 10) |
| 20:56 | clojurebot | java.lang.IllegalArgumentException: Don't know how to create ISeq from: Integer |
| 20:57 | rhickey | ,(#(hash-map :a %) 10) |
| 20:57 | clojurebot | {:a 10} |
| 20:58 | slashus2 | oops |
| 20:58 | quidnunc | Roland_LW: Is there something besides compojure? |
| 20:58 | rhickey | Roland_LW: compojure seems to have the most activity: http://groups.google.com/group/compojure |
| 20:58 | Roland_LW | I don't know even compojure, I'm new to this |
| 20:58 | slashus2 | I completely lost my mind there. |
| 20:59 | rhickey | slashus2: no worries, map is heavily overloaded |
| 20:59 | quidnunc | Best is easy to evaluate when there is a single contender. |
| 20:59 | Roland_LW | Is compojure ready for production use? I'm planning to do a serious project and we are choosing between Ruby and Cojure |
| 21:00 | Roland_LW | Clojure |
| 21:07 | Roland_LW | anyone? ;) |
| 21:07 | Roland_LW | Anyone ever faced the decision Ruby(on Rails) vs. Clojure? |
| 21:08 | rhickey | Roland_LW: you might want to join the Compojure group and ask there - more likely to get Compojure users than are here right now |
| 21:10 | Roland_LW | rhickey: yeah, you have a good point there. :) |
| 21:11 | quidnunc | Roland_LW: I can't imagine that Compojure is more mature than Rails. |
| 21:11 | Roland_LW | quidnunc: sure, but more mature doesn't mean that Rails is better. Also, we are planning for the future here |
| 21:11 | quidnunc | or is near the maturity of Rails. Not that that is praise for ruby |
| 21:12 | slashus2 | Does compojure have a website yet? |
| 21:14 | Roland_LW | slashus2 compojure.org is not up yet |
| 21:37 | spooon | I understand why seqs need the new rest method in order to be fully lazy, but why keep next around on the ISeq interface? |
| 21:38 | spooon | Can't next be implemented in terms of rest? |
| 22:34 | arkady | been trying some basic socket IO, is there a class like BufferedReader which doesn't block on readLine if no data is available? |
| 22:36 | slashus2 | arkady: Have you looked at java.nio ? I think that stuff is for non-blocking IO. I don't know if that is what you are looking for. |
| 22:38 | arkady | slashus2: seen that, looks like overkill |
| 22:39 | arkady | slashus2: shouldn't bufferedreader return 'nil' if it doesn't have a proper line? |
| 22:39 | Chouser | wouldn't you have to poll it then? :-/ |
| 22:39 | Chouser | Clojure works nicely with threads -- you don't want a separate thread blocking on the socket? |
| 22:40 | arkady | yeah, that will probably work |
| 22:41 | arkady | does clojure have a special thread construct, or do I have to use the Thread class manually? |
| 22:44 | arkady | documentation is really rather scant |
| 22:46 | Chouser | for? |
| 22:46 | Chouser | everything? :-) |
| 22:47 | slashus2 | arkady: It is easy to create a thread because clojure functions implement runnable. |
| 22:47 | slashus2 | ,(.start (Thread. (fn [] (println "hello")))) |
| 22:47 | clojurebot | nil |
| 22:47 | arkady | ah, right |
| 22:48 | arkady | thanks. just figured there was some "proc" syntax or something |
| 22:51 | slashus2 | ,(.get (future (println "hello"))) |
| 22:51 | clojurebot | nil |
| 22:58 | Chouser | prinln returns nil, even in the future. |
| 22:58 | Chouser | println |
| 22:59 | slashus2 | 1000 years in the future. |