2009-07-06
| 00:23 | hiredman | lisppaste8: url? |
| 00:23 | lisppaste8 | To use the lisppaste bot, visit http://paste.lisp.org/new/clojure and enter your paste. |
| 00:24 | lisppaste8 | hiredman pasted "adapt" at http://paste.lisp.org/display/83084 |
| 00:26 | duncanm | interesting implementation |
| 00:27 | hiredman | it's one of those sort of inbred things |
| 00:27 | slashus2 | You produce interesting implementations genetically? |
| 00:27 | hiredman | if I've written and rewritten that a few times never really satisfied |
| 00:28 | hiredman | slashus2: hah, no |
| 00:28 | hiredman | I think previously I tried have the first arg to the function a keyword naming the method called |
| 03:16 | Raynes | I'm pleased to announce I'm rejoining the Clojure community. I'm dedicating the entirety of tonight to re-learning Clojure as much as possible. Some of you might be pleased to know, I'm using emacs now. ;) |
| 04:10 | slashus2 | Raynes: What happened? |
| 04:10 | Raynes | slashus2: What do you mean? |
| 04:10 | slashus2 | Raynes: You are rejoining. Why did you leave? |
| 04:12 | Raynes | slashus2: I was learning Haskell. I never really left the Clojure community, I was just never really around, or doing anything. I haven't touched Clojure in over 2 months, and I hadn't really written bundles of code then. I've forgotten a lot of things, so I'm just going to re-read Programming Clojure. |
| 04:12 | slashus2 | Raynes: How was your foray with Haskell? |
| 04:12 | Raynes | Fun! Haskell taught me lot's of stuff. |
| 04:13 | Raynes | lots, even. |
| 04:13 | Raynes | And Slime really does rock doesn't it? I mean, everyone told me that, but I didn't think it was this awesome... |
| 04:14 | Lau_of_DK | Raynes: This morning I felt a disturbance in the force - I'm pleased to see that Emacs has once again embraced you |
| 04:14 | Raynes | Lau_of_DK: I got wrapped up in Emacs thanks to Haskell. |
| 04:15 | Lau_of_DK | Should I learn Haskell? |
| 04:15 | Raynes | Totally, it doesn't hurt. :p |
| 04:15 | Lau_of_DK | Just dont want to waste my time |
| 04:15 | Raynes | It will likely influence how you program in Clojure, in good ways. |
| 04:17 | Lau_of_DK | kthxbye |
| 06:23 | AWizzArd | btw, is Joshua Choi also here? |
| 06:23 | AWizzArd | (author of fnparse) |
| 06:24 | AWizzArd | Or is any experienced fnparse user here? :) |
| 06:24 | arbscht_ | I don't believe I have ever seen him here |
| 06:25 | arbscht_ | I have used fnparse, but I won't guarantee my experience will be useful to you :) |
| 06:27 | AWizzArd | Ah cool, so I know someone who I can bug with a few (hopefully specific) questions. |
| 09:06 | ChrisPS | when you say: (require 'whatever) |
| 09:06 | ChrisPS | what does this really mean? |
| 09:07 | ChrisPS | as opposed to (use 'whatever) |
| 09:07 | Chouser | that means load the code for the 'whatever namespace either .. |
| 09:07 | Chouser | oh |
| 09:08 | Chouser | in both cases the code for the 'whatever namespace is loaded either from .clj or .class files compiled from .clj files |
| 09:08 | Chouser | when that's done you should have a "whatever" namespace with vars in it. 'require' is then done |
| 09:09 | Chouser | 'use' goes a step further and brings names from "whatever" into your current namespace, like the 'refer' function does. |
| 09:09 | ChrisPS | do you have to name the namespace in a specific way, in relation to where it is placed on disk? |
| 09:09 | Chouser | yes |
| 09:09 | ChrisPS | how? |
| 09:10 | Chouser | a namespace foo.bar.baz must be defined in a file name <src>/foo/bar/baz.clj and <src> must be in your classpath |
| 09:10 | ChrisPS | and, do you have to include the directory where this 'whatever namespace resides in your classpath? |
| 09:10 | ChrisPS | ah |
| 09:10 | ChrisPS | ok |
| 09:11 | ChrisPS | guess I have ignored that bit |
| 09:11 | ChrisPS | working with files is such a drag |
| 09:11 | Chouser | it's very much like java expects it's .class files to be named |
| 09:12 | ChrisPS | such a long time since I've even sniffed on java |
| 09:13 | Chouser | I'm deeper into the JVM with Clojure than I ever was with Java |
| 09:19 | ChrisPS | hopefully I will try to settled a bit with Clojure, coming from a Smalltalk background, I've been waiting for the next great thing, or for the comeback of lisp |
| 09:19 | ChrisPS | but files are really a pain to work with |
| 09:20 | ChrisPS | we'll manage :-) |
| 09:20 | Chouser | you have an alternative code storage mechanism other than files? |
| 09:21 | Chouser | maybe that shows how little I know about smalltalk. :-) |
| 09:21 | ChrisPS | hehe |
| 09:21 | cemerick | Chouser: boy, are you in for it now :-) |
| 09:21 | ChrisPS | that's cool |
| 09:23 | cemerick | ChrisPS: it's honestly not so bad once you get over the initial hump. And, really, the fact that there *are* files makes interop with common tools a lot more pleasant. |
| 09:23 | cemerick | there's no way that the jvm or CLR could ever dump an image, for example, so it's hard to imagine what the alternative would be (given those backends) |
| 09:24 | cemerick | A clojure-on-smalltalk would be fascinating, though. |
| 09:24 | rhickey | cemerick: interesting |
| 09:24 | Chousuke | I wonder what Clojure-on-CL would look like :P |
| 09:26 | rhickey | Chousuke: the big benefit there would be fixnums, but there aren't a lot of CLOS libs to tap into... |
| 09:27 | cemerick | rhickey: I seem to remember seeing a jvm-on-smalltalk implementation a looong time ago (e.g. java 1.1.7-era), that had access to the smalltalk bits (for continuations and such, although I have no idea how that meshed with the memory model semantics). |
| 09:27 | Chousuke | rhickey: I suppose so. It'd still be an interesting experiment though. |
| 09:28 | rhickey | Chousuke: I don't think there are sufficient portable concurrency primitives to do that part of Clojure for anything other than one specific implementation of CL |
| 09:29 | Chousuke | hmm :/ |
| 09:30 | rhickey | LispWorks, my favorite, is not open source, but the only one I'd personally spend time on, next version promises true MT |
| 09:30 | Raynes | The way people talk about Ant had me scared last night as I embarked on what I figured would be a long journey into using Ant for simple build tasks. I was surprised to find that I figured it out by reading Clojure's build.xml file in 30 minutes, and actually had fun doing it. I still hate XML though. |
| 09:30 | rsynnott | rhickey: there is a slightly dubious multi-threading library which supports most which have any sort of multithreading at all |
| 09:31 | AWizzArd | rhickey: have you tried to use Jessrules together with Clojure? |
| 09:31 | rsynnott | (though the differing behaviour of different multiprocessing approaches might be a problem) |
| 09:31 | cemerick | Raynes: yeah, ant is pretty good. "It's the worst build system, except for all of the others." |
| 09:31 | Raynes | cemerick: :p |
| 09:31 | cemerick | rhickey: do you do much of any CL hacking anymore/ |
| 09:31 | ChrisPS | CLR? There is Clojure for .net as well? Dang, of course, its jvm...hmm |
| 09:31 | cemerick | ? |
| 09:31 | Raynes | Stuart should work on Lancet more. :\ |
| 09:32 | rsynnott | (Lispworks and Allegro use something akin to the python GIL, sbcl and ccl have proper multithreading but only on certain platforms, CMUCL has a weird cooperative thing) |
| 09:32 | ChrisPS | cemerick: I get your point with external tools, of course |
| 09:33 | rhickey | cemerick: not much CL anymore, no |
| 09:34 | cemerick | ChrisPS: to be clear, given a good REPL, you can have an excellent development experience. Note, there's no UI integration, so no exploration of widgets, but the clojure REPL is at least as good as CL's, which is to say it's pretty good. |
| 09:34 | Chouser | via a dynamic classloader, any particular IDE could choose to provide code storage of its own in any arbitrary way. |
| 09:35 | ChrisPS | cemerick: I am using emacs-slime |
| 09:35 | cemerick | I use enclojure (which provides a small jar you can drop into your application to get remote REPLs easily). Others use slime. |
| 09:35 | ChrisPS | any repl that is better? |
| 09:35 | ChrisPS | enclojure, looking into it |
| 09:35 | rsynnott | ChrisPS: the SLIME one is decent |
| 09:35 | cemerick | ChrisPS: probably a personal preference. Having a passable debugger and profiling tools in NetBeans is pretty compelling. |
| 09:36 | ChrisPS | I only need to master the namespace thing |
| 09:36 | ChrisPS | have you peeked at what the intellij-people are doing? |
| 09:36 | ChrisPS | or maybe it's just a thirdparty plugin |
| 09:36 | Raynes | ChrisPS: Last I checked La Clojure is pretty good. |
| 09:37 | Raynes | I used to use Enclojure, now I use Emacs+Slime. |
| 09:37 | ChrisPS | I love this french-thing |
| 09:37 | ChrisPS | or italian.. |
| 09:37 | ChrisPS | whatever |
| 09:37 | cemerick | ChrisPS: Looks promising, but not very comprehensive. Not being able to set up a remote REPL is pretty critical for what I do. |
| 09:38 | cemerick | actually, I'm not sure the intellij plugin even supports local repls, although I have to imagine that it will sooner rather than later |
| 09:38 | noidi_ | q |
| 09:40 | ChrisPS | La Clojure looks pretty, but I am determined to master emacs, and make it my best-friend (next to TextMate) |
| 09:40 | Raynes | cemerick: I think La Clojure supports local REPL's now. |
| 09:41 | cemerick | ChrisPS: dangerous road. Many a hacker have lost their souls to emacs. |
| 09:41 | Raynes | REPLs even. |
| 09:41 | Raynes | ChrisPS: Don't listen to him, surrender to the darkness. |
| 09:41 | ChrisPS | I lost my soul 20 years ago, and it was not due to emacs :-) |
| 09:42 | ChrisPS | I also lost some more of my soul to Microsoft Visual Basic 2.0 |
| 09:42 | cemerick | I personally had to check my best friend into a sanitarium because he would involuntarily shriek about losing his mark and such. |
| 09:42 | ChrisPS | hehe |
| 09:42 | ChrisPS | ctrl-space mark? |
| 09:43 | ChrisPS | haha |
| 09:43 | cemerick | yeah, it's what I came up with off the top of my head :-D |
| 09:43 | ChrisPS | so absurd |
| 09:43 | ChrisPS | look, he is a stack now |
| 09:50 | ChrisPS | how to get a list of all color-constants in emacs? |
| 09:57 | ChrisPS | M-x list-colors-display |
| 11:29 | ChrisPS | arg, I cannot get autocompletion to work |
| 11:30 | ChrisPS | in emacs |
| 11:30 | rsynnott | using slime? |
| 11:30 | ChrisPS | yes |
| 11:34 | ChrisPS | any idea for where to start looking? |
| 12:50 | amitava | I am trying out ahead of time compilation without much success |
| 12:51 | amitava | took clojure.example.hello.clj straight out of the docs |
| 12:51 | amitava | in ./clojure/examples/hello.clj |
| 12:51 | amitava | user=> (compile 'clojure.examples.hello) java.io.IOException: No such file or directory (hello.clj:1) user=> |
| 12:52 | Chousuke | amitava: di you add . to your classpath? :) |
| 12:52 | amitava | user=> (System/getProperty "java.class.path") "/Users/amitava/myapps/clojure/clojure-1.0.0.jar:/Users/amitava/tmp/clj/classes:/Users/amitava/tmp/clj/" |
| 12:52 | amitava | yes |
| 12:53 | Chousuke | hmm |
| 12:53 | amitava | user=> (System/getProperty "user.dir") "/Users/amitava/tmp/clj" |
| 12:54 | amitava | user=> *clojure-version* {:major 1, :minor 0, :incremental 0, :qualifier ""} |
| 12:54 | Chousuke | that ought to work then :/ |
| 12:55 | Chouser | that error is odd. I get: java.io.FileNotFoundException: Could not locate clojure/examples/hello__init.class or clojure/examples/hello.clj on classpath |
| 12:55 | amitava | see http://pastebin.com/m65d56531 for java stack trace |
| 12:55 | Chouser | ah! |
| 12:55 | Chouser | you need a "classes" directory |
| 12:55 | Chouser | it must exist and be in your classpath -- that's where the .class files will be put |
| 12:56 | technomancy | there's got to be a way to make that process a little more friendly |
| 12:56 | Chouser | some have suggested creating the 'classes' dir if it doesn't exist. |
| 12:56 | amitava | no joy - user=> (compile 'clojure.examples.hello) java.lang.RuntimeException: java.lang.ClassNotFoundException: clojure.examples.hello$_main__13 (NO_SOURCE_FILE:0) |
| 12:56 | technomancy | I guess you can't create the directory on the fly since it needs to be on the classpath at JVM boot time. |
| 12:56 | Chouser | maybe just a better error message. |
| 12:56 | technomancy | I mean, you could create it, but it wouldn't hepl |
| 12:56 | amitava | k, let me restart REPL |
| 12:56 | technomancy | yeah, improving the error message would be fine. |
| 12:57 | Chouser | amitava: you're closer -- it created the class file now, and it is just having trouble loading it |
| 12:57 | Chouser | starting a fresh java with 'classes' in the classpath should do it |
| 12:57 | amitava | it compiled now - thx :-) |
| 12:57 | amitava | do i need classes to begin with? |
| 13:01 | amitava | i am hoping to get some advise |
| 13:01 | amitava | i would like use clojure and distribute web-app as war |
| 13:02 | amitava | what's the best way to deploy a war file with clojure |
| 13:02 | amitava | compojure is nice - but i want to deploy to existing app server |
| 13:04 | technomancy | the C-140 cargo plane is a popular choice for deploying wars, but if you'd prefer an aquatic approach, a hovercraft is a viable alternative. |
| 13:05 | technomancy | sorry, that joke is getting old. |
| 13:05 | cemerick | I really don't understand the impulse to do AOT compilation outside of an automated build process. |
| 13:05 | danlarkin | ha ha ha |
| 13:05 | technomancy | cemerick: maybe if there were automated build processes that didn't involve writing XML as if it were code, people wouldn't be so adverse to it. =( |
| 13:06 | amitava | compile plain old servlet (aot), manually package war, deploy to tomcat |
| 13:06 | cemerick | technomancy: people are perfectly free to use rake or whatever *shrug* |
| 13:06 | cemerick | or make or shell scripts, even. |
| 13:06 | cemerick | I'm just saying that getting the environment set up for compilation more than once would be unbearable. |
| 13:07 | amitava | include clojure.jar in WEB-INF/lib |
| 13:07 | cemerick | and the fact that clojure.lang.Compile exists makes things *really* easy, IMO |
| 13:07 | amitava | i haven't tried this approach and thought this group might have already experimented |
| 13:46 | suresh | hello.. i am fairly new to clojure.. im stuck with a problem.. i have been trying to write a web app using only clojure + ring, i use gen-class to generate a servlet, which i then wrap with ring.. but i keep getting a filenotfoundexception for fcase.clj from ring's httpcore |
| 13:46 | suresh | any help appreciated, thanks |
| 13:50 | suresh | anyone used ring + servlet? |
| 13:51 | Chouser | I haven't, sorry. |
| 13:51 | Chouser | do you have an fcase.clj somewhere? |
| 13:51 | suresh | it is part of clojure-contrib |
| 13:51 | suresh | and the contrib jar is in classpath |
| 13:53 | Chouser | the jar you're using has .clj as well as .class files? |
| 13:53 | suresh | it has only the .clj file |
| 13:56 | Chouser | huh. well, I'm stumped. If you have a full stack trace you could try pasting that, but I really don't know anything about servlets |
| 13:58 | suresh | Caused by: java.io.FileNotFoundException: Could not locate clojure/contrib/fcase__init.class or clojure/contrib/fcase.clj on classpath: (httpcore.clj:1) |
| 13:58 | suresh | at clojure.lang.Compiler.eval(Compiler.java:4617) |
| 13:58 | suresh | at clojure.lang.Compiler.eval(Compiler.java:4593) |
| 13:58 | suresh | at clojure.lang.Compiler.load(Compiler.java:4931) |
| 13:58 | suresh | at clojure.lang.RT.loadResourceScript(RT.java:330) |
| 13:58 | suresh | at clojure.lang.RT.loadResourceScript(RT.java:321) |
| 13:58 | suresh | oops.. messed it up.. basically those were a few likes of the stack trace |
| 13:58 | Chouser | yeah, that's enough |
| 13:59 | Chouser | that really suggests the contrib jar isn't in the classpath, or isn't in the right classpath. |
| 13:59 | Chouser | but clojure clearly is |
| 14:00 | amitava | did you include the jars in WEB-INF/lib ? |
| 14:00 | suresh | yes, it is in there |
| 14:00 | Chouser | as is whatever line of .clj code that's trying to load fcase |
| 14:01 | suresh | i even added a main method to the generated class and invoked it from command line and it seems to work perfectly fine |
| 14:01 | amitava | r u running this on tomcat? |
| 14:02 | suresh | no, using jetty.. actually google app engine |
| 14:07 | cemerick | ugh, I'd bet on GAE classloader oddities |
| 14:07 | amitava | i noticed that the exception is coming out of httpcore |
| 14:07 | amitava | but in the ring example, it is invoked via ring.jetty |
| 14:08 | amitava | is ring routing to the right handler? |
| 14:08 | suresh | i am trying to do what ring.jetty does, but for a plain servlet |
| 14:09 | suresh | i dont think i got it working yet, but the moment i use ring.jetty, i get the file not found exception |
| 14:17 | suresh | well, it is quite late here.. i will post back results here if i get it working.. |
| 14:17 | suresh | thanks amitava, Chouser |
| 14:18 | Chouser | sorry we souldn't get you there. |
| 14:19 | suresh | not a problem at all.. some sleep might help figuring it out :) |
| 14:19 | amitava | this seems like a classloader issue |
| 14:20 | suresh | yup, absolutely.. i just cant seem to figure out what might be causing this. |
| 14:20 | amitava | last question - did u package this as a war file? |
| 14:20 | suresh | it is all in exploded form |
| 14:20 | suresh | and i use the jetty based dev server from app engine |
| 14:20 | amitava | so the compiled classes in WEB-INF/classes |
| 14:21 | suresh | yes |
| 14:21 | amitava | k - thx |
| 14:21 | suresh | all i have right now is one clj which is compiled as a servlet |
| 14:21 | suresh | and i do see a bunch of class files in the right package |
| 14:22 | amitava | can u post u'r files? |
| 14:22 | suresh | sure.. let me send you the url |
| 14:32 | suresh | amitava: the code is here -> http://bitbucket.org/itzsuresh/paper-notes/ |
| 14:33 | Fossi | hi |
| 14:34 | Chouser | hi |
| 17:02 | Anniepoo | is André Ferreira's amb implementation the best one out there? I've got a real use for amb, I don't see one in clojure.contrib |
| 17:08 | Chouser | what's amb? |
| 17:18 | replaca__ | Chouser: amb is a function that implements non-determinism. See http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme-Z-H-16.html#node_sec_14.1 for a description |
| 17:21 | Chouser | ah, yes. thanks. |
| 17:22 | pjstadig | clojurebot: mascot? |
| 17:22 | clojurebot | the official mascot of clojure is a futuristic ninja robot |
| 17:22 | pjstadig | nice |
| 17:22 | Hun | ,(= 'p 'np) |
| 17:22 | clojurebot | false |
| 17:36 | cemerick | anyone have a link for the amb impl that Anniepoo mentioned? googling 'clojure amb' and the name he mentioned doesn't turn up anything helpful. |
| 17:38 | Chouser | cemerick: http://groups.google.com/group/clojure/browse_thread/thread/e4125580fac21177 |
| 17:38 | maacl1 | I am trying to implement a longest common subsequence algorithm in Clojure. My attempt so far is here: http://paste.lisp.org/+1S56. There is a bug somewhere in this as the lcs-length table is not calculated correctly (correct one is illustrated here: http://bit.ly/ubqZu). I suspect the bug is around line 10-13. Can anyone help? |
| 17:38 | Chouser | flow control via exceptions. :-/ |
| 17:38 | cemerick | Chouser: thanks. Jeez, google can't search itself. :-/ |
| 17:39 | cemerick | Chouser: when nothing else will do... :-) |
| 17:39 | Chouser | cemerick: yeah, it's very difficult to find google group messages, either via google's regular search or its group search. lame. |
| 17:39 | cemerick | I take it you just searched your local history of msgs? |
| 17:41 | Chouser | cemerick: no, I googled "André Ferreira clojure amb" (no quotes) whic brought up a mail-archive.com link to a message deeper in the thread, from which I harvested some nice keyword to feed back into google |
| 17:43 | Chouser | maacl1: wow, amap. I don't think I've ever used that. |
| 17:45 | maacl1 | Chouser: yeah, trying to make it fast :-) serves me well that it doesn't work |
| 17:47 | maacl1 | Chouser: found the bug - I think |
| 17:50 | maacl1 | Chouser: yeah, posting the correct version now |
| 17:51 | maacl1 | Chouser: http://paste.lisp.org/display/83130#1 |
| 17:53 | ozzilee | Anybody know how to get the ServletContext in Compojure? I'm going nuts trying to serve a file out of the .war |
| 17:55 | ozzilee | Bah nevermind, (request :servlet-context) |
| 17:57 | Chouser | maacl1: good. I don't think I would have been able to help you. :-) |
| 17:57 | clojurebot | http://www.khanacademy.org/ |
| 17:57 | _hrrld` | Right now I wish that println or something it called (e.g., prn) emitted a \r in addition to \n. |
| 18:01 | durka42 | hmm, (newline) should respect (System/getProperty "line.separator"), shouldn't it? |
| 18:01 | durka42 | _hrrld` is on windows? |
| 18:02 | Chouser | hm, dunno |
| 18:02 | Chouser | should \newline not always be a single Character? |
| 18:02 | Chouser | or should (newline) not always print \newline ? |
| 18:02 | _hrrld` | I am on windows, but I'm working on an app that people will telnet to from all OSs... |
| 18:02 | durka42 | Chouser: i meant the second one |
| 18:03 | durka42 | _hrrld` wants (newline) => \return \newline |
| 18:03 | _hrrld` | A separate function (carrage-return) might be nice. |
| 18:03 | _hrrld` | As long as prn calls it. (: |
| 18:03 | durka42 | ,(System/getProperty "line.separator") |
| 18:03 | clojurebot | java.security.AccessControlException: access denied (java.util.PropertyPermission line.separator read) |
| 18:03 | replaca__ | Chouser: remember that the telnet protocol specifies a two character newline |
| 18:04 | _hrrld` | On this machine line.separator is "\r\n", so respecting that with (newline) would be fine too. |
| 18:04 | Chouser | right, in which case you'd want "\r\n" even if (System/getProperty "line.separator") is just "\n" |
| 18:06 | _hrrld` | On a related note "\return" is a crazy thing for the reader to respect... Does that some Lisp tradition? |
| 18:06 | _hrrld` | s/Does/Is |
| 18:07 | Chouser | ,(str \return \newline \space \a \b \c) |
| 18:07 | clojurebot | "\r\n abc" |
| 18:08 | _hrrld` | Dont forget: |
| 18:08 | _hrrld` | ,(str \formfeed) |
| 18:08 | clojurebot | "\f" |
| 18:09 | _hrrld` | ,(int \formfeed) |
| 18:09 | clojurebot | 12 |
| 18:10 | replaca__ | Chouser: that's right, telnet demands \r\n. See http://www.faqs.org/rfcs/rfc854.html for details (search for "The sequence "CR LF"," and you'll find the discussion) |
| 18:11 | technomancy | println works fine with telnet for me |
| 18:12 | _hrrld` | technomancy, what os/telnet software are you using? |
| 18:13 | _hrrld` | techonomancy, also, are you the author of "mire" ? |
| 18:13 | technomancy | _hrrld`: ubuntu client and server |
| 18:13 | mrpika | ,(str "neat") |
| 18:13 | clojurebot | "neat" |
| 18:13 | technomancy | also Emacs' telnet implementation |
| 18:13 | technomancy | _hrrld`: yeah, that's me |
| 18:13 | durka42 | _hrrld`: note you can also do (binding [newline #(do (. *out* (append \return)) (. *out* (append \newline)))] (prn "hi")) |
| 18:13 | technomancy | guess I haven't tried it on windows |
| 18:13 | _hrrld` | I noticed that mire uses println, that happens to make it quite broken on windows. |
| 18:14 | _hrrld` | Using the windows telnet client as well as putty. |
| 18:14 | technomancy | _hrrld`: aha; good to know. |
| 18:14 | _hrrld` | durka42, interesting hack. :) |
| 18:14 | _hrrld` | technomancy, fwiw I think emacs telnet just shells out to regular old telnet. |
| 18:14 | technomancy | never mind then |
| 18:14 | durka42 | not a hack :) functions are stored in vars |
| 18:15 | _hrrld` | durka42, until another developer wants either the original behavior of (newline) or to use the new behavior outside that bound context. :) |
| 18:15 | durka42 | well, yes :) |
| 18:16 | _hrrld` | Is there any case where we wouldn't want prn to also to output a "\r" ? |
| 18:17 | durka42 | you mean, except when not on windows |
| 18:17 | _hrrld` | Does a "\r" hose non windows? |
| 18:18 | durka42 | when i run that snippet (mac) i get "hi"^M |
| 18:18 | durka42 | ,(binding [newline #(do (. *out* (append \return)) (. *out* (append \newline)))] (prn "hi")) |
| 18:18 | clojurebot | "hi" |
| 18:19 | durka42 | http://en.wikipedia.org/wiki/Unix2dos |
| 18:27 | _hrrld` | Thanks for the help/discussion. |
| 18:37 | technomancy | so I'm using Nailgun to persist my clojure app. When I try to open a reader on System/in for functions launched with ng, I randomly get "Unexpected chunk type 83 ('S')" |
| 18:37 | technomancy | any ideas what that could mean? |
| 18:40 | technomancy | looks like a random nailgun bug |
| 19:05 | technomancy | anyone have an example of gen-class that creates a static method? |
| 19:08 | technomancy | danlarkin: well nailgun is pretty obscure. but this gen-class stuff is just java-specific jargon. |
| 19:09 | technomancy | "Static methods can be specified with #^{:static true} in the signature's metadata." <- where exactly would that go? |
| 19:09 | hiredman | technomancy: the method signature in the gen-class block |
| 19:09 | hiredman | a method signature is a vector, if I recall |
| 19:10 | technomancy | gotcha; will give that a shot |
| 19:10 | hiredman | so you just put that out in front so it gets attached to the vector |
| 19:10 | technomancy | cool; thanks |
| 19:22 | lisppaste8 | technomancy pasted "nailgun class" at http://paste.lisp.org/display/83136 |
| 19:22 | technomancy | according to this page, that code I pasted should copy stdin to stdout: http://martiansoftware.com/nailgun/api/com/martiansoftware/nailgun/NGContext.html |
| 19:23 | technomancy | instead it complains: java.lang.NoSuchMethodException: nailgun.Copy.main([Ljava.lang.String;) |
| 19:25 | technomancy | hrm; vimclojure uses nailgun; I'll take a look at how they do this |
| 19:26 | hiredman | I think you have an extra dash there |
| 19:26 | hiredman | -nailMain in the signature should maybe be nailMain |
| 19:26 | technomancy | aha |
| 19:27 | technomancy | maybe, but that's not the only problem. vimclojure's code looks promising though. |
| 20:24 | duncanm | i really enjoy working with clojure - but man, there are a lot of broken Java APIs out there ;-( |
| 20:25 | technomancy | =( |
| 20:25 | duncanm | and really, no amount of Clojure can help fix that (unfortunately) |
| 20:25 | drewr` | Perhaps. I don't care for the JavaMail API, but was able to make it fairly sane for my needs. |
| 20:26 | drewr` | (e.g.) |
| 20:26 | technomancy | javamail is very sane compared to some of the stuff I've been playing with |
| 20:26 | duncanm | i'm dealing with ImageJ here, and it's based on AWT |
| 20:26 | duncanm | also, Java IO just stinks |
| 20:26 | duncanm | all the InputSources and InputStreams and this and that |
| 20:45 | gstamp | If I define a namespace and import a class eg:(ns myns (import '(java.awt Color)) then I 'use' that namespace in another namespace does the imported class become available in the second namespace? |
| 22:32 | arohner_ | is there a way to create a new def, without using a macro? |
| 22:33 | Chouser | 'intern'? |
| 22:33 | arohner_ | ah, great |
| 22:33 | arohner_ | thanks |