0:25 semperos: I'm just thinking that there may be some defaults already loaded into the 'user namespace previously, which you forgot to wipe, or from leiningen/whatever you're using for your swank server

0:49lobotomy: my first version had a make-piece with a {:pre} that checked if the given things are strings, if so turned them into edges, and checked if they're valid for a piece, but that just seemed ugly

0:49tomoj: lobotomy: .. so you aren't just using multimethods and records because it looks sorta like some OOP you're used to, are you? :)

0:50lobotomy: well, the previous version of this program i wrote in java, so hm... ;)

0:53lobotomy: well, the use case is basically that i want to be able to say (make-piece ["00011" "10100" "00110" "00110"] "purple" "P1") and have it verify that the edges (or strings, whichever) match each other

0:53brehaut: lobotomy: and if you have a fixed set of types that you need to coerce, you dont need late bound polymorphism, you can just use case (or other cond family form)

0:53tomoj: why not just use the ints themselves, (filter #(<= 0 % 31)) them (or throw an exception if you insist..)

0:53lobotomy: tomoj, not sure how things would be clearer without Piece or Edge at all?

0:53 i mean, at this point probably, but once i add the other zillion lines of stuff

2:28 I was thinking in 2d with a bad analogy, not going to understand this problem tonight :)

3:33Cozey: Hello. How to run a multi module (reactor build) from leiningen's maven integration? Is it possible? I have a project A (lein) depending on B (maven) and I'd like to quickly update A's loaded dependencies (into lib/) when B changes.

4:20peteriserins: (print) does not print to the screen in uberjar; should I have used Java prints instead?

10:19dpritchett: I went to #python and #django asking for advice on how to re-import classes loaded with "from myapp.models Person" without having to restart the interpreter and the unanimous response was "you have to restart your interpreter".

12:19jweiss: can anyone suggest where i might find an algorithm that does the following - traverses a tree with n threads, such that no child node is processed before its parent? seems simple enough, but i can't seem to find one that honors the restriction and uses the threads efficiently.

12:19technomancy: zvrba: slime could theoretically be tied into type hints

12:20 nobody's bothered yet since the compiler's going to get chucked out and rewritten

12:23joly: jweiss: if a breadth-first search is ok, you could put make a nodes-to-visit queue and have the individual threads pull from it. As long as the node is processed before you put the children into the queue, it should work

12:25jweiss: joly: yeah, that's the problem, i can't just queue up all the nodes at once. so how do i have the main thread wait to queue up the children? once the tree branches i'd need multiple threads doing queueing also

12:26 the only (ugly) solution that would actually work that i came up with is to queue up all at once, and have the worker thread just re-queue an item if its parent hasn't been processed

12:27joly: jweiss: the main thread would put the first item on the queue, any worker would retrieve it, process it, then put its (multiple) children on the queue.

12:27hiredman: why not have the thread that processed a parent queue up it's children?

12:28 e.g. put the root on a work queue n threads are pulling from, one thread pulls it off processes the root, and places the immdediate childred on the queue for work, rinse and repeat

14:25devn: dnolen: I was talking to a Scala guy at my Clojure meetup last night and he was talking about Scala's type system and I mentioned core.logic => ad-hoc type systems. I didn't have sufficient ammunition to sell him on the idea, so I'm curious if there's a blog post or a writeup somewhere that I could give to him.

14:26 Then again, I might totally misunderstand the aims of core.logic, I just remember that being brought up at some point.

14:29dnolen: devn: there is plenty of prior art - Typed Racket, H-M in Prolog, Qi/Shen, so to me it's not a matter of possibility, just time and interest

14:30 however it also my experience that most FP people don't understand logic programming and can't see the relationship between their type checker and logic programming.

14:31 not language implementors / researcher of course, but the users.

14:31devn: dnolen: *nod*, so, I'm sure you've thought about this. Can you imagine a way to abstract the knowledge of logic programming in a way that would provide the benefits without the learning curve?

14:38jweiss: i didn't. i used zippers when my app was single threaded, now i'm trying to make it multithreaded, so just confirming that i probably shouldn't keep using zippers

14:39 i could use refs but the nature of my app is such that i don't want to repeat transactions

14:39 and i shouldn't have to since there will never be conflicting changes

14:44dnolen: devn: part of my interest in putting core.logic together was/is to get people excited about exploring Functional/OO/Relational concepts from the same language. Besides Mozart/OZ I'm not aware of another language that lets you do this so seemlessly.

14:48 well non-Lisps, you have Allegro Common Lisp and Racket of course.

15:24dnolen: devn: I'm definitely planning on revisiting the idea at after the pattern/predicate stuff is sorted. as with the pattern/predicate stuff there's a higher chance of success if people are willing to help contribute ideas/code to help push the project along. hopefully next year around this time there'll be something to show for.

15:36netrealm: Question, how would I get "cake repl" to switch to my project's namespace automatically?

15:38amalloy: netrealm: you can put a :startup form in your project.clj

15:41user317: is there any way to do that kind of intraspection from the interpreter?

15:41lazybot: ⇒ "([f coll] [f val coll]); f should be a function of 2 arguments. If val is not supplied, returns the result of applying f to the first 2 items in coll, then applying f to that result and the 3rd item, etc. If coll contains no items, f must accept no arguments as wel... http://gist.github.com/1123583

17:37hiredman: I've looked a little at throwing away the classloader used to load the clojure runtime that runs in the sandbox, and using a new instance of the clojure runtime every time but I have gotten it to work yet

23:11 Hi everybody. For Seesaw, there are some system-wide settings that a user of a Seesaw-based app might like to override, most notably the look & feel. I was thinking of having a ~/.seesawrc.clj file or something where they could put that stuff. Is that a dumb idea? Should I just stick with Java system properties or a properties file?

23:36st3fan: what does it mean if my macro fails with "Can't let qualified name"