#clojure log - Sep 25 2011

The Joy of Clojure
Main Clojure site
Google Group
List of all logged dates

0:30 shep-home: jli: No, it blows up with "No matching field found: getRoot for class clojure.lang.Var"

0:32 duck1123: are you using Midje?

0:40 shep-home: duck1123: no, just clojure.test

0:40 Just starting out with Clojure, so I wanted to saty "close to home" so to speak

0:40 stay*

0:40 duck1123: Ok, I had a similar issue using Midje with 1.3

0:40 shep-home: What was the solution there?

0:41 duck1123: I had to patch the code in that case, but Midje never claimed to work with 1.3. clojure.test should just work

0:41 Are you using lein test for this?

0:44 shep-home: duck1123: that's my stopgap, running it from the command line

0:44 I was trying to use the emacs clojure-mode magic run tests

0:44 lein test works fine

0:45 (although lein interactive test has all sorts of fun errors)

0:45 basically, i just want to get my tests to run faster :-)

0:45 within emacs would be ideal

0:45 interactive would be good

0:45 duck1123: I haven't had much luck with Clojure test mode

0:46 shep-home: :-(

0:46 that's a shame

0:46 it seems so close to wonderful

1:00 patchwork: anyone know where ceil went?

1:00 not clojure.contrib.math

1:01 duck1123: shep-home: Ok, I just confirmed I'm getting the same thing

1:07 shep-home: changel line 192 in clojure-test-mode.el from .getRoot to .getRawRoot

1:15 amalloy: patchwork: ##(Math/ceil 3/2)

1:15 lazybot: ⇒ 2.0

1:18 shep-home: duck1123: thanks!

1:19 One hope I have from learning clojure is that one day Ill be able to actually read lispy code :-)

1:20 duck1123: Of course, now that I know what to look for... https://github.com/technomancy/clojure-mode/pull/33

1:58 patchwork: amalloy: thanks!

3:08 eliOcs: hihihi

3:09 ikr: Hi there! Can nyone help me with that? http://stackoverflow.com/questions/7544146

3:13 amalloy: ikr: see my comment

3:18 and by the way, "Out of memory" is rather misleading, since it implies heap; when you get a stack overflow, say you got a stack overflow

3:21 ikr: amalloy: Cool! Thanks!

3:28 rata_: how do I read a binary file and put it in a byte array in clojure 1.3? (in 1.2 there was clojure.contrib.duck-streams/to-byte-array)

3:36 michaelr525: hey

5:14 Blkt: good day eveyone

5:21 kjeldahl: Anybody know workarounds for Emacs paredit refusing to activate with a "Unmatched bracket or quote" error message in a file with perfectly valid Clojure code?

5:22 For the record; it works fine in another buffer with some other Clojure source... The one that fails is my unit test, which runs fine.

5:28 michaelr525: i have no idea

5:28 but i would be glad to have a link to a good intro into paredit

5:34 kjeldahl: I think I nailed it. My boilerplate paredit activation code in dot-emacs set up paredit for other modes as well, including lisp, lisp-interaction, scheme and emacs-lisp, and if I disabled those (which I'm not currently using anyway), it works fine in my clojure code.

5:34 Nailed a workaround that is, not the cause. :-)

6:10 nybbles: hey I'm sure people have probably seen this error msg before when running leingen: 1 required artifact is missing.

6:10 for artifact:

6:10 org.apache.maven:super-pom:jar:2.0

6:10 i have this problem ,trying to fix it :(

6:11 do these lines in my project.clj look correct?

6:11 :dependencies [[org.clojure/clojure "1.3.0"]]

6:11 :dev-dependencies [[org.clojure/swank-clojure "1.3.2"]]

6:11 not sure what else to check

6:12 fliebel: nybbles: Scroll up, the actual missing artifact is in the error as well.

6:13 I'm not sure why it always reports super-pom, but it's something else that is missing.

6:14 nybbles: fliebel: ahhhhh i see.. grr. looks like it's swank-clojure, do you know what version i should be using?

6:19 kjeldahl: 1.3.3-SNAPSHOT is the latest one on clojars

6:26 nybbles: kjeldahl: it didn't end up working until i manually ran the mvn command to install the swank-clojure jar (manually downloaded), even with version numbers that i found on clojars :| sucks.. dunno why it isn't working

6:44 kjeldahl: nybbles: Ok, good that you found a solution.

6:45 nybbles: kjeldahl: thanks, although it is basically using maven manually, i can get back to writing clojure :)

7:00 bsod1: wow, I've just solved "for science!" in 4clojure.. my code is bad though, I still can't get `functional way`

7:00 michaelr525: paredit-wrap-around with {[ doesn't work for me.. anyone knows how to fix this?

7:00 bsod1: congrats

7:04 kjeldahl: michaelr525: Exactly what are you testing? Seems to work fine here.

7:05 Also, it's paredit-wrap-ROUND at my end, not AROUND..

7:08 michaelr525: well (what |what) -> Hit M-[

7:08 Meta-[ is undefined

7:08 kjeldahl: ^^

7:10 kjeldahl: michaelr525: It's the same here. I was testing something else (marking, then pressing [ etc, but that's probably a different call).

7:10 michaelr525: thanks

7:11 hmm

7:11 the marking stuff is cool

7:11 although marking is tedious

7:12 kjeldahl: Agree.

7:15 michaelr525: This fixes it: (define-key paredit-mode-map (kbd "M-[") 'paredit-wrap-square)

7:16 Same thing with -curly instead of -square I guess.

7:21 michaelr525: great!! :)

9:21 shintaku: why is this false: (instance? java.lang.Runnable (#()))

9:22 while this is ture: (instance? java.lang.Runnable (fn []))

9:23 Chousuke: ,(#())

9:23 clojurebot: ()

9:23 Chousuke: because of that

9:23 what you meant is

9:24 ,(instance? java.lang.Runnable #())

9:24 clojurebot: true

9:24 shintaku: gotcha

9:35 stupid question: why have recur instead of just calling the function name? is it because clojure feels that tco is something the compiler shouldn't do?

9:35 danlarkin: tco isn't supported by the jvm

9:37 shintaku: yeah, but scala doesn't have this problem. i don't have to remember to use some special recur function. i just call the function name and the compiler takes care of the tco for me

9:37 ambrosebs: its a design decision

9:38 shintaku: i'm not sure i understand it

9:38 it seems to add complexity

9:38 right?

9:38 clojurebot: Equal Rights for Functional Objects is Baker's paper on equality and why it's impossible to define sensible equality in the presence of mutable data structures: http://home.pipeline.com/hbaker1/ObjectIdentity.html

9:38 shintaku: it's one more thing i have o remember

9:38 danlarkin: it is the way it is

9:38 ambrosebs: a benefit it that you are being explicit about tail position

9:38 it fails if it's not in tail position

9:39 shintaku: oh, it can fail?

9:39 that's nice

9:39 ambrosebs: i think so

9:39 shep-home: shintaku: i also think it's suggested to use sequence functions instead of recurring directly

9:40 when possible that is

9:40 raek: can scala optimize tail calls to other functions too?

9:40 shep-home: I've certainly seen recur fail if it's not actually in the tail

9:41 raek: clojure uses the JVM call stack for functions, so for TCO to work, the JVM must offer it

9:42 shintaku: raek: i haven't used scala that much to answer it and i also don't write recursive functions too often in it when i am using it

9:42 robermann: on page 145 of JoY there is an explanation of "why recur"

9:43 shintaku: great. i just bought that

9:43 raek: currently it doesn't, so clojure introduces 'recur' for self tail calls, which is the only case the clojure compiler can optimize

9:43 shintaku: thanks, robermann

9:44 robermann: It opens with "There’s no technical reason why Clojure couldn’t automatically detect and optimize recursive tail calls—Scala does this—but there are valid reasons why Clojure doesn’t."

9:45 shintaku: yeah, scala has to add annotations so you'll know when something isn't being tco'ed

9:45 i believe. again, it's been a while

9:45 raek: also, 'recur' can be used with 'loop'

9:47 so it has more uses than recursive function calls

9:51 khaliG: shintaku, yeah i'm with you on the 'too much to remember' - it's like learning c++ or something, there is so much to remember, but recur is actually cool once you get used to it, like many things

9:58 robermann: does anyone know if the .NET CLR allows

9:58 a general tail optimization?

9:58 just curious about it

10:20 LauJensen: Gents, Ive moved from Linux to OsX and I can't get slime up and running. Its basically the same emacs setup as on *nix, but for some reason the repl will eval "2", but not (+ 2 2) then it'll throw a reader exception. I've tried cake swank, lein swank from both Emacs and Eclipse. I've tried lein-swank 1.2.2 and 1.3.3-SNAPSHOT. Any ideas?

10:20 shep-home: LauJensen: what version of emacs?

10:21 LauJensen: AquaMacs 23.3.1, but it can't be related to the client since two different clients are seeing the same issue

10:21 shep-home: and do all the other versions match with your Linux setup?

10:22 LauJensen: Yes, an exact copy

10:24 shep-home: Hmm. I just set up (and still setting up) an environment

10:24 and it seems to be working

10:25 which isn't useful to you :-)

10:25 shintaku: thanks for the help earlier

10:26 LauJensen: shep-home: Did you follow a guide?

10:30 skelternet: the problem I had was that there were several old guides and things had changed just a little bit

10:31 shep-home: LauJensen: pretty much what skelternet said - I read a few and put pieces together :-\

10:32 I installed package.el, used it to install clojure-mode, slime

10:32 got inferior-lisp mode working (set the program to `lein repl`)

10:32 then used clojure-jack-in

10:32 robermann: this could help: http://groups.google.com/group/clojure/browse_thread/thread/986227536292502b/e735e9554eeabe17?show_docid=e735e9554eeabe17&pli=1 (check MarsiO's response)

10:32 LauJensen: Same her. Used my old config from nix. Tried various versions of slime… Its tricky to pinpoint where the breakage is. Logically I would say Swank itself

10:33 shep-home: im sure there were lots of extra steps in there

10:33 LauJensen: Worth a try robermann, thanks

11:20 IceD^: hey

11:21 trying to use lein here, can't install clojure 1.3 (also, sawnk-clojure autoinstalls clojure-1.2 for some reason)

11:21 any help?

11:52 denisw: is there a core function like "filter" which also returns a sequence of the filtered elements?

11:53 ambrosebs: the partition-by might be what you're after

11:53 I forget the details, there are other partition-* functions

12:00 denisw: ambrosebs: never mind found what I was looking for, group-by

13:07 jli: does the jvm get all the memory that it can allocate to programs on startup, to save from continuously calling malloc or something?

13:07 pyr: anybody using pinot ?

13:09 it keeps failing on missing goog.require files

13:12 actually it might be cljs-watch acting up

13:14 so if anybody's getting goog.require "namespace never provided" errors for namespaces that are there, i'm all ears

13:14 (with cljs-watch i mean)

13:33 ah, think i got it, seems as though it cannot get to the code that's in goog-jar

13:52 dbushenko: how to use new modular contrib?

13:52 for instance, I want to include tools.cli in my project

13:52 how to do that?

13:53 where I can see the current version of it?

13:54 Bronsa: dbushenko: http://github.com/clojure/tools.cli/blob/master/pom.xml

13:54 0.1.1-SNAPSHOT

13:55 dbushenko: Bronsa, thanks!

13:58 Bronsa, [org.clojure/tools.cli "0.1.1-SNAPSHOT"] --artifact missing

13:58 redline6561: Any overtone hackers about?

14:01 khaliG: what's *agent*?

14:06 Bronsa: dbushenko: then go with 0.1.0

14:06 probably the snapshot hasnt been pushed to maven

14:06 dbushenko: Bronsa, yep, you are right. 0.1.0 just works

14:07 how to test whether the variable is a simple or compound value?

14:09 khaliG: dbushenko, coll?

14:10 dbushenko: khaliG, yep, but is there one command like (not (coll? x)) ?

14:10 khaliG: dbushenko, (complement coll?) :P

14:11 dbushenko: :-D

14:11 ok, thanks

14:33 devn: redinger: what's the question?

14:33 err redline6561*

14:33 looks like he logged off :\

15:01 LauJensen: M-x clojure-jack-in fails saying "sh: line 1: lein: command not found", why does it do that when 'lein' in on PATH and works from the terminal?

15:01 srid: (twitter's) storm uses pallet? i thought pallet had no real-world uses yet.

15:03 antoinem: i had the same problem than LauJensen

15:03 LauJensen: antoinem: Did you fix it?

15:03 antoinem: nope, just had it today

15:04 i'm interested in finding a solution

15:05 LauJensen: guess I'll just hard code the full path into the .el

15:10 Raynes: LauJensen: It lives! I haven't seen you around here in forever.

15:10 LauJensen: Raynes: Yea Ive been busy doing stuff :) How have you been?

15:10 Raynes: Fantastic.

15:11 LauJensen: Are you at the Conj?

15:11 Raynes: Speaking, even.

15:12 LauJensen: About?

15:12 Raynes: Clojail.

15:12 And sandboxing in general.

15:13 LauJensen: Okay great, looking forward to seeing the video

15:13 Raynes: :)

15:20 LauJensen: at long last I have a god damn slime repl on osx

15:26 antoinem: LauJensen: i ended up in setting it as a config var, like the m2 and jars stuff, works for me too

15:26 LauJensen: k

15:26 We really should pay some on to make a simple script for nix, windows and osx

15:27 antoinem: yep

15:28 LauJensen: technomancy: want some money? :)

15:32 amalloy: kjeldahl: you can mark things in a less-tedious way by pointing at the start of your form and then pressing C-M-SPC a few times

15:35 jli: it doesn't do that by default, but you can force it by setting the minimum and maximum heap sizes to be the same

15:36 hugod: srid: http://blog.gogrid.com/2011/02/08/agile-development-at-gogrid-with-pallet-and-jclouds-presentation/

15:37 and they recently took on a clojurian to support their pallet usage

15:38 khaliG: clojurian? why not clojurer?

15:43 kjeldahl: amalloy: Thanks for the tip; works great!

15:59 TimMc: khaliG: "conj"urer!

15:59 khaliG: TimMc, i like it :)

16:01 gtrak: ibdknox: how do you get cljs-watch to ignore the temporary .#filename.cljs files that emacs creates? compiling works sporadically b/c of that

16:01 ibdknox: hm

16:01 gtrak: it should ignore them

16:02 This line should prevent them: (and (not= \. (first fname)) (.isFile f) (= fext ext))))

16:03 thorwil: given a map m with string keys, is there a better way to get to a map with keywords? (reduce #(assoc %1 (keyword (first %2)) (second %2)) {} (vec params))

16:03 ibdknox: gtrak: ah, I bet the compiler itself is picking them up

16:03 gtrak: ibdknox, http://pastie.org/2590695 I'll double-check everything

16:03 ibdknox: yeah

16:04 that's the compiler choking

16:04 thorwil: arg, where s/m/params/

16:04 ibdknox: the same would happen if you just used the compiler directly

16:04 gtrak: hmm... but those files are short-lived

16:05 i guess they get created on save and immediately deleted?

16:05 ibdknox: I guess so

16:05 I don't use emacs :)

16:06 is there a way to make the temp files live somewhere else? vim let's you put them in a central place so that things like that don't happen

16:06 gtrak: hmm... not sure, emacs noob here

16:06 amalloy: thorwil: depending how much you care about performance, clojure.walk has keywordize-keys or something like that

16:07 ibdknox: in any case, this is something that the compiler should handle gracefully

16:07 gtrak: can you create a jira ticket?

16:07 amalloy: everything in clojure.walk is notoriously slow, and is no longer maintained afaik

16:07 gtrak: yea, I think so

16:09 thorwil: amalloy: readability is more interesting here. but is performance reason for or against my solution?

16:09 gtrak: ah, ibdknox, the file's created on a change, and deleted on save

16:10 amalloy: thorwil: well, your solution is a bit illegible

16:10 gtrak: so the compiler has enough time to pick it up and expect it to be there

16:10 amalloy: i would write (into {} (for [[k v] m] [(keyword k) v]))

16:10 ibdknox: amalloy: there's a (juxt keyword identity) waiting to happen there :-p

16:11 amalloy: ibdknox: oh man. you got me. i am shirking

16:11 wait, no

16:11 ibdknox: I guess not

16:11 amalloy: (juxt (comp first keyword) second) doesn't really have the same ring

16:11 ibdknox: it would work, it'd just be ugly

16:12 yeah

16:12 amalloy: er, and swapping around the comp

16:12 brehaut: amalloy: thats a good use for *** ;)

16:12 amalloy: indeed

16:12 TimMc: ?

16:13 ibdknox: ***?

16:13 ,(doc ***)

16:13 clojurebot: I don't understand.

16:13 brehaut: (defn *** [& fs] (comp vec (partial map #(%1 %2) fs)))

16:13 amalloy: brehaut: man, it's still clearer to describe *** by example. ibdknox, TimMc: it's a haskell function i've recently been jealous of

16:13 brehaut: (into {} (map (*** keyword identity) {"a" "b" "c" "d"})) ; => {:a "b", :c "d"}

16:14 thorwil: amalloy: i wasn't aware into accepts that format. thanks for this indeed much more readable version!

16:14 amalloy: haskell's juxt is named &&&, and they also have *** which is similar

16:14 or, well, related anyway

16:15 brehaut: technically i think we have actual *** in conduit

16:15 amalloy: brehaut: now that 1.3 is released, there's a shoot-on-sight order for people who say "contrib"

16:15 thorwil: good night! :)

16:16 brehaut: amalloy: huh?

16:16 TimMc: amalloy: sexpbot needs to have an auto-response for that

16:16 brehaut: amalloy: did you misread conduit as contrib?

16:17 amalloy: brehaut: no, it's just that contrib isn't compatible with 1.3

16:17 Raynes: brehaut: Dyslexia.

16:17 amalloy: and you're supposed to use the smaller libs now

16:17 oh

16:17 man, i did

16:18 * amalloy wasn't even really aware conduit existed

16:18 brehaut: its jim duey's arrows lib

16:18 clojurebot is powered by it

16:18 Raynes: clojurebot is powered by the cries of children.

16:18 gtrak: ibdknox: it's not really a bug with the compiler, not sure what I would write in the ticket... the compiler should ignore files that disappear?

16:19 ibdknox: gtrak: the compiler shouldn't pick up files that start with .

16:19 gtrak: ah, will do

16:19 brehaut: amalloy: see also http://intensivesystems.s3-website-us-east-1.amazonaws.com/writings.html?from=@

16:20 Raynes: brehaut: That address isn't nearly long enough.

16:21 srid: hugod: thanks

16:21 brehaut: Raynes: lol

16:21 gtrak: ibdknox: meanwhile, I can set emacs to not do that in the same directory as the file

16:21 ibdknox: gtrak: good deal :)

16:22 Raynes: ibdknox: Your name infuriates me. It has no rhyme or reason. You're too spontaneous. Too 'cool'.

16:22 ibdknox: I think we need a description repository of maintained libs

16:23 Raynes: Sorry Raynes, I only talk to the hip people.

16:23 haha

16:23 :p

16:23 Raynes: :)

16:23 ibdknox: It's to combat "Chris"

16:23 which is such a boring and common name

16:24 Raynes: Man, my name is Anthony.

16:28 amalloy: Raynes: anthony is more exciting than chris. you can't really have the high ground here

16:39 ibdknox: lol

16:39 I always wanted to be Kael or Dade

16:59 khaliG: this is stuart's flipper demo code, http://paste.lisp.org/display/124866 - took ages but i think i understand how the calculate function works, it's a kind of weird loop using agents, isnt it?

17:01 gtrak: ibdknox: I went ahead and made a patch http://dev.clojure.org/jira/browse/CLJS-82?focusedCommentId=26863&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_26863

17:03 khaliG: my question is, is that code idiomatic and what I ought to be producing? to me it seems very hard to understand :/

17:03 Raynes: chouser: FYI, ibdknox thinks your name is boring.

17:07 khaliG: hm actually it's very elegant and nice

19:25 nybbles: does anyone know how to make a parameter list that takes a single optional argument (and provide default value if it is not supplied)?

19:28 TimMc: nybbles: Well, you can make a function that has two arities.

19:29 nybbles: TimMc: i guess so, but more typing than just saying &optional (blah 0).. but ok, that makes sense

19:30 TimMc: nybbles: Alternatively, allow nil for the second argument and replace it with the default value.

19:30 nybbles: TimMc: you mean do like a (if (nil? blah) 0 blah)

19:30 that works too

19:30 TimMc: yeah

19:30 nybbles: cool.. thanks

19:31 TimMc: Depends on whether nil is an otherwise valid value, of course. :-)

19:31 darrenaustin: or you might be able to use (or blah 0)

19:31 TimMc: Right, that's a good shorthand if false is also an invalid value.

19:38 nybbles: darrenaustin: but you can't use (or blah 0) in the parameter list, right?

19:41 amalloy: nybbles: right

19:41 nybbles: amalloy: thnks

19:42 amalloy: you can do something similar if your function takes a map instead of positional args, though

19:43 nybbles: amalloy: yea i saw some stuff on the internet about that.. hm, but it would be nice to not bother with all of that if i'm just trying to set a counter to start at a user-defined value, instead of the default value of 0..

19:44 the hash map as parameters thing will be useful in other places though

19:51 cark: hello all

19:52 nybbles: cark: hello

19:52 cark: due to the release of 1.3, i'm trying to upgrade my workflow to be more in line with the comunity, using lein, clojure-jack-in in emacs and so on

19:53 wo i upgraded clojure-swank as well

19:53 so*

19:53 and now i have "^M" behind any printout in the slime repl

19:53 also it messes with the completion-mode

19:54 so that i can't get the mini-help window anymore due to all the ^M

19:54 so I'm pretty sure this is a DO/UNIX end of line problem

19:54 DOS/UNIX*

19:54 as i'm under window

19:55 did anyone have the same kind of problem ? or could someone give me a hint at how to correct this ?

19:55 i'm guessing the problem resides inside swank

19:56 or maybe *god help me* in slime

20:01 * TimMc has never attempted to develop Clojure uner Windows.

20:02 TimMc: Are you using Cygwin or something?

20:02 cark: hehe well i tried cygwin, but then you get all kind of classpath problems

20:02 * nybbles thinks paredit is awesome

20:02 nybbles: cark: sorry no experience with clojure on windows :(

20:03 cark: as java cannot see the cygwin file system

20:03 well i should have lots of experience with it ...

20:03 /cry

20:04 amalloy: i did a tiny bit of clojure using cygwin. it seemed to work fine at the time, but this was about a year ago

20:05 cark: were you using cygwin's emacs ?

20:05 amalloy: no. god no

20:05 don't do that

20:05 cark: so what part of cygwin were youa ctually using ?

20:05 amalloy: bash to start my repls and such

20:06 i wasn't using slime yet

20:06 cark: mhh and you had no classpath issues ?

20:06 amalloy: no, lein just dealt with it

20:07 cark: and you were using a jvm installed in the windows part ?

20:07 amalloy: or maybe this was back before i used lein too? i don't recall

20:07 yes

20:07 cark: well under cygwin lein will pass paths that are within the cygwin file system

20:07 which java cannot reach

20:08 so i giuess that yes, you were not using lein =)

20:08 amalloy: nonsense. you can use lein.bat instead of lein.sh

20:08 and i imagine it works

20:08 cark: well i spent a couple hours yesterday trying to make it work =P

20:09 though i'm no cygwin guru

20:18 ah looks like the problem is clojure itself

20:18 2.23 Newline outputs platform-specific newline sequence

20:19 which leads to a clojure specific question : how may i change the way clojure outputs newline ?

20:27 clojure.core/system-newline is ^:private

20:27 =(

20:28 nybbles: does anyone ever have problems with running clojure-jack-in in emacs.. then having to close the REPL.. then having trouble running clojure-jack-in again?

20:29 cark: your swank is still running

20:30 nybbles: cark: pretty sure i killed that buffer.. ok well, killed it.. trying again

20:30 cark: i mean, the java process running swank is still running

20:31 usually it's best to leave the slime-repl with ", q"

20:31 nybbles: cark: ah right

20:31 oh ok, i always use "slime-quit-lisp"

20:31 cark: hum should be the same =P

20:32 nybbles: cark: does clojure-jack-in take a long time to start up the slime repl for you?

20:32 cark: yes

20:32 nybbles: it does for me, seems to be printing out a long file into *swank* buffer

20:32 cark: it's "downloading" slime

20:32 nybbles: ah ok

20:33 hmmmmmm that sucks :|

20:33 yea ',q' has the same problem

20:33 strange

20:34 cark: must be very annoying =)

20:34 nybbles: yes!! X-(

20:34 very disruptive

20:41 TimMc: ,(prn-str)

20:41 clojurebot: "\n"

20:42 TimMc: cark: Why do you need to change what newline sequence is used?

20:42 cark: because the windows newline is causing all kind of problems in emacs

20:47 so here's how i fixed it : inside the user.clj, (ns clojure/core) (def system-newline "/n")

20:55 nybbles: has anyone gotten clj-stacktrace to work with slime?

20:55 it looks really pretty in the normal clojure REPL.. doesn't seem to work for me in the slime repl

20:56 amalloy: i don't know if the slime repl supports ansi colors. i guess it might

20:56 cark: didn't try it yet

20:57 nybbles: hm ok

20:58 cark: getting so close to be able to work again ... each time a new clojure version gets out, that's like 4-8 hours lost

20:58 that's why i'm all against new versions !

21:06 nybbles: hmmm anyone know what happened to clojure.contrib.trace?

21:06 or an alternative to it..

21:07 cark: https://github.com/clojure/tools.trace ... nothing there yet

21:08 nybbles: cark: maybe they are just starting to split it out.. i've seen posts online talking about it

21:08 like from 2010

21:09 cark: maintainers may have disapeared too

21:10 TimMc: amalloy: Could sexpbot respond to ".* what happened to (clojure\.)contrib.*" with a link to the contrib "diaspora" page?

21:11 amalloy: TimMc: you could write a plugin for it, but clojurebot is already better at that sort of thing

21:11 TimMc: amalloy: Also "where did ... go" and "where ... went"

21:11 amalloy: where did contrib go?

21:11 dang

21:11 TimMc: :-)

21:11 amalloy: ~what happened to contrib

21:11 clojurebot: Huh?

21:11 TimMc: ~contrib

21:11 clojurebot: contrib is http://github.com/richhickey/clojure-contrib/tree/master

21:11 TimMc: meh

21:11 amalloy: i know he has that in there somewhere

21:15 tomoj: clojurebot: where did contrib go?

21:15 clojurebot: well... it's a long story: http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go

21:16 tomoj: guess you have to address him

21:16 amalloy: TimMc: maybe .*contrib.*\?

21:16 ~rimshot

21:16 clojurebot: Badum, *ching*

21:17 cark: also many ppl refer to these as c.c.sql

21:17 (for instance)

21:31 nybbles: does anyone just use "lein swank" and then "M-x slime-connect" to get a repl in SLIME?

21:31 i tried doing this.. SLIME makes the connection.. it tells me to hack and be merry, but no *slime-repl* buffer.. argh

21:33 amalloy: nybbles: i do

21:34 nybbles: amalloy: did you run into the problem where the REPL just doesn't show up?

21:34 amalloy: no

21:34 nybbles: i have *slime-events*, but no *slime-repl*..

21:34 hm

21:37 TimMc: clojurebot: where did clojure.contrib.foo go?

21:37 clojurebot: see swank

21:38 TimMc: ...

21:38 nybbles: yes, awesome, fixed

21:46 scottj: nybbles: had you not installed slime-repl?

21:47 nybbles: scottj: no, i hadn't :(

21:47 i was using the SLIME straight from git before

21:47 but was running into problems, so i switched to the package.el one

21:48 maybe SLIME from git comes with repl.. or at least clojure-jack-in starts the repl without me installing slime-repl

21:48 scottj: probably both

21:49 slime-connect is nice cause you can have multiple connections open at once and switch between them. perhaps you can clojure-jack-in multiple times and switch between them, not sure

21:53 nybbles: scottj: ah multiple repls.. with nrepl.. would be soooo awesome

22:17 adam__: hello

22:18 i have defined my clojure program as a java class (ns something.that)

22:18 how do I create a new instance of it from within the program?

Logging service provided by n01se.net