5:46 am i missing a quote or unquote or something? i guess it has to do with the double backquoting within the defevent macro, but i cant find the error. and it only tells me it cant resolve actionPerformed. but i dont even want it to be resolved i guess, it should just take it as a symbol for the call to the with-event-listener macro

7:05 I created a github repo for small clojure utils. for now, I only have two functions in it though :P

7:24djpowell: hmm, I wonder if an implementation of "selection sort" would be useful for seqs. handy if you are going to call first on the sorted seq, or just get the first few elements from it, cause it wouldn't need to sort the rest of the list.

10:04cemerick: rhickey: and only sporadically, for that matter. Does c.l.Compile (or the stuff it hooks into) always load classfiles for each lib it's provided, or does it do so only when the corresponding source files have changed?

10:06rhickey: cemerick: compile should be a no op if nothing has changed, but possibly something is being loaded due to reference

10:24Chouser: rhickey: I don't even know how that works. Do they just waive the fees if they accept your paper, or do the fees start flowing the other direction?

10:25cemerick: rhickey: wwmorgan might have something for a lisp-focussed group, but I'd end up presenting something like "Integrating Clojure with JMS for Sane Scalability" or somesuch. I'd have to wear a poncho.

10:27cemerick: I was pretty shocked by the low rate, actually. $200 is nothing compared to most conferences.

10:28rhickey: cemerick: yeah, it's great, and if you've never heard Sussman or Moon et al - these guys are tops

10:28AWizzArd: cemerick: Never touched Jambi. I am a swing person so far, and not the happiest. For example just today I learned that one can not simply change the background color of a cell in a JTable. I hoped for something like (.setBackgroundColor my-table cell-x cell-y [r g b]). But instead one needs to provide a rendering method.

10:29Chouser: cemerick: that's a good point. Perhaps I should seize the chance. It's just a pretty long drive and big slice of time for a lark.

10:29AWizzArd: rhickey: if possible please let someone record you. Would be nice to have new Clojure vids online.

10:56cemerick: I don't think Jambi will ever work for us, just because of the difficulties (known and unknown) of having to track distributions for multiple platforms. That, and it's strictly impossible to deploy in the browser.

10:56AWizzArd: so, as I understand this lgpl stuff: if I use qt as a lib (jambi) I won't need to open my sources.

11:20hellask: AWizzArd: ok wasnt aware of that, I was mainly speaking from an amateur point of view on that matter, I have never made professional GUIs but for making an mp3player or something it was betetr than anythign else ive tried like tkinter and the c++ suicide winapi

11:21clojurebot: Sets the value of atom to newval without regard for the current value. Returns newval.; arglists ([atom newval])

11:21AWizzArd: hellask: and about 30 minutes or so ago cemerick also mentioned that it is not trivial to have a text pane in which you want to change the color and font size of specific words/letters. All very evil.

11:23cemerick: AWizzArd: just to be clear, it's *easy* to set an arbitrary style over a range of text as a single operation -- however, in order to support interleaving document types, embedded images and other media, and support all of the usual interactions you'd like to have in such a document, you're in for a load of pain

11:24Chouser: AWizzArd: line 62 of that gist sets the cell renderer so that each row's foreground color depends on a particular value for that row.

11:24AWizzArd: Chouser: yes thanks. Around line 62 it starts. You have to provide your own renderer!

11:24cemerick: using the UI toolkit for stuff like that is the wrong approach anyway, though the mere existence of javax.swing.document leads people to attempt it anyway. A useful web pane component should take care of all of that, as well as integration with your application's custom functionality.

11:24 Of course, I didn't know all these things when I wasted 6 months of my life on document model stuff back in 2001/2002. :-/

11:25clojurebot: java.lang.Exception: Unable to resolve symbol: future in this context

11:25AWizzArd: I just hoped that the designers of Swing would offer one simple method for doing so typical stuff. They must have known that people typically want to center Windows, change colors of table cells, or do what cemerick just described.

11:26 One can of course abstract this stupidity away and write ones own Clojure functions, but the fact that his is needed is what seems suboptimal to me.

11:27cemerick: AWizzArd: fundamentally, one has to remember that Swing is always doing all of its own drawing -- so, anytime you want to diverge from what you can get right out the box, you're going to have to do your own drawing, too

11:28cemerick: The other tradeoff is to use SWT or QT, where there's a lot more that's provided in terms of widgets, but it's also a lot more difficult (last I experimented) to do something outside the box.

11:29 and you're also dragging along native libs in any other scenario, so it's a tricky balancing act depending on your requirements

11:44AWizzArd: Is there an easier way than (into {} java-hash-map) to cast a java.util.HashMap into a clojure.lang.PersistentArrayMap? If I have an array of HashMaps and want to do (map to-clojure-hashmap array-of-java-hashmaps)

11:48jbondeson: Chouser: Qt does go down to native, and also I believe that you can test to see if your platform supports certain Qt features before use so you can go from flashy Win/OSX to non-flashy Handheld

11:55AWizzArd: so, partition-by can not be used if I have a vector of 200 hashmaps where each hashmap contains a k/v pair :type :some-type and where 6 different :some-types exist, and I just want 6 result lists, each containing data from the respective hashmaps, right?

11:58clojurebot: "([f coll]); Returns a sorted map of the elements of coll keyed by the result of f on each element. The value at each key will be a vector of the corresponding elements, in the order they appeared in coll."

12:06cemerick: rhickey: regarding the code size limitation from before -- I think it'd be very helpful if the compiler (or reader?) could emit an exception as soon as a too-large literal is encountered

14:13ayrnieu: at present you have a namespace that you can load and then ns/foo things, you can bring some of those things into your namespace, and you can bring all of those things into your namespace. I'd like a "bring useful non-polluting things into my namespace, and then still refer to ns/shortname"

14:23Chouser: In error-kit I'm currently marking things private, but if I need to get to them (say from a macro) I use cgrand's idea of @#'error-kit/private-thing

14:25jbondeson: Chouser: i wonder if that's an officially sanctioned work around, after cgrand said that i also used it for some things that i needed, but i'm worried it'll be changed to respect the privacy of the ns.

15:35jbondeson: kotarak: we cull those kinds of people so they don't spread.

15:36Chouser: I'm barely following the test_clojure code, so I don't feel I'm in a position to evaluate or apply patches there. I would hope Stuart Sierra or Stephen Gilardi would handle your patches for you.

15:37 fanda: or if Rich gives you write permissions, then you can do it yourself.

15:39kotarak: jbondeson: That's a pity. You are missing some bright heads, then.

15:58technomancy: ayrnieu: it makes sense that it's part of contrib (if shipping clojure itself without tests in the first place can be said to make sense), but it seems odd that it lives under src/ and gets shipped out with every app that makes use of contrib.

16:00danlarkin: let's say I want to create a list of the return values of a list of functions. except one of the functions returns a two-vector but I want to insert both of the items into my list separately, not the two-vector itself... anyone have a better way than looping through and checking the return type?

16:00ayrnieu: add-watcher on futures would be odd, though, because futures only 'change' once.

16:13clojurebot: Returns an array with components set to the values in aseq. The array's component type is type if provided, or the type of the first value in aseq if present, or Object. All values in aseq must be compatible with the component type. Class objects for the primitive types can be obtained using, e.g., Integer/TYPE.; arglists ([aseq] [type aseq])

16:53mofmog: if i can do something in java, i should be able to do the same in clojure correct? Say there was tutorial to make a java facebook app. If I knew decent amount of clojure, translating the java code to clojure would be relatviely painfree, albeit not idiomatic clojure

16:54jbondeson: WizardofWestmarc: let it lapse, was never going to get it done. something tells me it will still be available if i get it again...

16:54cooldude127: mofmog: i think for the most part, although if you're not doing idiomatic clojure, it probably wouldn't be all that fun

18:23clojurebot: *print-level* controls how many levels deep the printer will print nested objects. If it is bound to logical false, there is no limit. Otherwise, it must be bound to an integer indicating the maximum level to print. Each argument to print is at level 0; if an argument is a collection, its items are at level 1; and so on. If an object is a collection and is at a level greater than or equal to the value bound to *print-leve

18:40jbondeson: aplmaus: i believe that gen-class will give you perfectly normal java classes (not a java expert), the only caveat would be how heavily you lean on the java lang data structures in your interface