00:00:03 madnificent: because I couldn't envision a system in which you can somehow receive messages at runtime, but are unable to see if they're supported :) 00:00:04 drewc: that needs to introduce a binding for x outside the loop 00:00:06 *drewc* goes ahead and implements that... give him 15 minutes or so 00:00:08 mathrick: sorry if I was demeaning, I didn't mean to be like that :) 00:00:15 foom: so? 00:00:24 mathrick: very true :P 00:00:26 madnificent: nah, nothing of this sort, it's cool 00:00:48 drewc: so I don't understand how that can happen with a macrolet. 00:01:14 bhyde [~Adium@c-66-30-201-212.hsd1.ma.comcast.net] has joined #lisp 00:01:16 Paraselene_ [~Not@81-178-167-119.dsl.pipex.com] has joined #lisp 00:01:19 foom: i'll show you, hold on please. 00:02:15 foom: (compile `(lambda () (macrolet ((collect (exp into var) (push var *vars*))) ,@forms)) 00:02:30 that part at least is easy 00:02:37 I need to think whether there are more catches 00:02:54 mathrick: yeah, exactly 00:03:25 mathrick: FOR needs a similar macrolet to get a binding for the iteration var 00:03:30 er. 00:03:31 and that's that 00:04:07 drewc: I will think about extensibility, but that needs to be done tomorrow, it's too late today 00:04:10 oh, okay, i think understanding is dawning upon me. :) 00:04:17 I wonder if I can do any LinJ work done still today 00:04:41 mathrick: you must, all android is based on your faith 00:04:43 Right right, everything is macroexpanded twice: once for real, and once only for side-effects on certain macros. 00:04:46 -!- Paraselene [~Not@81-178-167-119.dsl.pipex.com] has quit [Ping timeout: 276 seconds] 00:04:52 drewc: maybe I'll try if ITERATE can be hacked to do that instead of codewalking 00:05:26 Here's a fun question: say i have two classes, A & B, instances of those xa, xb and (defclass AB (A B) ...) is there an easy way to smash xa and xb together to create an instance of AB xab? 00:06:02 madnificent: I don't think I am the right person to ask. Type checking is not something that is fresh in my memory. 00:06:41 -!- rootzlevel [~user@91-66-191-155-dynip.superkabel.de] has quit [Ping timeout: 265 seconds] 00:06:42 plage: Appreciated. Do you know anyone here that could know about it? 00:06:42 And in many implementations, you could use macroexpand-all to do that for you, instead of compile, to save some time. 00:06:46 -!- Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Ping timeout: 245 seconds] 00:06:58 madnificent: oh yes, the current plan is 1) implement full closures (hasn't happened earlier today) 2) write a simple app in LinJ 3) split out a CL part, compile as JNI callouts (hello ECL+android) 4) extract out bits and pieces into a CL DSL to compile into LinJ 00:07:24 madnificent: I know mvilleneuve has read up on it recently, but he hasn't discussed any details with me. 00:07:39 madnificent: wasn't pkhuong dabbling with SBCL's type inferencer just before? 00:07:44 plage: great! thanks 00:07:49 mathrick: I'll bug him soon too 00:08:04 foom: macroexpand-dammit! 00:09:24 foom: i'd prefer compile to macroexpand-all, if only because compile actually works everywhere :) 00:09:41 mathrick: well, sure, except that if the impl doesn't already have macroexpand-all, you can fall back to compile instead of to a crazy long macroexpand implementation. 00:09:52 -!- abend [~alx@076-076-146-016.pdx.net] has quit [Ping timeout: 258 seconds] 00:09:52 since in this case you don't need the macro expansion at all, just its side-effects 00:09:53 aidalgol [~user@202.36.179.65] has joined #lisp 00:09:57 drewc: macroexpand-dammit does too, which is remarkable 00:10:08 it works, and even gets MACROLETs right 00:10:28 err, SYMBOL-MACROs 00:10:32 I don't think any other expander has managed to get that before 00:10:42 SYMBOL-MACROLETs? 00:10:47 foom: it's not crazy long 00:11:00 mathrick: it's basically the same idea i presented here, only with a different use case 00:11:01 nyef: yeah 00:11:21 drewc: aha, so it uses COMPILE internally? 00:11:27 I haven't read it in detail 00:11:31 mathrick: keep me posted on CL+android, maybe create #cl-android for it? Then I don't miss as much 00:11:50 madnificent: there's nothing to be posted on yet :) 00:11:56 no, it doesn't. Rather, it uses macrolets and the like to augment the lexical environment while walking the code 00:12:05 perhaps besides "I finally have an idea how LinJ works" 00:12:14 turns out reading code when not sick is much more effective 00:12:18 mathrick: your work on linj etc is interesting. I'm interested in the status of the project in general :) 00:12:54 madnificent: besides, I think I'll rename the lpad project to lispdroid 00:13:25 which is more accurate, and also encompasses possible later addition of ABCL as the interactive environment 00:13:27 similar to how i'm using macrolets to create different lexical environments in which to expand my macros, macroexpand-dammit uses the macrolets to create an analog of the lexical environment that the compiler would normally create 00:13:33 keeping them in sync is gonna be FUN 00:13:46 mathrick: then create #lispdroid... I couldn't care less about the name tbh 00:13:48 drewc: I see 00:13:56 HET3 [~diman@w220.engin.cf.ac.uk] has joined #lisp 00:14:05 Is lispdroid targeting android for CL? 00:14:35 Zhivago: common lips for android is what you meant, right? 00:14:49 skeledrew [~skeledrew@72.27.217.220] has joined #lisp 00:14:52 s/lips/lisp/ 00:15:01 -!- udzinari [~user@209.158.broadband13.iol.cz] has quit [Ping timeout: 264 seconds] 00:15:53 I meant what I wrote, but yes. 00:16:49 yes, the idea is to be able to write applications in common lisp which will run on android 00:16:50 abend [~alx@076-076-146-016.pdx.net] has joined #lisp 00:17:03 -!- skeledrew1 [~skeledrew@0245-8-27-72-DYNAMIC-dsl.cwjamaica.com] has quit [Ping timeout: 260 seconds] 00:17:03 -!- HET4 [~diman@w220.engin.cf.ac.uk] has quit [Ping timeout: 260 seconds] 00:17:09 Zhivago: it's mathrick's child :) 00:18:18 Zhivago: yes, that's the idea 00:18:36 mathrick: Do you have a website? 00:18:45 https://launchpad.net/linj-android 00:19:28 malandrew [~andrewdea@c951e236.virtua.com.br] has joined #lisp 00:20:07 -!- skeledrew [~skeledrew@72.27.217.220] has quit [Quit: Leaving.] 00:20:35 -!- aidalgol [~user@202.36.179.65] has quit [Read error: Connection reset by peer] 00:20:40 -!- jlf` [~user@pdpc/supporter/active/jlf] has quit [Ping timeout: 272 seconds] 00:21:04 Is there a working linj page? 00:21:08 mathrick: what license are you going to use? (please don't say something insane) 00:21:16 skeledrew [~skeledrew@72.27.217.220] has joined #lisp 00:21:21 -!- mjonsson [~mjonsson@cpe-74-68-121-85.nyc.res.rr.com] has quit [Quit: Leaving] 00:21:33 madnificent: I don't know yet, it depends on what license I can get LinJ under 00:21:36 Zhivago: no 00:21:40 it's defunct 00:21:56 How badly does linj suck? :) 00:22:02 not at all, actually 00:22:05 hold on 00:22:08 mathrick: a limited subset of linj will be used, right? 00:22:21 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 00:22:25 mathrick: if it wouldn't change, and linj would not be an issue, which license would you use then? 00:22:42 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Quit: This computer has gone to sleep] 00:23:02 Zhivago: http://paste.lisp.org/display/105701 00:23:08 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #lisp 00:23:40 madnificent: probably LLGPL or something along these lines 00:24:01 Nifty. :) 00:24:07 not that it matters much for tools 00:25:12 mbohun [~mbohun@202.124.72.36] has joined #lisp 00:25:24 Why is it necessary to generate java code to target Android rather than generating byte code that runs directly on the JVM like ABCL does? 00:25:34 xan_ [~xan@83.37.199.75] has joined #lisp 00:25:54 RustyWheeler: it's easier 00:25:54 RustyWheeler: android compiles JVM bytecode to dalvik ahead of time. You can't do runtime codegen. 00:26:03 and that too 00:26:25 I thought you mean compiling directly to .dex instead to .java 00:26:28 RustyWheeler: also, abcl doesn't generate bytecode android understands, apparently 00:26:29 Dawgmatix [~dman@c-24-0-151-136.hsd1.nj.comcast.net] has joined #lisp 00:26:48 ok, fair enough. 00:26:58 iwill be excited if the ABCL codebase can be made toi generate .java instead of .class 00:27:12 *dmiles_afk* has ranted why several times ;) 00:27:27 -!- skeledrew [~skeledrew@72.27.217.220] has quit [Ping timeout: 265 seconds] 00:27:29 RustyWheeler: and maybe (not sure at all) ecl is faster with the NDK than an implementation which expands to java and then runs that compiled java on a vm 00:27:54 yes, that is a big issue 00:27:59 if ABCL gnerates .java then it will be easy to make it generate .cs or .cpp or many things 00:28:10 people have run Jython & friends, but they were enormously slow 00:28:18 dmiles_afk: you're looking for ECL. 00:28:24 introspection and reflection are dog-slow on Dalvik 00:28:39 pkhuong: it depends on how nice the AST ready for easy emition 00:28:58 pkhuong: but you are right fundumentally 00:29:00 It just seems that adding an extra layer (i.e. java) will hurt efficiency. 00:29:02 -!- abend [~alx@076-076-146-016.pdx.net] has quit [Ping timeout: 258 seconds] 00:29:40 and app i use alot .. it takes 45 minutes to gnerate the .java.. progly 45 minutes ot genrtate it as bytecode as well 00:29:52 so i dont mind the two-pass downlime 00:29:57 downtime 00:30:20 45 minutes to gnerate the .java + 2 minutes to compile vs 25 minutes to generate the .class 00:30:34 oops that last 25 was meant to be 45! 00:30:41 47 vs 45 00:31:31 but for tiny things sure it would be a overhead little the compile whack at the source 00:31:59 incrementaly might even take twice as long 00:32:36 I was thinking more about the run-time performance penalty than the compile time performance of having to express things in java that is then compiled to byte-code. 00:32:42 skeledrew [~skeledrew@72.27.217.220] has joined #lisp 00:32:55 i dont think the jvm contains anything in bytecode that you cant do from java 00:33:20 the wierd things you are thinking about can be emulated with switch and blank loop statements 00:33:42 not a perfect 1-to-1 but a 1.1-1 00:34:02 1.1-to-1.0 :) 00:34:04 dmiles: Not even the dynamic language support stuff? 00:34:40 -!- smanek [~smanek@static-71-249-221-129.nycmny.east.verizon.net] has quit [Ping timeout: 276 seconds] 00:34:54 the ablity to emit .java is pretty dynamic.. but i know you must be referning to other feautres.. like clos generating macros? 00:35:53 well even java can classgen and use the classes it just bytegened 00:36:36 thats how larkc removed reflection calls.. it littely emits classes that are hardlinked to the reflective target 00:37:28 the lack of finality of classes are done becasue the code is always targeting interfaces rahter than classes 00:38:10 so car()/cdr() are LispCons interfaces.. that any object may dynamicly implment 00:38:37 Oh, another Lisp implementer? 00:38:54 dmiles_afk: do you have to be _afk all the time? 00:39:05 dmiles_afk: Well, JVM bytecode and Java are both turing-complete. :) 00:39:49 actually the minimum it *must* implmet is a bit higher car()/cdr()/setCar(.)/setCdr(.)/getType()/getLispClass() 00:40:04 Why do you have car and cdr on *any* Lisp object? 00:40:07 Surely, they're just for conses. 00:40:42 only for third party ovbjects.. (picking a unrealistic exmaple) a java.lang.Thread subclass can impliment LispCons 00:40:42 -!- billitch [~billitch@men75-12-88-183-197-206.fbx.proxad.net] has quit [Quit: Leaving.] 00:40:51 But *why*? 00:41:13 becasue SortedHAshList can be a COns with no thunk 00:41:23 I still don't understand. 00:41:26 After a quick search, it seems people have managed to get Clojure running on Android without too much effort (http://www.mail-archive.com/clojure@googlegroups.com/msg07499.html), even the REPL (http://groups.google.com/group/clojure/browse_thread/thread/14725172c626642c?pli=1). Wouldn't this indicate that ABCL should be able to be made to work also without too much effort? 00:41:28 Why allow arbitrary objects to be cons cells? 00:41:36 SortedHashList/MySocketList/MyFFIPair/etc 00:41:43 RustyWheeler: ABCL != clojure 00:41:47 quotemstr: there is not reason to prevent it 00:41:58 dmiles_afk: It seems like what you want is really a generic iteration protocol, not car/cdr. 00:42:03 quotemstr: but 1000s reasons its needed 00:42:21 dmiles_afk: Down your path lies only pain. 00:42:22 quotemstr: preciely what one does.. via java itnerfaces 00:42:44 quotemstr: its a freebie by the JVM.. dont overllook the gift horse of it 00:43:02 -!- quotemstr [~quotemstr@cpe-67-247-228-249.buffalo.res.rr.com] has quit [Quit: quotemstr] 00:44:06 I wouldn't recommend arbitrary things 'being' cons blocks, but computed cons blocks being available for arbitrary things, on the other hand ... 00:44:52 the most important reason is this i have a read only proper cons with 6 million elemetns in my app (this is not made up).. why would i be force to use linked list clled LispConsImpl.. then a ArraayList can implment the LispCons via a pointer+arrayref? 00:45:50 madnificent: But similar issue? Creating java bytecode requiring ahead of time compilation? 00:46:17 Zhivago: yeah actually only two ojects total even do this LispConsImpl and MyExampleArryaCons 00:47:48 RustyWheeler: it greatly depends on the way the compiler is built up. ABCL generates bytecode quite soon in the process, it seems. Clojure probably generated mostly Java 00:48:18 RustyWheeler: the android bytecode is not compatible with the JVM's bytecode 00:48:23 LispCons so its not used much .. but LispStructure interface is uses to wrap all sorts of non structures 00:48:33 RustyWheeler: I really don't know, but I assume clojure spits out java, which is then compiled 00:48:37 wraps/incapuslate 00:49:10 kpreid: one of these days i want be afk. whne i can type/spell 00:50:11 jajcloz [~jaj@pool-96-233-72-164.bstnma.fios.verizon.net] has joined #lisp 00:50:29 -!- Makoryu [~vt920@pool-71-174-191-10.bstnma.fios.verizon.net] has quit [Ping timeout: 240 seconds] 00:51:08 http://larkc.svn.sourceforge.net/viewvc/larkc/trunk/platform/src/com/cyc/tool/subl/jrtl/nativeCode/type/core/SubLConsFacade.java?revision=298&view=markup 00:51:11 thats another 00:51:22 RustyWheeler: do keep in mind that the initial runs of clojure on android took forever to start up, which is partially solved now 00:52:41 -!- thorne [~user@67.42.142.120] has quit [Remote host closed the connection] 00:55:18 Yes, I did see the notes about poor performance. I confess that I don't know much about closure, so my understanding is probably a bit off. Thanks for the comments. 00:56:12 clojure is from what i understand a S-Expression syntax of java with some really nice helper objects for auto coercion 00:56:30 BrianRice [~water@c-76-115-44-87.hsd1.or.comcast.net] has joined #lisp 00:56:33 (and helper libs) 00:57:00 -!- malandrew [~andrewdea@c951e236.virtua.com.br] has quit [Quit: Lost terminal] 00:57:46 (that is why its easy to compile) 00:58:23 not that java is that easy to compile but clojure encourages codeblocks that have good conversion 00:58:43 though it doenst actually hit .java ... but i'd like it better if it did 00:58:49 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Ping timeout: 264 seconds] 01:00:11 a differnt lisp here is what lisp looks like when translated: http://larkc.svn.sourceforge.net/viewvc/larkc/trunk/platform/src/com/cyc/tool/subl/jrtl/translatedCode/sublisp/print_high.java?revision=298&view=markup&pathrev=298 01:00:16 RustyWheeler: ask in #clojure, maybe? 01:01:00 if somone decompiled ABCL bytecode that last url is what it looks like 01:01:13 -!- mindCrime [~chatzilla@64.134.184.64] has quit [Ping timeout: 264 seconds] 01:02:19 bleh. give me native code any day. 01:02:21 except the try/finally to bind/undo more than 1 special at a time is of course an optimizatio ABCL does 01:02:54 refering to line 348 of that file 01:03:31 dmiles_afk: mixed feeling about it 01:03:44 drewc annotated #111048 "Iterate macro sketch" at http://paste.lisp.org/display/111048#3 01:04:21 madnificent: you mean seeing that file gave you second thoughts?! :) .. naw what do you mean? 01:04:23 mindCrime [~chatzilla@64.134.184.64] has joined #lisp 01:05:04 dmiles_afk: on the one hand, it's fair. It is hard to go from a language, to bytecode and then expect to get something meaningfull out of it when you decompile it. On the other hand, it looks like total crap. 01:05:19 foom: that paste is mostly for you and mathrick 01:05:20 -!- Yuuhi [benni@p5483BE24.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:05:35 but .. ok lets go with your premise it looks like crap after decompiling 01:06:07 new lets recompile the crap.. and say i decoompiler was right on enough the bytecode was the same 01:06:34 foom: you provided the test case (iter (:for i from 1 to 10) (when (evenp i) (:collect i into x))), the only thing i changed was to name ITER keywords using :keywords, which i much prefer 01:06:37 so we go back to looking at the crap java.. 01:06:38 dmiles_afk: so that could -in theory- be recompiled with dalvik's compiler? 01:07:07 we say indeed its bad.. therefore it was crap bytecode.. lol.. time to rewrite the compiler 01:07:53 i havent seen a lisp compiler not make crap C or crap Java yet.. once we pass this sanity test.. then we can write a bytecode compiler 01:08:10 dmiles_afk: what is your goal with this? Writing sensible java from ABCL, or running on android? 01:08:24 writteing sensible bytecod 01:08:26 e 01:08:54 if that means putting up with smally java.. hurting my eyes until the translator is fixed.. thats the karma earned 01:09:01 smally/smelly 01:09:09 the decompiler isn't guaranteed to generate nice java from nice bytecode, right? 01:09:25 if i actually could write a good translator.. it'd just make it emit classes 01:09:29 -!- powerje [~powerje@75.60.206.10] has quit [Quit: powerje] 01:09:59 dmiles_afk: .class classes or .java classes? 01:10:01 madnificent: but it can be gaurenteed to make java that will reporcuce the same bytecode 01:10:08 .class classes 01:10:47 Jode was the only decompiler that passes that test .. not JAD (the 1-to-1-to-1) 01:10:48 dmiles_afk: perhaps two very different java files, one pretty and one ugly, generate the same class files... the decompiler may not pick the right one. 01:10:50 -!- plage [~user@113.161.65.230] has left #lisp 01:10:59 OmniMancer1 [~OmniMance@202.36.179.65] has joined #lisp 01:11:22 man.... i spent an entire career avoiding java, yet i can't get away from discussion about it in #lisp... oh what a world, what a world. 01:11:23 madnificent: i like that 01:11:30 :D 01:11:39 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 260 seconds] 01:11:53 well java is more aof a usecase.. personlally i prefer .cs! 01:12:04 drewc: get back to writing a correct iterate =P 01:12:36 madnificent: i like that = yes one can write out two java represnetation if they'd like 01:12:42 dmiles_afk: Is the quality of the generated source good with Jode? 01:12:45 madnificent: i need another use case from someone who both cares and isn't convinced it can be done... i use LOOP :) 01:13:04 -!- lemonodor [~lemonodor@144.198.182.10] has quit [Ping timeout: 240 seconds] 01:13:13 dmiles_afkL with less than 80 hours of patching it was 100% recompilable 01:13:19 to wgl 01:13:40 dmiles_afk: I understood so. I do get your point though, but maybe targetting nice java and then compiling through the JDK would do an acceptable job performance-wise? 01:13:41 but pretty much 01:14:13 madnificent: it would make code identical performance wise 01:14:23 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 01:14:36 actually i suspect javac authors would try to claim it would be better 01:14:59 and possible it would.. if they recoconised out certian code ideioms ahead of time 01:15:01 I have a hard time seeing the appeal of writing a lisp compiler that emits C or Java. 01:15:30 if SBCL wast so good.. it would be hard for me to 01:15:34 rme: seemingless integration with corporate marketing mombo jumbo! 01:15:49 i want a JVM/.NEt/Dalvek to one day be fast as SBCL 01:15:57 -!- OmniMancer1 [~OmniMance@202.36.179.65] has quit [Ping timeout: 276 seconds] 01:16:58 i dont think they will get there until this research has been completed 01:17:09 (not mine.. but the lisp comunties) 01:17:24 ECL stands on the shoulders of gcc tolerance of bad C code 01:17:38 and years of C compiler optimizations 01:18:00 -!- RustyWheeler [~russell@60-241-37-219.static.tpgi.com.au] has left #lisp 01:18:12 but bytecode no mater how much JIT is applies will then be a bad JIT job 01:18:24 or even a useless job of JIT 01:19:01 and since it is JIT (runtime) the number one job must be to not abuse its generaosity 01:19:16 dmiles_afk: any reason why ECL couldn't be made to emit fast code? 01:19:33 no reason at all.. just looks like too much work 01:19:39 aidalgol [~user@202.36.179.65] has joined #lisp 01:20:00 for something that is pretty neat already.. and still has a todo list of higher prioroty things 01:20:23 -!- Edward__ [Ed@AAubervilliers-154-1-3-105.w86-212.abo.wanadoo.fr] has quit [] 01:20:26 I was just wondering 01:20:29 *madnificent* heads off to bed 01:20:53 what ABCL is missing.. is partial-evaluation 01:21:08 and a couple other things.. that would be high wins 01:21:47 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 248 seconds] 01:21:51 partial-evaluating and type inspection of the world.. i believe (right or wrong?) is the secret to SBCLs sucess 01:22:00 night madnificent 01:22:22 +? to secret to SBCLs sucess 01:22:51 -!- ``Erik [Here@c-69-140-109-104.hsd1.md.comcast.net] has quit [Ping timeout: 260 seconds] 01:23:09 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #lisp 01:23:38 optimization opertunities at various levels of representation 01:23:58 Is that the same as lazy evaluation? 01:24:01 dmiles_afk: dunno about partial evaluation, but SBCL definitely does type inference 01:24:07 aidalgol: no 01:24:10 GrayGnome [~MuneNoKag@user-11fa65f.dsl.mindspring.com] has joined #lisp 01:24:20 OK, just checking. 01:24:24 -!- GrayGnome` [~MuneNoKag@user-11fa65f.dsl.mindspring.com] has quit [Read error: Operation timed out] 01:24:37 aidalgol: you might be confused because GHC does both (not sure if partial evaluation is required by Haskell spec) 01:24:41 i guess partial evalution is pretty small subset of optimazions 01:24:52 dmiles_afk: depends on the code 01:25:47 -!- Dawgmatix [~dman@c-24-0-151-136.hsd1.nj.comcast.net] has quit [Quit: Ex-Chat] 01:25:51 also, there are some optimalizations possible for CL that require rather big changes to delivery system (because they break stuff if used with full runtime) 01:26:00 ``Erik [Here@c-69-140-109-104.hsd1.md.comcast.net] has joined #lisp 01:26:43 dmiles_afk: thanks 01:27:00 partial evaluation is one of my favorite toys 01:27:27 why right a compiler when you can derive one using partial evaluation? :) 01:27:30 write* 01:27:40 *drewc* slinks back to his ITERATE hack 01:28:34 -!- aidalgol [~user@202.36.179.65] has quit [Quit: ****!] 01:28:45 p_l: *nod* I still feel like i am going to have to learn what can/cant be done 01:29:00 tcr [~tcr@17.177.48.60.brk02-home.tm.net.my] has joined #lisp 01:29:21 one neato opimization LarKC uses is if two symbols call each other and the symbol cant be redefined.. they dont even need to instance the symbol names.. they just call each other (ECL does this to) 01:30:02 and creates a skeleton instance of the symbol later so it can be used in the reader.. 01:30:26 aidalgol [~user@202.36.179.65] has joined #lisp 01:30:31 but tehcially they could both have a couple like nop-nop-nop that lets redecination happen 01:30:39 definition 01:30:58 -!- mindCrime [~chatzilla@64.134.184.64] has quit [Ping timeout: 240 seconds] 01:36:30 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 258 seconds] 01:39:48 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #lisp 01:43:19 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Client Quit] 01:45:38 -!- Joreji [~thomas@94-135.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 240 seconds] 01:45:40 -!- jajcloz [~jaj@pool-96-233-72-164.bstnma.fios.verizon.net] has quit [Quit: jajcloz] 01:47:46 tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has joined #lisp 01:48:40 Makoryu [~vt920@pool-71-174-191-10.bstnma.fios.verizon.net] has joined #lisp 01:50:21 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 01:52:37 mindCrime [~chatzilla@cpe-075-189-213-049.nc.res.rr.com] has joined #lisp 01:53:30 sealing CLOS completely is another nice trick 01:55:11 neoesque [~neoesque@210.59.147.232] has joined #lisp 01:56:57 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Quit: Leaving] 01:58:19 nixeagle [~user@Wikimedia/Nixeagle] has joined #lisp 02:01:35 -!- Bobrobyn [~rsmith05@CPE0015e9d40d4f-CM001ac30e9df0.cpe.net.cable.rogers.com] has quit [Remote host closed the connection] 02:03:22 lemonodor [~lemonodor@cpe-75-83-150-91.socal.res.rr.com] has joined #lisp 02:03:50 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 02:04:13 smanek [~smanek@cpe-98-14-140-77.nyc.res.rr.com] has joined #lisp 02:04:34 -!- Guthur [~michael@host86-150-202-161.range86-150.btcentralplus.com] has quit [Remote host closed the connection] 02:05:29 toekutr [~toekutr@adsl-69-107-114-83.dsl.pltn13.pacbell.net] has joined #lisp 02:07:52 asarch [~asarch@189.188.155.249] has joined #lisp 02:09:13 quotemstr [~quotemstr@cpe-67-247-228-249.buffalo.res.rr.com] has joined #lisp 02:09:20 -!- Axioplase_ is now known as Axioplase 02:09:34 quotemstr pasted "surprising" at http://paste.lisp.org/display/111052 02:10:01 I'd have thought that defun would unambiguously create a lexical binding. 02:11:56 <_3b> quotemstr: 'DEFPARAMETER and DEFVAR establish name as a dynamic variable' 02:12:18 Sure. I just didn't expect defun to respect that. 02:13:14 <_3b> in lambda lists you mean? they work like any other binding 02:13:26 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Quit: Leaving.] 02:14:22 quotemstr: you'd need to locally change the type of variable,iirc 02:15:03 I'm betting it's a really bad idea to shadow dynamic bindings with lexical ones. 02:15:04 I expect that a form compiled before defvar might have lexical binding instead of dynamic 02:15:14 IMHO, that's one thing islisp did right: provide a different syntax to access dynamic variables. 02:15:34 -!- silenius [~silenius@rrcs-64-183-24-50.west.biz.rr.com] has quit [Quit: Leaving] 02:15:41 yup 02:15:47 CL users just hack around the different with a *naming-convention*. 02:15:53 difference, even. 02:16:03 -!- proq [~user@unaffiliated/proqesi] has quit [Ping timeout: 260 seconds] 02:16:20 quotemstr: well, Common Lisp, despite having a full bloody ANSI standard, is kind of a hack... 02:17:12 But at least it's a well-supported hack. Better everyone agree on the same hack than have a thousand different marginally better ones, right? 02:17:26 yeah 02:17:47 (Says the guy creating a Lisp-1 CL workalike.) 02:18:26 though I have to say that I consider Haskell to snatch some good stuff that while possible in CL, isn't there (and an implementation that does it might be considered non-conformant) 02:18:47 Like what? 02:19:29 -!- aidalgol [~user@202.36.179.65] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 02:20:30 quotemstr: In haskell you can treat any function similar to generic functions in CLOS 02:20:38 (very very simple comparison) 02:21:02 Ah, that'd be nice. 02:21:52 functions can support different types through typeclasses - if a type implements a given typeclass, then all operations defined as part of said typeclass work on said type 02:22:03 So you've got Num typeclass for example... 02:23:02 -!- smanek [~smanek@cpe-98-14-140-77.nyc.res.rr.com] has quit [Quit: This computer has gone to sleep] 02:23:53 which contains all necessary numeric operations 02:24:03 and similar typeclasses covering the rest 02:24:34 so you don't really need to know what *types* you get, you need to know only typeclasses 02:25:07 -!- bhyde [~Adium@c-66-30-201-212.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 02:25:49 bhyde [~Adium@c-66-30-201-212.hsd1.ma.comcast.net] has joined #lisp 02:26:06 smanek [~smanek@cpe-98-14-140-77.nyc.res.rr.com] has joined #lisp 02:27:01 Too bad there are few large programs written in Haskell. 02:27:24 quotemstr: There are some, but they have the crippling weakness of not being written in C 02:28:02 Oh wait, wrong channel 02:30:35 -!- hugod [~hugod@bas1-montreal50-1279441056.dsl.bell.ca] has quit [Quit: hugod] 02:31:53 oconnore_ [~oconnore_@gw3.tacwap.org] has joined #lisp 02:32:10 abend [~alx@076-076-146-016.pdx.net] has joined #lisp 02:33:50 quotemstr: you'd be surprised, I think 02:34:28 otoh, Haskell is rather terse, so you don't see a "big application", you see a bunch of libs and short code. It just takes time to build said libs 02:34:35 -!- symbole [~chatzilla@216.214.176.130] has quit [Ping timeout: 265 seconds] 02:35:08 (CL is similar in that regard, IMHO, though not as terse - I'd dare to say verbose, except in good way compared to for example Java) 02:36:40 the places that actually do use Haskell have similar curse to many CL projects - they are all bespoke and internal, with not even an idea of getting published, and often not even mentioned in press) 02:36:44 -) 02:37:31 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 02:40:38 i like haskell, i've found myself going to use currying in both lisp and python 02:40:47 and it made me sad when i couldn't :( 02:40:59 Huh? 02:41:06 You can curry in any language with closures. 02:41:16 pickles: You could do it in OCaml, which is decisively more lispy than Haskell 02:41:22 mm 02:41:51 For some reason, I've seen more useful end-user programs in OCaml than any other functional language. 02:41:53 quotemstr: yeah, i can do it with a lambda, but it's shorter with partial function applications 02:41:54 pickles: look into arnesi - it has a currying macro 02:42:11 pickles: In Lisp, you can make a macro (or even a reader-macro!) to do it. 02:42:11 pickles: there are also currying and chaining reader macros out there 02:42:13 p_l: thx, ill take a look at that 02:42:17 p_l: Heh. 02:42:26 aha yes, i only recently learned of reader-macros 02:42:34 that would be a nice way to try them out 02:42:35 pickles: Welcome to the asylum. 02:42:44 Isn't it nice to use a language with a non-computable syntax? 02:42:54 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Read error: Connection reset by peer] 02:42:55 i'm working on one of those myself actually 02:43:47 quotemstr: better than Perl 02:44:16 pickles: one of the reader macro packages I had seen for chaining etc. is curly 02:44:39 *quotemstr* needs curly brackets for a good hashtable read-syntax. 02:44:59 heheh 02:45:19 quotemstr: what's wrong with a regular macro? 02:45:32 The idea I have for my Lisp is use [] to always mean destructuring. 02:45:51 *p_l* is reminded of someone proposing (@ hashtable key) 02:46:00 So you could run (setq [a b & rest c] bar). Right now, I allow (setq (a b &rest c) bar), but that leads to ambiguity in some situations which I need to resolve in an ad-hoc way. 02:46:13 pkhuong: It's a little more verbose. How would you write that? 02:46:22 (hash (a . b) (c . d)) ? 02:46:41 quotemstr: (hash k1 v1 k2 v2 ...)? 02:47:19 pkhuong: I'd want to distinguish the constructed-on-the-fly hash and the compile-time-value one. 02:47:28 It's the difference between '(a b c) and (list 'a 'b 'c) 02:47:28 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 02:47:51 quotemstr: do so, then. 02:48:22 stassats [~stassats@wikipedia/stassats] has joined #lisp 02:49:49 p_l: seems to me I'd use that for message passing syntax or something like that. 02:50:35 jlf` [~user@pdpc/supporter/active/jlf] has joined #lisp 02:52:25 pkhuong: well, #\@ has the familiarity from some languages, I guess (though not ones that I wrote much code in) 02:55:54 pers [~user@3.sub-75-220-208.myvzw.com] has joined #lisp 02:59:13 -!- xan_ [~xan@83.37.199.75] has quit [Ping timeout: 252 seconds] 02:59:52 -!- lemonodor [~lemonodor@cpe-75-83-150-91.socal.res.rr.com] has quit [Quit: lemonodor] 03:02:43 -!- marioxcc [~user@201.132.49.100] has quit [Remote host closed the connection] 03:04:38 nite all 03:05:07 -!- pickles [~paul@d47-69-2-54.col.wideopenwest.com] has left #lisp 03:06:40 specbot [~specbot@common-lisp.net] has joined #lisp 03:08:06 pickles, nite. 03:08:23 hugod [~hugod@bas1-montreal50-1279441056.dsl.bell.ca] has joined #lisp 03:09:33 minion [~minion@common-lisp.net] has joined #lisp 03:11:00 symbole [~chatzilla@216.214.176.130] has joined #lisp 03:12:16 persi pasted "my take on converting 600+ LOOPs to ITERATE" at http://paste.lisp.org/display/111053 03:12:28 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 03:13:24 Just thought I'd beat that dead horse. I can't argue for or aginst code walkers. I can just give my feeling of joy at refactoring 600+ LOOPs to ITERATE with no problems. 03:13:41 plage [~user@113.161.65.230] has joined #lisp 03:15:21 Peace and good night to all. 03:15:25 -!- pers [~user@3.sub-75-220-208.myvzw.com] has left #lisp 03:16:38 -!- konr [~user@201.82.129.247] has quit [Read error: Connection reset by peer] 03:17:14 *rtoym* wonders how iterate is better than series.... 03:17:24 konr [~user@201.82.129.247] has joined #lisp 03:21:43 austinh [~austinh@c-24-21-81-46.hsd1.or.comcast.net] has joined #lisp 03:22:07 good evening 03:22:55 rtoym: series has a better code walker :) 03:23:06 Haha! 03:23:09 Heh. Ouch. 03:23:47 hello austinh 03:24:08 simplechat_ [~simplecha@unaffiliated/simplechat] has joined #lisp 03:24:47 clandestine_j [~j@173-162-244-153-NewEngland.hfc.comcastbusiness.net] has joined #lisp 03:25:06 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Ping timeout: 245 seconds] 03:25:14 *nyef* wonders if CMUCL has that IMPORT bug that SBCL had, or if the package system implementations had diverged enough that it was an SBCL-only bug. 03:25:42 -!- Kizaru [~plaz@pool-173-76-170-157.bstnma.fios.verizon.net] has quit [Read error: Connection reset by peer] 03:25:48 What's the import bug? 03:26:28 Import two symbols with the same name into a fresh package. When you resolve the conflict, pick the second one. Use DO-SYMBOLS, both show up. 03:27:00 SBCL test case is 1.0.39.1. 03:27:17 Two symbols with the same name? You mean same name but different packages? 03:27:20 Yeah. 03:27:36 http://git.boinkor.net/gitweb/sbcl.git?a=commitdiff;h=e24fdd1832a9d4fd12347387437bbae225d22ef2 03:28:50 DO-SYMBOLS is actually the only way I've found to detect this, short of grovelling the hash table directly. 03:29:49 Ok. I created a fresh package, and created two symbols with the same name. I import the first, then the second. 03:30:00 Has to be the same call to IMPORT. 03:30:10 Oh, ok. 03:34:17 Assuming I did this right, do-symbols only shows the second symbol. 03:34:23 Fair enough. 03:34:37 thorne [~user@67.42.142.120] has joined #lisp 03:34:37 Must have either been SBCL-only to begin with, or long since fixed in CMUCL. 03:35:12 When asked to resolve the conflict, I only get a message about the one offending symbol and I select the shadowing-import restart. 03:35:49 Yeah, that's the basic scenario. 03:37:32 SBCL was accumulating a list of symbols to import while checking for collisions, and not cleaning up properly before signalling the exception, thus ending up adding the first symbol to the hash table anyway. 03:38:45 Ok. Cmucl doesn't do this. I think if you imported 3 symbols with the same name, you'd get 2 cerrors. 03:39:19 *rtoym* tries it out... 03:41:30 Interesting. (import '(aaa p1::aaa p2::aaa) "FOO") signals one error and package foo then just contains p1::aaa. 03:41:38 gigamonkey [~user@adsl-99-17-206-71.dsl.pltn13.sbcglobal.net] has joined #lisp 03:42:02 That seems not right. 03:44:25 Mmm... ISTR that SBCL gets two errors on that scenario, but there's a test case that says there should only be one error that has all three colliding symbols. 03:44:39 -!- jlf` [~user@pdpc/supporter/active/jlf] has left #lisp 03:44:59 (One of two test cases that fails on all platforms, the other being a similar scenario involving USE-PACKAGE.) 03:45:04 -!- arbscht [~arbscht@unaffiliated/arbscht] has quit [Ping timeout: 240 seconds] 03:45:34 -!- skeledrew [~skeledrew@72.27.217.220] has quit [Quit: Leaving.] 03:46:17 tij [~tij@c-71-56-219-137.hsd1.co.comcast.net] has joined #lisp 03:46:51 arbscht [~arbscht@unaffiliated/arbscht] has joined #lisp 03:47:13 yoonkn [~yoonkn@112.221.19.139] has joined #lisp 03:47:29 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #lisp 03:49:31 tij1 [~tim@c-71-56-219-137.hsd1.co.comcast.net] has joined #lisp 03:49:51 I'll have to think about what the right thing is. 03:50:08 -!- tij [~tij@c-71-56-219-137.hsd1.co.comcast.net] has quit [Client Quit] 03:52:00 OmniMancer1 [~OmniMance@202.36.179.65] has joined #lisp 03:53:21 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 265 seconds] 03:54:03 -!- ikki [~ikki@201.155.75.146] has quit [Ping timeout: 260 seconds] 03:56:30 sdkmvx [~martin@unaffiliated/sdkmvx] has joined #lisp 03:56:32 what do you guys prefer - embedding instructions on building foreign code in .asd files or using external makefiles with possibly a way to specify them in .ASD ? 03:56:49 hey, does anyone have any experience getting multithreading to work in amd64 netbsd? 03:58:10 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 03:59:02 aidalgol [~user@202.36.179.65] has joined #lisp 03:59:47 *p_l* expects ASDF-based compilation of C code to fail on Win32 04:01:45 billitch [~billitch@2a01:e35:8b7c:5ce0:e2cb:4eff:fea3:82c4] has joined #lisp 04:01:57 hello 04:04:07 i was thinking, would a password protected slime swank be possible ? 04:04:44 billitch: possible. Though you could also just run an ssh tunnel. 04:04:57 -!- fsmunoz [~fsmunoz@a81-84-225-153.cpe.netcabo.pt] has quit [Ping timeout: 265 seconds] 04:04:59 Which is, I think, what most people do in practice. 04:05:32 (Assuming you can trust the users on your actual machine.) 04:05:35 gigamonkey: i guess, but that means i trust other processes on the system 04:05:41 Yes. 04:06:48 -!- asarch [~asarch@189.188.155.249] has quit [Quit: Leaving] 04:07:00 billitch: you can put ACLs on the ports, I guess (on Linux and probably in some other OSes) 04:07:56 ikki [~ikki@201.144.87.42] has joined #lisp 04:09:20 p_l: ... (run-program "make") ? 04:09:34 billitch: slime/swank comes with a password scheme already 04:09:43 search for slime-secret iirc in slime.el 04:11:14 -!- nixeagle [~user@Wikimedia/Nixeagle] has quit [Remote host closed the connection] 04:12:18 spradnyesh [~pradyus@nat/yahoo/x-iuzhdxvqxvzdqdgj] has joined #lisp 04:12:26 nyef: something like that, except explicitly stated how to run depending on arch etc. (Some might require extra init) 04:12:39 just echo password > ~/.slime-secret 04:12:58 and adjust permissions 04:13:11 HET4 [~diman@w220.engin.cf.ac.uk] has joined #lisp 04:14:41 nice ! 04:16:13 -!- HET3 [~diman@w220.engin.cf.ac.uk] has quit [Ping timeout: 260 seconds] 04:16:46 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 245 seconds] 04:17:46 -!- gigamonkey [~user@adsl-99-17-206-71.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 264 seconds] 04:17:51 -!- OmniMancer1 [~OmniMance@202.36.179.65] has quit [Ping timeout: 260 seconds] 04:19:03 gigamonkey [~user@adsl-99-17-206-71.dsl.pltn13.sbcglobal.net] has joined #lisp 04:19:17 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 04:19:43 -!- aidalgol [~user@202.36.179.65] has quit [Ping timeout: 260 seconds] 04:19:49 -!- thorne [~user@67.42.142.120] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 04:21:20 -!- cisticola [~daddy@202.134.251.153] has quit [Ping timeout: 258 seconds] 04:26:21 What is parallel let good for anyway? 04:26:36 (let ((a b) (b a)) ...) 04:27:08 -!- tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has quit [Quit: tritchey] 04:29:07 But why is parallel the default? 04:29:20 It seems that sequential semantics would be more generally useful. 04:29:54 It's safer because there can be no interaction between the terms. 04:30:28 -!- nyef [~nyef@pool-64-223-150-41.man.east.myfairpoint.net] has quit [Quit: G'night all.] 04:30:32 Consider (let ((a 5)) (b (* a 8))) ...) in the b clause there are two candidates for a. 04:31:08 Keeping the default to a strictly 'inside' and 'outside' idea of scope makes it a bit simpler. 04:31:15 I don't know why it's the default. Some of the people at Clozure use let* all the time as a habit. 04:31:31 With the non-parallel version you have a cascade of scopes -- one for each binding. 04:31:47 So I'd suggest that the parallel version is semantically simpler. 04:32:12 It's inconsistent. setq, not psetq, is the default. 04:32:18 I always prefer the parallel version unless I want to use one of those cascades. 04:32:43 That's CL for you -- a horrible kludge of random features from different dialects. 04:35:37 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 04:35:49 cisticola [~daddy@202.134.251.153] has joined #lisp 04:36:26 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Client Quit] 04:36:54 SandGorgon [~OmNomNomO@122.162.129.207] has joined #lisp 04:39:36 thorne [~user@67.42.142.120] has joined #lisp 04:40:31 vmmenon [~vmmenon@c-67-183-8-193.hsd1.wa.comcast.net] has joined #lisp 04:41:41 -!- deepfire [~deepfire@80.92.100.69] has quit [Ping timeout: 265 seconds] 04:42:18 borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has joined #lisp 04:42:32 R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has joined #lisp 04:43:40 -!- austinh [~austinh@c-24-21-81-46.hsd1.or.comcast.net] has quit [Quit: leaving] 04:46:18 (that we still love) 04:53:51 -!- urnthr [~James@c-24-13-121-207.hsd1.in.comcast.net] has quit [Ping timeout: 245 seconds] 04:55:02 -!- rme [~rme@pool-70-105-124-210.chi.dsl-w.verizon.net] has quit [Quit: rme] 04:55:33 -!- vmmenon [~vmmenon@c-67-183-8-193.hsd1.wa.comcast.net] has quit [Quit: vmmenon] 05:02:37 -!- bgs100 is now known as bgs000 05:04:07 pnq [asdf@ACA2F3C9.ipt.aol.com] has joined #lisp 05:12:37 -!- Harag [~Harag@iburst-41-213-33-41.iburst.co.za] has quit [Ping timeout: 265 seconds] 05:12:53 Harag [~Harag@iburst-41-213-33-41.iburst.co.za] has joined #lisp 05:14:13 -!- R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has quit [Quit: Leaving] 05:22:06 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has left #lisp 05:22:20 Is there anything wrong with implement parallel-let by first computing all the values, then binding them sequentially? 05:23:59 isn't that how it should be done? 05:24:25 -!- gigamonkey [~user@adsl-99-17-206-71.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 252 seconds] 05:24:36 No, you can also play games with the lexical environment. 05:24:52 what kind of games? 05:25:15 <_3b> you mean alpha converting and binding them as you calculate them? 05:25:34 clhs let 05:25:35 http://www.lispworks.com/reference/HyperSpec/Body/s_let_l.htm 05:25:53 Well, if your lexical environment is just a list of conses, you can create a new environment and add bindings to that --- then, when you're done, set the "current" lexical environment to the new environment you just created. 05:26:05 <_3b> another option i suppose would be to convert it to a lambda 05:26:27 _3b: That also sounds interesting. I was thinking I could just find the symbols closed over by each value form and automatically convert to sequential let if it was safe. 05:27:19 me4 [~opera@091-141-033-087.dyn.orange.at] has joined #lisp 05:27:32 *quotemstr* reads about alpha conversion. 05:27:44 At this point, I really should dig up that old copy of the dragon book I have laying around here somewhere. 05:28:04 <_3b> i suppose for dynamic variables, alpha conversion doesn't help 05:28:28 *_3b* would read old scheme papers over dragon book, if writing a lisp 05:29:00 (let* ((#:g1232 10) (#:g1233 (+ a 1))) (let* ((a #:g1232) (b #:g1233)) (+ a b))) 05:30:10 and let* can be implemented as nested LAMBDAs 05:31:36 Actually, that should be sufficient. 05:31:46 It should be fairy easy to tell whether a LET can be converted to a LET*. 05:32:20 it always can be 05:32:26 *p_l* thinks the first design was easiest... 05:32:44 stassats: I mean blindly converted. :-P 05:32:54 R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has joined #lisp 05:33:07 you need a code walker 05:33:16 plage: Of course. 05:33:22 quotemstr: what about special variables? 05:33:51 stassats: Oh, right. 05:33:55 Drat. 05:34:10 and why do you need to convert it, when what i showed covers all cases 05:34:13 Well, you disable the optimization if any special variables are bound. 05:34:20 stassats: As an optimization. 05:35:29 i guess it's a wrong place for this optimization 05:36:12 Well, I'm not going to implement full variable-type tracking, SSA, strength reduction, or anything fun like that, so I figure I might as well take what's easy to get in an AST representation. 05:36:24 Thanks. 05:37:42 then you can look how existing implementations do it 05:38:15 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 05:39:14 proq [~user@unaffiliated/proqesi] has joined #lisp 05:39:33 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 05:40:06 -!- maden [~maden@dsl-155-157.aei.ca] has quit [Read error: Connection reset by peer] 05:41:18 legumbre_ [~leo@r190-135-9-213.dialup.adsl.anteldata.net.uy] has joined #lisp 05:41:43 -!- R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has quit [Read error: Connection reset by peer] 05:42:57 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 240 seconds] 05:43:08 -!- legumbre [~leo@r190-135-6-17.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 260 seconds] 05:44:44 plage: doesn't the use of compiler mean you get a codewalker anyway? 05:44:46 R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has joined #lisp 05:45:23 you guys are still talking about codewalkers?? 05:45:40 evening folks 05:45:40 slyrus: nah, just responding to a comment by plage 05:46:22 p_l: Yeah, it was an attempt at a joke by getting back to that subject. 05:46:26 hello slyrus 05:47:05 *plage* will be right back. 05:47:08 -!- plage [~user@113.161.65.230] has left #lisp 05:48:06 hmm... so, how do I push these here changes from my git repo to the sf.net cvs repo? or will we one day bite the bullet and make antifuch's git repo the canonical source for sbcl? 05:49:41 use git-cvsexportcommit 05:49:43 it's a bit tedious 05:49:56 but nikodemus wrote instructions 05:50:47 aja [~aja@unaffiliated/aja] has joined #lisp 05:51:20 plage [~user@113.161.65.230] has joined #lisp 05:55:33 -!- R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!!] 05:56:51 Thanks. 05:56:55 *p_l* wonders if a "tree-shaker and delivery support for open source common lisp implementation" would be a good project for PhD 05:57:09 Just doing it the really easy way and evaluating all the bind forms to a temporary buffer makes everything much simpler. 05:57:29 p_l: I thought ECL was small enough for most people even without a tree-shaker. 05:58:11 quotemstr: ECL is also god-damn fragile and not as efficient (or capable in some areas) as SBCL 05:58:32 I would think that that would be a decent masters project rather than a PhD 05:58:35 Efficient I understand. Fragile, though? 05:58:47 a PhD (in the UK at least) is meant to add to the sum of human knowledge 05:58:51 I haven't actually used it. 05:58:58 Krystof: yeah, I think so too. 05:59:23 I'll have to check what would be a possible scope of graduation projects for my degree 05:59:33 Krystof: In practice, thesis projects often fill in small crevices in well-established theories. Kuhn would call that "normal science". 06:00:20 thanks Krystof 06:01:01 quotemstr: ECL needed a lot of work in the useability department when I tried to use it 2 years back. (but a lot has happened since then; my experience may be outdated) 06:01:20 *stassats* imagines a tree shaker for an agronomic thesis 06:03:19 quotemstr: embedded lisps don't have tree shakers, but suffer from much longer startup times, because they don't save images of the application state. ECL and ABCL both suffer from this issue. 06:03:45 ehu: unexec? 06:05:35 but large images are slow to load 06:06:38 OmniMancer [~OmniMance@60-234-239-34.bitstream.orcon.net.nz] has joined #lisp 06:09:15 -!- Tristam [~Tristam@cpe-67-242-195-25.nycap.res.rr.com] has quit [Ping timeout: 248 seconds] 06:09:23 what does (error () (error "..." ...)) mean? 06:09:53 resignal an error in a different way? 06:10:11 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 260 seconds] 06:10:14 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:10:51 R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has joined #lisp 06:11:41 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Client Quit] 06:11:44 ok, but why? 06:12:07 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:12:09 (the example I'm looking at is in sbcl's extern-alien-name) 06:12:25 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Client Quit] 06:12:39 i remember the reader for floats in sbcl does this to provide more context 06:12:52 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:13:39 merl15_ [~merl@188-22-171-104.adsl.highway.telekom.at] has joined #lisp 06:14:08 slyrus: "invalid external alien name" looks better than "X can't be converted to type BASE-STRING." 06:14:57 ok, thanks 06:16:45 hadronzoo [~hadronzoo@ppp-70-251-90-138.dsl.rcsntx.swbell.net] has joined #lisp 06:18:26 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Quit: leaving] 06:18:49 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:20:29 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Client Quit] 06:20:59 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:22:01 -!- R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has quit [Read error: Operation timed out] 06:23:11 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 06:23:27 astoon [~astoon@213.141.244.246] has joined #lisp 06:24:26 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Client Quit] 06:24:48 -!- astoon [~astoon@213.141.244.246] has quit [Client Quit] 06:24:52 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:25:00 astoon [~astoon@213.141.244.246] has joined #lisp 06:25:30 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Client Quit] 06:25:56 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:26:45 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Client Quit] 06:27:17 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:28:05 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Client Quit] 06:28:31 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:28:36 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Client Quit] 06:28:59 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 06:29:44 brandelune [~suzume@pl571.nas982.takamatsu.nttpc.ne.jp] has joined #lisp 06:32:15 any prolog people feel like fielding an extream noob question? #prolog is dead 06:36:24 You'll find out if you ask your question. 06:37:12 *p_l* haven't touched prolog since reading PAIP for first time 06:37:31 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 06:37:47 good morning 06:37:57 mvilleneuve: morning 06:38:01 hello mvilleneuve 06:38:06 plage: well, I just figured it out ;) All the tutorials and the book I have say to just start typing stuff in the repl, but swi prolog doesnt allow that. I have to create a file, then load it. O_o 06:38:43 *p_l* recalls using REPL with SWI Prolog 06:39:32 so at least now I can start typing stuff, p_l I cant create predicates on the fly ?- human(socrates). % this craps out with an error 06:39:58 mvilleneuve: I just pushed some more tests in SICL, but I guess you get the notification messages don't you? 06:40:19 that $1 prolog book was still at the thrift store, so I decided to dive in a while ;) 06:40:44 bytecolor: how are you starting SWI-Prolog? 06:41:08 p_l: either swipl from bash, or run-prolog from emacs 06:41:31 bytecolor: and repl doesn't come up? Or did it start finally? 06:42:01 yes, it comes up, but when I enter the first examples of any tut, or the book I have it errors with ummm... gimme a sec 06:42:05 bytecolor doesn't say it has no repl, but that he can't enter new terms 06:42:36 ERROR: toplevel: Undefined procedure: human/1 (DWIM could not correct goal) 06:42:48 sorry for the off-topic stuff people 06:43:36 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 06:43:54 I'll have prolog running here shortly, I'll test that 06:44:18 vu3rdd [~vu3rdd@164.164.250.10] has joined #lisp 06:44:29 cool, thanks p_l 06:44:32 -!- plage [~user@113.161.65.230] has left #lisp 06:44:56 but there's nothing to test, you indeed need a file 06:44:57 -!- pnq [asdf@ACA2F3C9.ipt.aol.com] has quit [Ping timeout: 240 seconds] 06:46:15 gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 06:48:12 deepfire [~deepfire@80.92.100.69] has joined #lisp 06:48:24 -!- OmniMancer [~OmniMance@60-234-239-34.bitstream.orcon.net.nz] has quit [Quit: Leaving.] 06:48:26 -!- legumbre_ [~leo@r190-135-9-213.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 245 seconds] 06:48:51 stassats: aye, I'm finding that out. I'll dig into the swi manual after trying a few chapters of the book to see if It's language worthy of my time ;) 06:50:12 Vxbemacs 06:50:23 Oops typed in wrong buffer. sorry 06:50:29 actually, I wanted to learn at least a little of prolog so I could follow the later chapters in 'on lisp' better. That's some seriously challenging code imo. 06:52:40 bytecolor: PAIP has some interesting stuff on Prolog, especially if you are looking at it from a Lisp POV. 06:53:25 aja: I've read a little of it, just picked at it really. I should give it a good go sometime. 06:53:48 lharc [~shrek@88.131.67.194] has joined #lisp 06:55:00 Tristam [~Tristam@cpe-67-242-195-25.nycap.res.rr.com] has joined #lisp 06:57:29 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Remote host closed the connection] 06:58:15 -!- Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Ping timeout: 240 seconds] 06:59:22 -!- aja [~aja@unaffiliated/aja] has quit [Read error: Connection reset by peer] 07:01:21 -!- grouzen [~grouzen@91.214.124.2] has quit [Ping timeout: 245 seconds] 07:02:18 bytecolor: SWI-Prolog nowadays requires a separate mode to enter facts. 07:02:59 p_l: that's fine, at least now I can do examples from the book ;) 07:03:05 bytecolor: type [user]. then type your facts like in tutorial, then hit C-d 07:04:32 ah, that's good to know 07:04:44 t3eblinder [~wolfgang@p5B2007DC.dip0.t-ipconnect.de] has joined #lisp 07:06:31 -!- Murdoc [~uhhh@host86-178-14-84.range86-178.btcentralplus.com] has quit [Read error: Connection reset by peer] 07:06:39 gravicappa [~gravicapp@80.90.116.82] has joined #lisp 07:07:57 plage [~user@113.161.65.230] has joined #lisp 07:08:33 Murdox [~uhhh@host86-174-164-53.range86-174.btcentralplus.com] has joined #lisp 07:10:28 j4K0b [~j4k0bk@93.160.119.14] has joined #lisp 07:11:07 -!- proq [~user@unaffiliated/proqesi] has quit [Ping timeout: 248 seconds] 07:15:49 ... some names amaze me... alternative nickname for a female-female cable? 07:15:51 -!- gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: gz] 07:15:54 lesbian 07:17:39 pemryan [~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa] has joined #lisp 07:20:09 -!- Makoryu [~vt920@pool-71-174-191-10.bstnma.fios.verizon.net] has quit [Quit: Absquatulandus sum] 07:20:33 trebor_dki [~user@mail.dki.tu-darmstadt.de] has joined #lisp 07:23:31 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 07:24:03 -!- me4 [~opera@091-141-033-087.dyn.orange.at] has quit [Ping timeout: 260 seconds] 07:24:22 Beetny [~Beetny@ppp118-208-30-161.lns20.bne1.internode.on.net] has joined #lisp 07:26:35 OmniMancer [~OmniMance@219-89-95-151.jetstart.xtra.co.nz] has joined #lisp 07:28:21 -!- pemryan [~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa] has quit [Remote host closed the connection] 07:28:42 pemryan [~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa] has joined #lisp 07:29:08 ejs [~eugen@77.222.151.102] has joined #lisp 07:31:29 npoektop [~npoektop@92.60.84.90] has joined #lisp 07:32:46 -!- djinni` [~djinni`@li14-39.members.linode.com] has quit [*.net *.split] 07:32:46 -!- sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has quit [*.net *.split] 07:32:46 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [*.net *.split] 07:32:46 -!- joga [joga@rikki.fi] has quit [*.net *.split] 07:32:46 -!- kuwabara [~kuwabara@cerbere.qosmos.eu] has quit [*.net *.split] 07:32:46 -!- sglinux [~sglinux@cm135.gamma91.maxonline.com.sg] has quit [*.net *.split] 07:32:46 -!- vsync [~vsync@24.173.173.82] has quit [*.net *.split] 07:32:46 -!- kg4qxk [~bohanlon@pool-173-48-104-141.bstnma.fios.verizon.net] has quit [*.net *.split] 07:32:46 -!- wgl [~wgl@209.242.26.45] has quit [*.net *.split] 07:32:46 -!- hdurer [~hdurer@pdpc/supporter/active/hdurer] has quit [*.net *.split] 07:32:46 -!- jsnell [~jsnell@vasara.proghammer.com] has quit [*.net *.split] 07:32:46 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [*.net *.split] 07:32:46 -!- stray_hound__ [~stray@c-24-245-50-140.hsd1.mn.comcast.net] has quit [*.net *.split] 07:32:46 -!- joshe [~joshe@opal.elsasser.org] has quit [*.net *.split] 07:32:46 -!- angstrom [~anon@unaffiliated/angstrom] has quit [*.net *.split] 07:32:46 -!- tootroot [~baka@unaffiliated/tootroot] has quit [*.net *.split] 07:32:47 -!- housel [~user@mccarthy.opendylan.org] has quit [*.net *.split] 07:32:47 -!- herbieB [~herbie@u15287329.onlinehome-server.com] has quit [*.net *.split] 07:32:47 -!- kajic_ [~kajic@Psilocybe.Update.UU.SE] has quit [*.net *.split] 07:32:47 -!- Helheim [~helheim@93.186.169.24] has quit [*.net *.split] 07:32:47 -!- hdurer_ [~hdurer@pdpc/supporter/active/hdurer] has quit [*.net *.split] 07:32:47 -!- jyujin [~mdeininge@vs166245.vserver.de] has quit [*.net *.split] 07:32:47 -!- C-Keen [ckeen@pestilenz.org] has quit [*.net *.split] 07:33:15 -!- ejs [~eugen@77.222.151.102] has quit [Ping timeout: 240 seconds] 07:33:41 -!- smanek [~smanek@cpe-98-14-140-77.nyc.res.rr.com] has quit [Quit: This computer has gone to sleep] 07:37:36 -!- astoon [~astoon@213.141.244.246] has quit [Ping timeout: 245 seconds] 07:38:30 ejs [~eugen@nat.ironport.com] has joined #lisp 07:38:58 djinni` [~djinni`@li14-39.members.linode.com] has joined #lisp 07:38:58 sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has joined #lisp 07:38:58 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 07:38:58 joga [joga@rikki.fi] has joined #lisp 07:38:58 kuwabara [~kuwabara@cerbere.qosmos.eu] has joined #lisp 07:38:58 sglinux [~sglinux@cm135.gamma91.maxonline.com.sg] has joined #lisp 07:38:58 C-Keen [ckeen@pestilenz.org] has joined #lisp 07:38:58 angstrom [~anon@unaffiliated/angstrom] has joined #lisp 07:38:58 vsync [~vsync@24.173.173.82] has joined #lisp 07:38:58 kg4qxk [~bohanlon@pool-173-48-104-141.bstnma.fios.verizon.net] has joined #lisp 07:38:58 joshe [~joshe@opal.elsasser.org] has joined #lisp 07:38:58 wgl [~wgl@209.242.26.45] has joined #lisp 07:38:58 hdurer [~hdurer@pdpc/supporter/active/hdurer] has joined #lisp 07:38:58 jsnell [~jsnell@vasara.proghammer.com] has joined #lisp 07:38:58 ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 07:38:58 tootroot [~baka@unaffiliated/tootroot] has joined #lisp 07:38:58 stray_hound__ [~stray@c-24-245-50-140.hsd1.mn.comcast.net] has joined #lisp 07:38:58 housel [~user@mccarthy.opendylan.org] has joined #lisp 07:38:58 herbieB [~herbie@u15287329.onlinehome-server.com] has joined #lisp 07:38:58 kajic_ [~kajic@Psilocybe.Update.UU.SE] has joined #lisp 07:38:58 Helheim [~helheim@93.186.169.24] has joined #lisp 07:38:58 hdurer_ [~hdurer@pdpc/supporter/active/hdurer] has joined #lisp 07:38:58 jyujin [~mdeininge@vs166245.vserver.de] has joined #lisp 07:39:38 -!- AntiSpamMeta [~MetaBot@unaffiliated/afterdeath/bot/antispambot] has quit [Excess Flood] 07:39:44 -!- joga [joga@rikki.fi] has quit [Changing host] 07:39:45 joga [joga@unaffiliated/joga] has joined #lisp 07:40:07 -!- kpreid [~kpreid@c-67-180-21-133.hsd1.ca.comcast.net] has quit [Quit: kpreid] 07:41:29 grouzen [~grouzen@91.214.124.2] has joined #lisp 07:41:48 AntiSpamMeta [~MetaBot@unaffiliated/afterdeath/bot/antispambot] has joined #lisp 07:41:53 Athas [~athas@82.211.209.162] has joined #lisp 07:44:44 -!- merl15_ [~merl@188-22-171-104.adsl.highway.telekom.at] has quit [Ping timeout: 240 seconds] 07:56:32 -!- kwertii [~kwertii@ResNet-33-73.resnet.ucsb.edu] has quit [Quit: bye] 07:58:00 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [] 07:58:45 merl15_ [~merl@188-22-166-106.adsl.highway.telekom.at] has joined #lisp 08:00:15 aw [~aw@w4438.dip.tu-dresden.de] has joined #lisp 08:00:24 vtl [~user@nat/redhat/x-hlqpilofwttckpje] has joined #lisp 08:01:23 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 260 seconds] 08:02:10 -!- drewc [~user@S01060013101b6ddb.vc.shawcable.net] has quit [Ping timeout: 260 seconds] 08:05:17 p_l, I just realized all ethernet cables are gay. 08:06:51 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Read error: Connection reset by peer] 08:10:31 Amadiro: then keep away from fiber 08:12:01 HET3 [~diman@w220.engin.cf.ac.uk] has joined #lisp 08:12:36 *p_l* still has ">50m of fiber on 10m distance" as one of his sysadmin horrors 08:12:48 (unmarked fiber) 08:14:10 -!- quotemstr [~quotemstr@cpe-67-247-228-249.buffalo.res.rr.com] has quit [Quit: quotemstr] 08:14:44 -!- HET4 [~diman@w220.engin.cf.ac.uk] has quit [Ping timeout: 240 seconds] 08:17:19 -!- spradnyesh [~pradyus@nat/yahoo/x-iuzhdxvqxvzdqdgj] has left #lisp 08:17:40 always mark your cables, and write a fancy CL app to keep track of them, too. Horrors await those that don't. 08:18:21 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 08:25:37 -!- pemryan [~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa] has quit [Remote host closed the connection] 08:27:05 Edward__ [~Ed@AAubervilliers-154-1-20-71.w90-3.abo.wanadoo.fr] has joined #lisp 08:30:51 xan_ [~xan@83.37.199.75] has joined #lisp 08:33:01 Murdoc [~uhhh@host86-186-32-22.range86-186.btcentralplus.com] has joined #lisp 08:33:20 seangrove [~user@c-67-188-2-246.hsd1.ca.comcast.net] has joined #lisp 08:33:28 -!- merl15_ [~merl@188-22-166-106.adsl.highway.telekom.at] has quit [Ping timeout: 260 seconds] 08:35:28 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 08:35:29 -!- Murdox [~uhhh@host86-174-164-53.range86-174.btcentralplus.com] has quit [Ping timeout: 258 seconds] 08:35:38 Murdox [~uhhh@host86-183-172-236.range86-183.btcentralplus.com] has joined #lisp 08:36:08 emacs-dwim [~user@pool-74-102-182-127.nwrknj.east.verizon.net] has joined #lisp 08:37:33 -!- Murdoc [~uhhh@host86-186-32-22.range86-186.btcentralplus.com] has quit [Ping timeout: 260 seconds] 08:39:18 OmniMancer1 [~OmniMance@122-57-0-151.jetstream.xtra.co.nz] has joined #lisp 08:40:31 -!- OmniMancer [~OmniMance@219-89-95-151.jetstart.xtra.co.nz] has quit [Ping timeout: 245 seconds] 08:42:53 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Read error: Operation timed out] 08:43:21 levente_meszaros [~levente_m@4d6f5d3b.adsl.enternet.hu] has joined #lisp 08:44:41 -!- hugod [~hugod@bas1-montreal50-1279441056.dsl.bell.ca] has quit [Ping timeout: 245 seconds] 08:47:34 pdelgallego [~pdelgalle@42.Red-217-125-2.staticIP.rima-tde.net] has joined #lisp 08:50:03 hugod [~hugod@bas1-montreal50-1279440693.dsl.bell.ca] has joined #lisp 08:51:13 nha [~prefect@imamac13.epfl.ch] has joined #lisp 08:51:55 -!- vtl [~user@nat/redhat/x-hlqpilofwttckpje] has quit [Read error: Connection reset by peer] 08:52:11 vtl [~user@nat/redhat/x-nfiaflvcjjcnnbja] has joined #lisp 08:52:59 -!- toekutr [~toekutr@adsl-69-107-114-83.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 08:54:18 spradnyesh [~pradyus@nat/yahoo/x-bfxnihswsvgujwcl] has joined #lisp 08:56:25 -!- sepult [~user@xdsl-78-34-105-214.netcologne.de] has quit [Ping timeout: 264 seconds] 08:57:28 rootzlevel [~user@91-66-217-25-dynip.superkabel.de] has joined #lisp 08:58:16 skeledrew [~skeledrew@0230-169-27-72-DYNAMIC-dsl.cwjamaica.com] has joined #lisp 09:02:46 -!- mbohun [~mbohun@202.124.72.36] has quit [Quit: Leaving] 09:05:04 -!- ejs [~eugen@nat.ironport.com] has left #lisp 09:06:10 -!- emacs-dwim [~user@pool-74-102-182-127.nwrknj.east.verizon.net] has left #lisp 09:08:04 -!- srcerer [~chatzilla@dns2.klsairexpress.com] has quit [Ping timeout: 258 seconds] 09:12:38 blandest [~user@85.204.33.242] has joined #lisp 09:13:26 -!- xan_ [~xan@83.37.199.75] has quit [Ping timeout: 258 seconds] 09:13:34 pemryan [~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa] has joined #lisp 09:13:40 varjag [~eugene@60-248-142-238.HINET-IP.hinet.net] has joined #lisp 09:15:01 entrosca [~entrosca@ip98-167-231-101.ph.ph.cox.net] has joined #lisp 09:17:46 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 260 seconds] 09:18:33 -!- aw [~aw@w4438.dip.tu-dresden.de] has quit [Quit: WeeChat 0.3.3-dev] 09:18:44 eno [~eno@nslu2-linux/eno] has joined #lisp 09:25:42 ignas [~ignas@78-60-73-85.static.zebra.lt] has joined #lisp 09:30:16 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 252 seconds] 09:31:09 eno [~eno@nslu2-linux/eno] has joined #lisp 09:31:36 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 09:33:27 -!- neoesque [~neoesque@210.59.147.232] has quit [Remote host closed the connection] 09:34:47 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 09:36:02 -!- retupmoca` [~retupmoca@adsl-75-41-2-5.dsl.klmzmi.sbcglobal.net] has quit [Ping timeout: 265 seconds] 09:39:59 Yuuhi [benni@p5483C34F.dip.t-dialin.net] has joined #lisp 09:41:50 Guthur [~michael@host86-150-202-161.range86-150.btcentralplus.com] has joined #lisp 09:42:08 attila_lendvai [~attila_le@catv-89-133-171-82.catv.broadband.hu] has joined #lisp 09:42:25 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #lisp 09:48:51 retupmoca` [~retupmoca@adsl-75-40-248-107.dsl.klmzmi.sbcglobal.net] has joined #lisp 09:51:47 how can I write x characters with format: for example I want 5 #, where 5 is a userprovided value 09:52:43 astalla [~astalla@93-36-225-105.ip62.fastwebnet.it] has joined #lisp 09:54:27 PissedNumlock: make it into a list of characters and use iteration constructs to print them 09:55:12 mhh, hoped there was another to do it, but thx 09:55:24 Krystof [~csr21@94-195-207-239.zone9.bethere.co.uk] has joined #lisp 09:58:46 xan_ [~xan@155.99.117.91.static.mundo-r.com] has joined #lisp 10:06:24 -!- Axioplase is now known as Axioplase_ 10:06:53 RaceCondition [~RaceCondi@82.131.73.171.cable.starman.ee] has joined #lisp 10:08:18 PissedNumlock: however, making a string of user-provided-count # is easy: (make-string user-provided-count :initial-element #\#) 10:08:22 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 10:10:52 PissedNumlock: (format nil "~,,v,'#A" 5 "") 10:14:11 I'd probably go with kuwabara's suggestion though :) 10:14:15 <3 10:14:18 I want your babies 10:14:26 but thanks will do I guess 10:15:24 pookleblinky [~pookle@cpe-69-207-0-72.buffalo.res.rr.com] has joined #lisp 10:16:54 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 10:21:49 SBCL's fasl loading is annoying in case you're trying to write scripts which depend on lots of libraries. 10:22:40 saving a core may be an option, but what about if one in the initial set of libraries changes? 10:24:02 Why is the fasl loading slow anyway? What has to happen at that time? 10:24:27 if the libraries changes, you will just have to recompile and drop a new core, no? 10:24:40 defvar initialization, load-time-value, eval-when, what else? 10:25:12 hypno: sure but that sounds like a can of worms. 10:25:47 pavelludiq [~quassel@87.246.14.242] has joined #lisp 10:26:31 tcr: Personally, I think fasls should be possible to load in slightly longer time than it takes to read the fasl into memory - the extra time being for eval-when/load-time and fixups 10:26:41 heh, well, perhaps true, but if you have a long running CL service, you will just open up another can of worms. the former is KISS tho. 10:27:07 tcr: i think method loading and other mop-ery is one of the slow things at fasl load time 10:28:25 tcr: we also need to deal with many libs, sometimes changing. we set up a build script that builds a core file with all the libs except ours, so we only pay the fasl loading for our stuff that changes often 10:28:38 -!- pavelludiq [~quassel@87.246.14.242] has quit [Remote host closed the connection] 10:28:47 pavelludiq [~quassel@87.246.14.242] has joined #lisp 10:29:22 http://dwim.hu/darcsweb/darcsweb.cgi?r=HEAD%20hu.dwim.build;a=summary invoked by ~/workspace/hu.dwim.build/bin/hu.dwim.build.sh --load-swank --development-build --overwrite-output-file hu.dwim 10:29:27 attila_lendvai: Sure we have a similiar setup. Do you have some means to guard against using a core where some of the 3rd-party libraries changed in between? 10:30:23 tcr: no, i just rebuild after i pulled. practice doesn't show this as a real headache, i don't pull external libs every day 10:30:54 well we're still in such a early stage that we pull in new ones regularly 10:31:13 and then my buddies have to check git log closely to make sure they rebuild there core 10:31:16 their 10:31:42 -!- Harag [~Harag@iburst-41-213-33-41.iburst.co.za] has quit [Ping timeout: 276 seconds] 10:32:02 ah, you have a git repo with all the dependencies? that's a different story, then i can understand your headache 10:32:29 sure to have a common ground 10:33:07 we have repo instances for that, but we are all agile enough not to worry too much if an image build fails... we ask and/or unpull and rebuild 10:34:20 well in our business we're rarely all in the same place, often in very different timezones 10:34:22 i mean we have cloned repos under a live/ directory that contains the revisions of all the dependencies. but we provide that mostly for external people who want to play with the dwim.hu libs 10:40:54 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 10:41:20 -!- moeffju[afk] is now known as moeffju 10:41:21 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 10:42:16 -!- myrkraverk [~johann@unaffiliated/myrkraverk] has quit [Ping timeout: 240 seconds] 10:47:37 myrkraverk [~johann@unaffiliated/myrkraverk] has joined #lisp 10:49:54 -!- Phoodus [foo@174-22-216-12.phnx.qwest.net] has quit [] 10:51:01 -!- ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has quit [Ping timeout: 264 seconds] 10:52:59 -!- fda314925 [~fda314925@211.239.124.232] has quit [Ping timeout: 248 seconds] 10:55:33 fda314925 [~fda314925@211.239.124.232] has joined #lisp 10:57:01 -!- varjag [~eugene@60-248-142-238.HINET-IP.hinet.net] has quit [Quit: Ex-Chat] 11:00:16 aw [~aw@141.76.6.190] has joined #lisp 11:00:18 sepult [~user@xdsl-84-44-143-229.netcologne.de] has joined #lisp 11:02:56 -!- stettberger [stettberge@2001:6f8:1209:f0:216:3eff:fe03:ff] has quit [Remote host closed the connection] 11:03:01 stettberger [stettberge@2001:6f8:1209:f0:216:3eff:fe03:ff] has joined #lisp 11:03:41 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 11:04:10 -!- pemryan [~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa] has quit [Remote host closed the connection] 11:04:33 pemryan [~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa] has joined #lisp 11:05:34 ephcon [~ephcon@174-25-127-51.ptld.qwest.net] has joined #lisp 11:06:42 Kolyan [~nartamono@95-27-134-251.broadband.corbina.ru] has joined #lisp 11:06:43 pjb [~t@60.Red-80-34-44.staticIP.rima-tde.net] has joined #lisp 11:08:35 astoon [~astoon@213.141.244.246] has joined #lisp 11:10:13 -!- entrosca [~entrosca@ip98-167-231-101.ph.ph.cox.net] has quit [Ping timeout: 264 seconds] 11:21:49 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 11:23:15 lexa_ [~lexa_@seonet.ru] has joined #lisp 11:23:38 -!- lexa_ [~lexa_@seonet.ru] has left #lisp 11:26:03 lexa_ [~lexa_@seonet.ru] has joined #lisp 11:28:08 -!- lexa_ [~lexa_@seonet.ru] has left #lisp 11:28:48 HG` [~HG@xdsl-92-252-19-240.dip.osnanet.de] has joined #lisp 11:31:08 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #lisp 11:31:42 -!- plage [~user@113.161.65.230] has quit [Remote host closed the connection] 11:33:28 stassats [~stassats@wikipedia/stassats] has joined #lisp 11:36:40 plage [~user@113.161.65.230] has joined #lisp 11:36:44 Good evening! 11:38:42 lexa_ [~lexa_@seonet.ru] has joined #lisp 11:40:44 evenin' 11:40:53 -!- lexa_ [~lexa_@seonet.ru] has left #lisp 11:41:05 afternoon schmrkc 11:41:19 Heya guthery 11:41:33 Hows things? 11:41:41 Things are extremely worn out and tired :) 11:42:01 good evenin plage 11:42:16 Have you been lifting too much stuff 11:42:29 Guthur: Something like that yes. 11:42:51 plage: have you seen my url about "Boules Quies"? minion was dead. 11:43:04 http://www.quies.com/pages/page_Notre-histoire_189_1.html 11:43:34 Guthur: Over the weekend I have eaten 3 pizzas, a big hamburger meal, huge breakfasts, very big lunches. And I have lost 13lbs of body mass. So you could say I have lifted too much ;) 11:43:57 -!- skeledrew [~skeledrew@0230-169-27-72-DYNAMIC-dsl.cwjamaica.com] has quit [Quit: Leaving.] 11:44:16 plage: Of course, since when you use it, you cannot hear the answer to the question "Qui Est-ce?" when someone rings the door, you keep repeating it like in http://www.youtube.com/watch?v=q3LUIZzifPw 11:44:58 schmrkc: That must have been some amount of lifting, that's a lot of food. 11:45:25 You need to embrace your inner couch potato, hehe 11:45:42 Guthur: I am embracing it. Yesterday I slept about 18 hrs :) 11:45:51 Odin- [~sbkhh@s121-302.gardur.hi.is] has joined #lisp 11:46:07 -!- Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Quit: Leaving] 11:47:54 brickhazel [~brickhaze@63.144.132.78] has joined #lisp 11:48:01 pjb: Thanks! It makes a bit more sense now. I won't try the youtube with this slow connection. It shall have to wait until the month of july. 11:50:44 Guthur: Was supposed to celebrate. instead I slept (: 11:50:56 -!- fnordus [~dnall@70.70.0.215] has quit [Remote host closed the connection] 11:51:28 Well, celebrate now, you have woke up, which is a nice thing to celebrate. 11:51:38 Guthur: How very zen of ya (: 11:52:21 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 11:52:57 Trying to figure out a nice way to wrap up foreign memory for opengl buffers... 11:53:09 It's decidedly un-zen, 11:53:33 Isn't cl-opengl supposed to handle all that? 11:53:50 hehe, well it doesn't really do it that well 11:54:48 is there something like locatives in any implementation? 11:55:04 -!- holycow [~new@poco208-2.fredcanhelp.com] has quit [Ping timeout: 240 seconds] 11:58:28 *stassats* figured another way, without locatives 11:58:55 what are locatives? 11:59:06 madnificent: http://common-lisp.net/project/bknr/static/lmman/fd-loc.xml 11:59:31 you use bkr? 11:59:48 it has nothing to do with bknr 11:59:59 it's a lisp machine manual 12:00:11 madnificent: Think of locatives as first-class places. 12:00:34 it's a bit like a pointer, right? 12:00:47 madnificent: yeah, like &whatever in C. 12:01:32 i wanted locatives because i read objects and replace references to other objects to pointers with ids to not yet read objects, and then i traverse all objects and replace pointers 12:01:34 it somewhat surprises me that CL doesn't have that. It is a handy thing to have. 12:02:23 stassats: They could be useful for implementing #= and ## in the reader. 12:02:53 i figured i can create a dummy object, and then change-class to it and fill right slots upon reading the actual object 12:03:38 madnificent: I would think they would complicate the garbage collector. 12:03:51 -!- Guthur [~michael@host86-150-202-161.range86-150.btcentralplus.com] has quit [Ping timeout: 245 seconds] 12:03:54 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 12:04:41 -!- pdelgallego [~pdelgalle@42.Red-217-125-2.staticIP.rima-tde.net] has quit [Ping timeout: 245 seconds] 12:04:47 i don't think so, objects reference other objects without troubles 12:05:07 plage: if the locative is an object itself, then it may be quite doable, you can't extract the memory address from it afaict from stassats's link 12:05:55 stassats: But if you have a locative that points to a cell of a vector (say) but nothing points to the vector, then you have to arrange for the GC to also point to the vector or something like that. 12:05:59 in fact, you could use a cons cell to emulate it, no? 12:06:59 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Client Quit] 12:07:08 _6502_ [~user@dynamic-adsl-94-36-231-44.clienti.tiscali.it] has joined #lisp 12:07:39 -!- seangrove [~user@c-67-188-2-246.hsd1.ca.comcast.net] has quit [Ping timeout: 260 seconds] 12:07:50 Or just a closure. Locatives can be implemented portably, see: http://groups.google.com/group/comp.lang.lisp/msg/1799d5db9267c523 12:08:00 Guthur [~michael@host86-136-55-105.range86-136.btcentralplus.com] has joined #lisp 12:08:37 -!- amaron [~amaron@greenzone.copyleft.no] has quit [Quit: Lost terminal] 12:08:43 plage: I saw the commit messages, yes (sorry about the late answer) 12:09:03 mvilleneuve \o/ 12:09:45 mvilleneuve: you have studied type systems in CL lately, right? 12:10:04 Jasko [~tjasko@209.74.44.225] has joined #lisp 12:10:59 <_6502_> yo: why wasn't allowed to have a symbol to be bound both to a function and to a macro ? 12:11:01 holycow [~new@poco208-2.fredcanhelp.com] has joined #lisp 12:11:16 HET4 [~diman@w220.engin.cf.ac.uk] has joined #lisp 12:11:41 how would you distinguish between both? 12:11:50 _6502_: how would the system decide on expanding the macro or applying the function? 12:12:12 <_6502_> i think that it should expand the macro if the symbol is in the first position of a form... 12:12:13 clhs compiler-macro 12:12:13 http://www.lispworks.com/reference/HyperSpec/Body/f_docume.htm 12:12:15 mvilleneuve: Sure, no problem. I just wanted to generate some noise to make sure it's alive. :) 12:12:31 _6502_: and when would you call the function then? 12:12:40 <_6502_> map, apply and the like 12:12:58 <_6502_> doesn't make any sense ? 12:13:02 doesn't 12:13:07 I think it would become confusing, as you wouldn't expect it 12:13:17 _6502_: do you want compilermacro functions, maybe? 12:13:44 _6502_: I think I understand your idea: you want to optimize code with a macro in some specific cases, and fall back to the function in case the macro is not available ? 12:13:44 schemers even don't like that you can have variables and functions with the same names 12:14:19 <_6502_> kwabara: that's one possibility... the macro could inspect the forms passed in as parameters 12:14:25 _6502_: in that case, check out http://www.lispworks.com/documentation/HyperSpec/Body/f_cmp_ma.htm 12:14:25 -!- HET3 [~diman@w220.engin.cf.ac.uk] has quit [Ping timeout: 264 seconds] 12:14:58 _6502_: if you don't want that, then you likely want to give the function a different name than the macro 12:15:22 -!- spradnyesh [~pradyus@nat/yahoo/x-bfxnihswsvgujwcl] has left #lisp 12:15:29 Murdoc [~uhhh@host86-182-64-63.range86-182.btcentralplus.com] has joined #lisp 12:15:39 -!- Edward__ [~Ed@AAubervilliers-154-1-20-71.w90-3.abo.wanadoo.fr] has quit [] 12:15:48 plage: heh :) 12:16:06 <_6502_> madnificent: i knew about compiler macro (even if it's not clear to me why those expansion shouldn't be always done) 12:16:16 -!- Murdox [~uhhh@host86-183-172-236.range86-183.btcentralplus.com] has quit [Ping timeout: 240 seconds] 12:16:31 madnificent: a bit yes, but I've given up on that topic for the moment. Are you studying that too? 12:16:33 mvilleneuve: I guess I should look at your implementation of hash tables. 12:17:33 <_6502_> i was about to restructure the symbol object to cleanup my toy lisp... so i wondered why not allowing to separate slots for the function and for the macro 12:17:48 <_6502_> now i've just one slot and a flag that tells me if it's a function or a macro 12:18:03 mvilleneuve: Matthias Felleisen had something interesting to say about type inferencing at ELS in Lisbon, but I am not sure that what he indicated as a problem in intrinsic to type inferencing. 12:18:38 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 265 seconds] 12:18:44 _6502_: So if the compiler sees (f x) and f is both a function and a macro, should it expand the macro or generate a call to the function? 12:18:49 mvilleneuve: I want to implement a typechecker (at compile-time) for sheeple (the prototype thing) in common lisp for my thesis. I wondered if you could point me to some things I should read with respect to that. 12:19:00 <_6502_> plage: expand the macro 12:19:23 _6502_: Do you know about compiler macros? 12:19:27 andelf [~andelf@119.118.235.225] has joined #lisp 12:19:33 <_6502_> but for (apply #'f whatever) should call the function 12:19:41 plage: scroll back 20 comments :) 12:19:48 plage: ah, interesting, I'll try to find a document about that 12:19:49 madnificent: Oh, sorry. 12:20:04 plage: np at all 12:20:07 mvilleneuve: He was an invited speaker. Not sure it was published. 12:20:16 _6502_: in any case, it isn't there in that form :) 12:20:18 plage: ah, too bad... 12:20:20 <_6502_> plage: or to say better when asked about #'f 12:20:42 <_6502_> madnificent: sorry ? i don't get your point... 12:20:47 _6502_: you'll need to use two names :) (perhaps you can hack it together, somehow) 12:21:23 <_6502_> madnificent: i know that it's not possible in CL ... i was wondering why this was the decision... 12:21:57 _6502_: because it's natural and obvious 12:22:00 madnificent: I only (tried to) read Milner's classic article ("a theory of type polymorphism in programming"), so my understanding of the theory is very vague 12:22:25 -!- bhyde [~Adium@c-66-30-201-212.hsd1.ma.comcast.net] has left #lisp 12:22:36 -!- Murdoc [~uhhh@host86-182-64-63.range86-182.btcentralplus.com] has quit [Ping timeout: 240 seconds] 12:23:00 mvilleneuve: I'm looking at the practical aspects of implementing the type-checker. I want to see what/how I could do it when I'm reading the theory on typecheckers. 12:23:05 Murdoc [~uhhh@host86-180-86-15.range86-180.btcentralplus.com] has joined #lisp 12:23:09 pdelgallego [~pdelgalle@42.Red-217-125-2.staticIP.rima-tde.net] has joined #lisp 12:24:01 mvilleneuve: I think the point Matthias was trying to make is that type inferencing generates cryptic error messages, because when there is a violation of the type system the system cannot determine why. Just like in constraint programming, if you have a < b, b < c, and c < a; which constraint is "responsible" for the conflict? 12:25:05 -!- Murdoc [~uhhh@host86-180-86-15.range86-180.btcentralplus.com] has quit [Read error: Connection reset by peer] 12:25:16 legumbre [~leo@r190-135-24-194.dialup.adsl.anteldata.net.uy] has joined #lisp 12:25:17 madnificent: basically, my type checker scans the code, associating any object with a type variable and producing constraints between those type variables, and then tries to solve the constraints using a kind of unification algorithm 12:25:59 mvilleneuve: is the source of it published? is it written in CL or is it implementation-specific for some reason? 12:26:41 madnificent: Milner's stuff is used a lot in the ML family languages. 12:26:59 Harag [~Harag@iburst-41-213-33-41.iburst.co.za] has joined #lisp 12:27:52 plage: OK I see, that's a good point. 12:28:14 Murdox [~uhhh@host86-186-33-244.range86-186.btcentralplus.com] has joined #lisp 12:28:21 *madnificent* wonders about macro-expansion 12:28:45 madnificent: it is written in CL, but works only on a tiny subset of the language (for example, it doesn't handle subclassing) 12:32:11 mvilleneuve: that's all ok. I'm wondering about the technical implications, not the theoretical ones right now. I'll likely try to follow objects during their possible life-cycles, trying to proove that they're doing something wrong. At compile-time or in a separate application. I'm wondering how I should start writing the type-checker in the sense of parsing lisp code. Should I try to implement it by using macros, so I can find 12:32:11 out extra information? Or should I use a code-walker over the non-expanded code? 12:35:05 madnificent: my checker ran after macro expansion, because I thought that inferring types of macros would have needed much more complexity 12:35:21 mvilleneuve: and how did you make it run after macro expansion? 12:35:51 madnificent: it's part of a compiler I am currently working on, so that was easy :) 12:36:16 ah, so it's not CL. I'll need to target an implementation for this then? 12:36:27 -!- nha [~prefect@imamac13.epfl.ch] has quit [Ping timeout: 248 seconds] 12:36:50 madnificent: That doesn't follow. Only that mvilleneuve is targeting a particular one. 12:37:09 -!- Beetny [~Beetny@ppp118-208-30-161.lns20.bne1.internode.on.net] has quit [Ping timeout: 276 seconds] 12:37:24 madnificent: http://dwim.hu/darcsweb/darcsweb.cgi?r=HEAD%20hu.dwim.walker;a=summary can walk the code for you into a CLOS AST. macroexpansion is done as part of walking in the default configuration 12:37:34 plage: I know, I'm trying to figure out how to ask him whether it should be possible :) 12:38:01 attila_lendvai: yes, but I'd still need to hook into defuns etc to find the forms to walk, correct? 12:38:55 -!- astalla [~astalla@93-36-225-105.ip62.fastwebnet.it] has quit [Quit: Sto andando via] 12:40:08 hm, change-class is not that fast 12:40:51 _6502_: The reason why compiler macros are not always expanded (or rather, why they can "choose" not to be) is that they often handle special cases of syntax that is known at compile time, such as keyword arguments or optional arguments, and generate special code for that, whereas if it sees (f x y z) for a function (defun f (a &key bla) ...) it can't verify at compile time that y will be :bla, so it just declines the expansion and 12:40:51 defers to the ordinary function code at runtime this verification. If the expansion would always happen, then the compiler macro would have to repeat the code for parsing keyword arguments at runtime. 12:40:57 madnificent: yep, that's a foggy area currently. for example there's a function-definition-form currently (needed by e.g. a lisp->js compiler), but i would like to ignore those things by default. i think i'll make toplevel definition parsing be part of a layer (contextl) that the users need to request when they call the walker 12:42:08 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 12:42:12 When a slot is shadowed, are there distinct slots within the instance, the shadowed ones only visible to the superclass, and the shadowing ones only visible to the subclass, or is the superclass slot replaced by the new one in the instance ? I think it's a replace, I'm just checking, I'm afraid that "visible to the superclass" has no meaning. 12:42:37 kuwabara: What is a shadowed slot? 12:42:38 kuwabara: they are not shadowed, but merged 12:43:12 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Client Quit] 12:43:31 the direct slot definition's parameters are overridden by the subclass and then it is flattened into an effective-slot-definition that will reuse the phisical location in the object 12:43:45 attila_lendvai: when do you think I could test-drive the walking of toplevel forms? 12:44:04 skeledrew [~skeledrew@0230-169-27-72-DYNAMIC-dsl.cwjamaica.com] has joined #lisp 12:44:06 kuwabara: Slots have names. Slot names are symbols. Symbols belong to packages. Thus you use ordinary package access to distinguish between slots named by different symbols that have the same names but different packages. 12:44:31 madnificent: i'll have to send a report and after that i'll look into it. i'll give you a note, if all's well then in an hour or two 12:45:01 attila_lendvai: that's too soon! :P 12:45:05 kuwabara: The only time a slot of a superclass is "replaced" by one in a subclass is when they have the same names (same symbol, so same name, same package). 12:45:26 madnificent: i prefer doing few minutes long refactors on the spot :) 12:45:38 attila_lendvai: I want to use it for my thesis, on which I should start spending time in two months and a half or so. 12:45:47 attila_lendvai: thanks for the help 12:49:29 Joreji [~thomas@94-135.eduroam.RWTH-Aachen.DE] has joined #lisp 12:50:28 -!- Odin- [~sbkhh@s121-302.gardur.hi.is] has quit [Ping timeout: 276 seconds] 12:53:07 astalla [~astalla@93-36-225-105.ip62.fastwebnet.it] has joined #lisp 12:54:14 -!- simplechat_ [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 12:54:27 -!- skeledrew [~skeledrew@0230-169-27-72-DYNAMIC-dsl.cwjamaica.com] has quit [Ping timeout: 260 seconds] 12:54:36 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 12:56:04 -!- Nshag [user@lns-bzn-28-82-250-151-180.adsl.proxad.net] has quit [Ping timeout: 240 seconds] 12:56:58 -!- Murdox [~uhhh@host86-186-33-244.range86-186.btcentralplus.com] has quit [Ping timeout: 276 seconds] 12:59:45 Murdoc [~uhhh@host86-180-85-111.range86-180.btcentralplus.com] has joined #lisp 12:59:53 egoz [~Egoz@202.70.51.46] has joined #lisp 13:00:31 -!- vu3rdd [~vu3rdd@164.164.250.10] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 13:01:15 -!- pemryan [~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa] has quit [Remote host closed the connection] 13:03:04 tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has joined #lisp 13:03:31 -!- tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has quit [Remote host closed the connection] 13:03:38 tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has joined #lisp 13:03:55 xyxxyyy [~xyxu@116.227.166.220] has joined #lisp 13:05:20 -!- sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 13:05:34 sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has joined #lisp 13:06:28 -!- grouzen [~grouzen@91.214.124.2] has quit [Ping timeout: 260 seconds] 13:08:21 bobbysmith007 [~russ@216.155.97.1] has joined #lisp 13:09:09 -!- astalla [~astalla@93-36-225-105.ip62.fastwebnet.it] has quit [Quit: Sto andando via] 13:09:24 -!- andelf [~andelf@119.118.235.225] has quit [Ping timeout: 240 seconds] 13:09:29 Nshag [user@lns-bzn-25-82-254-179-97.adsl.proxad.net] has joined #lisp 13:09:31 -!- billitch [~billitch@2a01:e35:8b7c:5ce0:e2cb:4eff:fea3:82c4] has quit [Ping timeout: 248 seconds] 13:11:06 -!- ikki [~ikki@201.144.87.42] has quit [Quit: Leaving] 13:14:25 delYsid [~user@chello084115136207.3.graz.surfer.at] has joined #lisp 13:20:03 -!- pavelludiq [~quassel@87.246.14.242] has quit [Ping timeout: 276 seconds] 13:20:44 -!- Athas [~athas@82.211.209.162] has quit [Remote host closed the connection] 13:21:37 orphee [~orphee@195.14.246.100] has joined #lisp 13:21:46 -!- _danb_ [~user@124-171-25-183.dyn.iinet.net.au] has quit [Ping timeout: 245 seconds] 13:21:59 -!- orphee [~orphee@195.14.246.100] has quit [Remote host closed the connection] 13:22:14 thanks all for your answers about slots 13:22:38 sure, no problem 13:22:58 andelf [~andelf@119.118.235.225] has joined #lisp 13:22:59 Do they make thinks clearer? 13:24:36 -!- Murdoc [~uhhh@host86-180-85-111.range86-180.btcentralplus.com] has quit [Ping timeout: 240 seconds] 13:24:47 -!- Joreji [~thomas@94-135.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 260 seconds] 13:24:56 Murdox [~uhhh@host86-186-33-104.range86-186.btcentralplus.com] has joined #lisp 13:26:05 Joreji [~thomas@94-135.eduroam.RWTH-Aachen.DE] has joined #lisp 13:28:03 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #lisp 13:30:11 mikezor_ [~mikael@c-e3e970d5.04-404-7570701.cust.bredbandsbolaget.se] has joined #lisp 13:30:28 plage: yes. Now I understand I was mixing 2 different issues to make a problem (name conflicts, which is solved by packages, and shadowing, which is solved for any practical purpose by not shadowing) 13:31:11 -!- mikezor [~mikael@c-e3e970d5.04-404-7570701.cust.bredbandsbolaget.se] has quit [Ping timeout: 260 seconds] 13:34:34 urnthr [~James@c-24-13-121-207.hsd1.in.comcast.net] has joined #lisp 13:35:09 seangrove [~user@m540f36d0.tmodns.net] has joined #lisp 13:35:17 -!- andelf [~andelf@119.118.235.225] has quit [Ping timeout: 265 seconds] 13:37:14 Bobrobyn [~rsmith05@CPE0015e9d40d4f-CM001ac30e9df0.cpe.net.cable.rogers.com] has joined #lisp 13:39:09 -!- mikezor_ [~mikael@c-e3e970d5.04-404-7570701.cust.bredbandsbolaget.se] has quit [Ping timeout: 265 seconds] 13:39:34 urantherz [~James@c-24-13-121-207.hsd1.in.comcast.net] has joined #lisp 13:40:48 mikezor [~mikael@c-e3e970d5.04-404-7570701.cust.bredbandsbolaget.se] has joined #lisp 13:40:56 -!- urnthr [~James@c-24-13-121-207.hsd1.in.comcast.net] has quit [Ping timeout: 245 seconds] 13:41:47 fdelgado [~user@12.228.15.162] has joined #lisp 13:42:01 -!- fdelgado is now known as felideon 13:42:53 Is there any library that anyone knows of that can be used to query system information? Say one wanted the hostname, or the CPU speed available, memory available that kinda stuff. I found the recent need in a program I wrote to fire off an email when my memory got too low, but it really got me thinking about if a library for this sorta stuff actaully exists yet or not. 13:43:35 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Read error: Connection reset by peer] 13:43:49 -!- myrkraverk [~johann@unaffiliated/myrkraverk] has quit [Ping timeout: 252 seconds] 13:44:34 TDT: I'll go with "no there is no such thing" 13:44:35 ejs [~eugen@25-254-95-178.pool.ukrtel.net] has joined #lisp 13:44:38 ffi 13:44:46 with libdiscover or so 13:44:57 a bit unix-centric that libdiscover though? 13:44:58 clhs machine-instance 13:44:59 http://www.lispworks.com/reference/HyperSpec/Body/f_mach_i.htm 13:45:01 for hostname 13:45:12 TDT: if you know the platform, you can just look in proc or whatever 13:45:33 Murdoc [~uhhh@host86-186-33-104.range86-186.btcentralplus.com] has joined #lisp 13:45:35 rsynnott: Yeah, that's what I"m doing already...I have it working for my needs, was just thinking of the community. 13:45:35 ok then use libhal 13:45:37 lol 13:46:21 libdiscover is something I don't know much about, but I'll take a look at that. I feel like I reinvented the wheel a bit with this recent project, which is part why I was curious. 13:47:45 -!- Murdox [~uhhh@host86-186-33-104.range86-186.btcentralplus.com] has quit [Ping timeout: 240 seconds] 13:48:05 myrkraverk [~johann@unaffiliated/myrkraverk] has joined #lisp 13:50:57 kpreid [~kpreid@c-67-180-21-133.hsd1.ca.comcast.net] has joined #lisp 13:51:28 Odin- [~sbkhh@157.157.93.22] has joined #lisp 13:51:38 -!- kpreid [~kpreid@c-67-180-21-133.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 13:51:43 laynor [~user@dhcp-892b9a72.ucd.ie] has joined #lisp 13:52:05 kpreid [~kpreid@c-67-180-21-133.hsd1.ca.comcast.net] has joined #lisp 13:52:09 j0be [~j0be@ke-works-1.starters.tudelft.nl] has joined #lisp 13:54:51 lexa_ [~lexa_@seonet.ru] has joined #lisp 13:55:27 andelf [~andelf@119.118.235.225] has joined #lisp 13:56:07 jdz [~jdz@host38-222-static.48-79-b.business.telecomitalia.it] has joined #lisp 13:56:17 grouzen [~grouzen@91.214.124.2] has joined #lisp 13:56:24 nha [~prefect@imamac13.epfl.ch] has joined #lisp 13:57:13 -!- plage [~user@113.161.65.230] has left #lisp 13:57:23 -!- sword` is now known as sword 13:58:45 -!- redline6561 [~redline@adsl-190-191-78.asm.bellsouth.net] has quit [Ping timeout: 240 seconds] 14:02:10 -!- Jasko [~tjasko@209.74.44.225] has quit [Quit: Leaving] 14:02:26 -!- yoonkn [~yoonkn@112.221.19.139] has quit [Ping timeout: 260 seconds] 14:03:00 -!- j4K0b [~j4k0bk@93.160.119.14] has quit [] 14:03:54 -!- sepult [~user@xdsl-84-44-143-229.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:04:32 -!- ejs [~eugen@25-254-95-178.pool.ukrtel.net] has quit [Quit: This computer has gone to sleep] 14:06:04 sepult [~user@xdsl-84-44-143-229.netcologne.de] has joined #lisp 14:07:41 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 14:08:05 -!- OmniMancer1 [~OmniMance@122-57-0-151.jetstream.xtra.co.nz] has quit [Quit: Leaving.] 14:08:40 ejs [~eugen@25-254-95-178.pool.ukrtel.net] has joined #lisp 14:10:15 -!- bgs000 is now known as bgs100 14:11:02 FareWell: ping 14:14:27 -!- tcr [~tcr@17.177.48.60.brk02-home.tm.net.my] has quit [Quit: Leaving.] 14:16:11 -!- Krystof [~csr21@94-195-207-239.zone9.bethere.co.uk] has quit [Ping timeout: 248 seconds] 14:17:22 astalla [~astalla@93-36-225-105.ip62.fastwebnet.it] has joined #lisp 14:19:13 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Ping timeout: 272 seconds] 14:19:53 -!- brandelune [~suzume@pl571.nas982.takamatsu.nttpc.ne.jp] has quit [Quit: brandelune] 14:21:49 rrice [~rrice@99.164.108.118] has joined #lisp 14:23:03 -!- kpreid [~kpreid@c-67-180-21-133.hsd1.ca.comcast.net] has quit [Quit: kpreid] 14:23:21 tcr [~tcr@203.82.80.100] has joined #lisp 14:24:47 -!- tcr [~tcr@203.82.80.100] has quit [Client Quit] 14:27:09 tcr1 [~tcr@203.82.92.127] has joined #lisp 14:27:56 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 14:29:01 pdenno [~pdenno@129.6.72.17] has joined #lisp 14:29:17 -!- toxygen [toxygen@stip-static-98.213-81-186.telecom.sk] has quit [Ping timeout: 240 seconds] 14:29:35 hefner [~hefner@ppp-58-9-115-189.revip2.asianet.co.th] has joined #lisp 14:30:42 Krystof [~csr21@94-195-207-239.zone9.bethere.co.uk] has joined #lisp 14:31:10 antoszka1 [~antoszka@cl-142.waw-01.pl.sixxs.net] has joined #lisp 14:32:13 -!- antoszka1 [~antoszka@cl-142.waw-01.pl.sixxs.net] has quit [Client Quit] 14:34:54 eXp`iRc|14641 [~lore@host64-129-static.29-79-b.business.telecomitalia.it] has joined #lisp 14:35:27 -!- eXp`iRc|14641 [~lore@host64-129-static.29-79-b.business.telecomitalia.it] has left #lisp 14:37:29 toxygen [toxygen@stip-static-98.213-81-186.telecom.sk] has joined #lisp 14:40:23 redline6561 [~redline@gate-20.spsu.edu] has joined #lisp 14:40:59 tcr [~tcr@203.82.92.70] has joined #lisp 14:42:34 -!- tcr1 [~tcr@203.82.92.127] has quit [Ping timeout: 260 seconds] 14:43:38 gigamonkey [~user@adsl-99-17-206-71.dsl.pltn13.sbcglobal.net] has joined #lisp 14:43:52 -!- abend [~alx@076-076-146-016.pdx.net] has quit [Ping timeout: 258 seconds] 14:45:16 -!- aw [~aw@141.76.6.190] has quit [Quit: WeeChat 0.3.3-dev] 14:46:45 Beetny [~Beetny@ppp118-208-30-161.lns20.bne1.internode.on.net] has joined #lisp 14:48:43 Murdox [~uhhh@host86-181-55-247.range86-181.btcentralplus.com] has joined #lisp 14:51:09 -!- Murdoc [~uhhh@host86-186-33-104.range86-186.btcentralplus.com] has quit [Ping timeout: 258 seconds] 14:51:44 -!- vtl [~user@nat/redhat/x-nfiaflvcjjcnnbja] has quit [Read error: Connection reset by peer] 14:52:02 vtl [~user@nat/redhat/x-joipicsakckayfek] has joined #lisp 14:52:11 -!- seangrove [~user@m540f36d0.tmodns.net] has quit [Ping timeout: 245 seconds] 14:52:49 smanek [~smanek@cpe-98-14-140-77.nyc.res.rr.com] has joined #lisp 14:52:50 -!- pdenno [~pdenno@129.6.72.17] has quit [Ping timeout: 260 seconds] 14:53:22 -!- andelf [~andelf@119.118.235.225] has quit [Quit: Leaving] 14:55:23 -!- j0be [~j0be@ke-works-1.starters.tudelft.nl] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.3/20100401080539]] 14:57:31 -!- blandest [~user@85.204.33.242] has left #lisp 15:01:55 varjag [~eugene@59-120-36-179.HINET-IP.hinet.net] has joined #lisp 15:02:05 -!- benny [~benny@i577A19EF.versanet.de] has quit [Ping timeout: 240 seconds] 15:03:41 -!- smanek [~smanek@cpe-98-14-140-77.nyc.res.rr.com] has quit [Quit: Leaving] 15:05:52 -!- sepult [~user@xdsl-84-44-143-229.netcologne.de] has quit [Read error: Connection reset by peer] 15:07:03 sepult [~user@xdsl-84-44-143-229.netcologne.de] has joined #lisp 15:11:39 -!- redline6561 [~redline@gate-20.spsu.edu] has quit [Ping timeout: 248 seconds] 15:12:50 abend [~alx@199.223.122.118] has joined #lisp 15:14:27 -!- nha [~prefect@imamac13.epfl.ch] has quit [Ping timeout: 276 seconds] 15:15:06 nyef [~nyef@pool-64-223-150-41.man.east.myfairpoint.net] has joined #lisp 15:15:17 G'morning all. 15:15:22 hi nyef 15:16:13 -!- ejs [~eugen@25-254-95-178.pool.ukrtel.net] has quit [Ping timeout: 264 seconds] 15:17:30 Anything happening today? 15:17:45 -!- lexa_ [~lexa_@seonet.ru] has left #lisp 15:20:28 4 thrills per minute 15:20:50 ejs [~eugen@153-91-95-178.pool.ukrtel.net] has joined #lisp 15:20:55 laynor` [~user@dhcp-892b9a72.ucd.ie] has joined #lisp 15:21:06 Athas [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 15:21:23 -!- tij1 [~tim@c-71-56-219-137.hsd1.co.comcast.net] has quit [Remote host closed the connection] 15:22:06 I had a really bad interview... 15:22:47 -!- laynor [~user@dhcp-892b9a72.ucd.ie] has quit [Quit: erc acting strange @_@] 15:23:28 -!- laynor` [~user@dhcp-892b9a72.ucd.ie] has quit [Client Quit] 15:23:45 -!- vtl [~user@nat/redhat/x-joipicsakckayfek] has quit [Remote host closed the connection] 15:24:25 Didn't want to work for them anyway, hehe 15:24:36 i had big plans for cl hacking this week (my wife and i were both scheduled for vacation), but my wife's got cancelled and the kids do not want to watch me hack. 15:24:45 -!- trebor_dki [~user@mail.dki.tu-darmstadt.de] has quit [Read error: Operation timed out] 15:24:48 *Xach* hopes to squeeze in some hacks during naptime 15:25:28 Xach: Have the children ever wanted to watch you hack CL? 15:25:53 right 15:25:59 Jasko [~tjasko@209.74.44.225] has joined #lisp 15:26:56 redline6561 [~redline@gate-20.spsu.edu] has joined #lisp 15:27:13 -!- Beetny [~Beetny@ppp118-208-30-161.lns20.bne1.internode.on.net] has quit [Ping timeout: 252 seconds] 15:27:22 Hacking usually requires significant patience, not something children are renowned for. 15:28:28 Xach: what's your blog or where ? 15:28:46 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 15:29:57 pavelludiq [~quassel@87.246.14.242] has joined #lisp 15:30:28 pdenno [~pdenno@bigfuzz.mxnet.mel.nist.gov] has joined #lisp 15:33:58 WePac [~bubble@p54AA56CC.dip.t-dialin.net] has joined #lisp 15:34:35 Stattrav [~Stattrav@123.238.45.214] has joined #lisp 15:36:30 -!- tcr [~tcr@203.82.92.70] has quit [Quit: Leaving.] 15:38:25 sepult: google knows! 15:38:47 laynor [~user@dhcp-892b9a72.ucd.ie] has joined #lisp 15:39:37 k 15:43:05 Guthur: really? I'd say it's everything that comes before hacking that requires patience. 15:44:37 -!- holycow [~new@poco208-2.fredcanhelp.com] has quit [Remote host closed the connection] 15:46:13 pkhuong: You plan first? 15:46:18 -!- Stattrav [~Stattrav@123.238.45.214] has quit [Ping timeout: 276 seconds] 15:46:20 How novel, hehe 15:47:36 Guthur: All of the background research, brainstorming, etc. that goes on before the inspiration for what to do strikes? The planning, however rough, of what to do? Yeah, that requires patience. 15:48:08 The actual hacking doesn't require patience, it's a self-reinforcing process. 15:50:12 With my recent foray into kernel hacking it became apparent that a certain amount of perseverance is require, but I suppose most of the time was taken doing research (reading AMD manuals etc). 15:50:26 require/required* 15:50:47 benny [~benny@i577A20EA.versanet.de] has joined #lisp 15:51:19 Though the previous comment was more that you don't really see any results for a long time. 15:51:24 -!- xan_ [~xan@155.99.117.91.static.mundo-r.com] has quit [Ping timeout: 240 seconds] 15:51:24 -!- ejs [~eugen@153-91-95-178.pool.ukrtel.net] has quit [Quit: This computer has gone to sleep] 15:51:42 hehe, and with kernel hacking that is actually a very long time. 15:52:00 That really depends on what you call "results". 15:52:18 results that kids find fun to watch. 15:52:31 Ah. -Those- results. 15:52:49 T gets boring after a while ;) 15:54:00 -!- redline6561 [~redline@gate-20.spsu.edu] has quit [Ping timeout: 265 seconds] 15:54:16 -!- urantherz [~James@c-24-13-121-207.hsd1.in.comcast.net] has quit [Ping timeout: 245 seconds] 15:54:51 Printing out a stack trace was a pretty cool achievement, but a brown screen with some numbers and letters on it isn't much to look at. 15:56:36 LaPingvino [~LaPingvin@c3po.streamtech.nl] has joined #lisp 15:57:01 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Read error: Operation timed out] 15:58:50 rread_ [~rread@c-98-234-219-222.hsd1.ca.comcast.net] has joined #lisp 15:58:59 *nyef* didn't bother with the stack trace, just the register contents. 15:59:31 -!- rread_ [~rread@c-98-234-219-222.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 15:59:37 rread_ [~rread@nat/sun/x-tagbpvanhuoldajh] has joined #lisp 15:59:40 -!- Jasko [~tjasko@209.74.44.225] has quit [Quit: Leaving] 15:59:45 -!- rread_ [~rread@nat/sun/x-tagbpvanhuoldajh] has quit [Client Quit] 16:00:09 For exceptions it is pretty handy 16:01:22 -!- LaPingvino [~LaPingvin@c3po.streamtech.nl] has left #lisp 16:01:27 -!- md1 [~user@chello089173014058.chello.sk] has quit [Remote host closed the connection] 16:01:52 -!- rread [~rread@nat/sun/x-rambncnkfjlpaaqs] has quit [Ping timeout: 252 seconds] 16:01:57 ejs [~eugen@153-91-95-178.pool.ukrtel.net] has joined #lisp 16:02:23 Edward_ [Ed@AAubervilliers-154-1-33-92.w90-3.abo.wanadoo.fr] has joined #lisp 16:03:55 -!- pjb [~t@60.Red-80-34-44.staticIP.rima-tde.net] has quit [Ping timeout: 248 seconds] 16:05:02 billitch [~billitch@rob92-1-82-67-155-88.fbx.proxad.net] has joined #lisp 16:05:56 -!- Krystof [~csr21@94-195-207-239.zone9.bethere.co.uk] has quit [Ping timeout: 245 seconds] 16:06:19 galiley [~user@77.70.2.99] has joined #lisp 16:06:26 where can i find a grouping of various lisp implementations, like in a family-tree ? 16:06:43 -!- ejs [~eugen@153-91-95-178.pool.ukrtel.net] has quit [Ping timeout: 260 seconds] 16:10:03 -!- jdz [~jdz@host38-222-static.48-79-b.business.telecomitalia.it] has quit [Quit: Leaving] 16:10:07 HET3 [~diman@w220.engin.cf.ac.uk] has joined #lisp 16:11:39 -!- npoektop [~npoektop@92.60.84.90] has quit [Ping timeout: 276 seconds] 16:11:59 ejs [~eugen@nat.ironport.com] has joined #lisp 16:12:16 -!- WePac [~bubble@p54AA56CC.dip.t-dialin.net] has quit [Quit: adios] 16:12:35 -!- HET4 [~diman@w220.engin.cf.ac.uk] has quit [Ping timeout: 240 seconds] 16:12:45 -!- HG` [~HG@xdsl-92-252-19-240.dip.osnanet.de] has quit [Quit: Leaving.] 16:12:46 common-lisp began 1984 ? 16:13:05 -!- varjag [~eugene@59-120-36-179.HINET-IP.hinet.net] has quit [Quit: Ex-Chat] 16:13:14 urnthr [~James@c-24-13-121-207.hsd1.in.comcast.net] has joined #lisp 16:14:18 jewel [~jewel@196-210-187-124-tbnb-esr-2.dynamic.isadsl.co.za] has joined #lisp 16:14:47 kpreid [~kpreid@216.239.45.19] has joined #lisp 16:15:17 gigamonk` [~user@adsl-99-39-5-109.dsl.pltn13.sbcglobal.net] has joined #lisp 16:15:21 lhz [~shrekz@c-dba672d5.021-158-73746f34.cust.bredbandsbolaget.se] has joined #lisp 16:16:44 -!- gigamonkey [~user@adsl-99-17-206-71.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 240 seconds] 16:17:11 -!- hlavaty`` [~user@77-22-102-139-dynip.superkabel.de] has quit [Ping timeout: 245 seconds] 16:18:04 sepult: i think CLTL1 came out in 1984, so "sort of" yes, i guess. but CL was influenced by other lisps before it (maclisp, zetalisp...) 16:18:22 -!- Murdox [~uhhh@host86-181-55-247.range86-181.btcentralplus.com] has quit [Ping timeout: 264 seconds] 16:18:24 right i see 16:19:35 Murdox [~uhhh@host86-181-50-225.range86-181.btcentralplus.com] has joined #lisp 16:23:15 ikki [~ikki@201.155.75.146] has joined #lisp 16:23:49 R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has joined #lisp 16:26:14 -!- sepult [~user@xdsl-84-44-143-229.netcologne.de] has quit [Remote host closed the connection] 16:28:09 has anyone heard of a problem with thread-safety of TLS slot allocation in SBCL? 16:28:21 I'm having a symptom that seems like it might be caused by such an issue 16:28:36 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 16:29:20 some code which perhaps boils down to: (let ((*x* ...) ... (assert (boundp '*x*))), when run in two threads simultaneously is sometimes failing the assert. 16:29:55 -!- ejs [~eugen@nat.ironport.com] has quit [Ping timeout: 260 seconds] 16:30:09 redline6561 [~yaaic@m465e36d0.tmodns.net] has joined #lisp 16:30:10 (sorry, meant: (let ((*x* ...)) of course) 16:30:36 morphling [~stefan@gssn-5f756aab.pool.mediaWays.net] has joined #lisp 16:31:22 fiveop [~fiveop@g229176042.adsl.alicedsl.de] has joined #lisp 16:31:33 rread [~rread@nat/sun/x-ajjcmvdmfvofxzky] has joined #lisp 16:33:43 It's not -supposed- to be thread-unsafe... 16:34:07 -!- redline6561 [~yaaic@m465e36d0.tmodns.net] has quit [Client Quit] 16:34:14 Then again, I don't know enough about the multi-process memory model to be able to evaluate if it really is or not. 16:34:16 sepult [~user@xdsl-84-44-143-229.netcologne.de] has joined #lisp 16:34:39 You know where the code for it is, right? 16:34:41 I do 16:34:55 I'm looking at it, trying to stare it into submission. :) 16:34:55 -!- gigamonk` [~user@adsl-99-39-5-109.dsl.pltn13.sbcglobal.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:34:57 redline6561 [~yaaic@m465e36d0.tmodns.net] has joined #lisp 16:34:58 ejs [~eugen@153-91-95-178.pool.ukrtel.net] has joined #lisp 16:34:58 -!- redline6561 [~yaaic@m465e36d0.tmodns.net] has quit [Client Quit] 16:34:58 Oh! And remember that there are two implementations. 16:35:03 I did not remember that 16:35:05 One in the runtime and one in the core. 16:35:26 I think only the in-core one matters here, since this is a user symbol? 16:37:39 -!- Odin- [~sbkhh@157.157.93.22] has quit [Ping timeout: 276 seconds] 16:42:30 -!- kpreid [~kpreid@216.239.45.19] has quit [Quit: kpreid] 16:43:03 attila_lendvai1 [~attila_le@catv-89-133-171-82.catv.broadband.hu] has joined #lisp 16:43:03 -!- attila_lendvai [~attila_le@catv-89-133-171-82.catv.broadband.hu] has quit [Disconnected by services] 16:43:05 -!- attila_lendvai1 is now known as attila_lendvai 16:44:31 Probably true, yes. 16:48:05 -!- fiveop [~fiveop@g229176042.adsl.alicedsl.de] has quit [Quit: humhum] 16:48:37 I wish there was some reasonable way to check the thread-safety of that function instead of staring at the asm to see if I can find a bug. :P 16:49:00 drewc [~user@S01060013101b6ddb.vc.shawcable.net] has joined #lisp 16:53:49 -!- ejs [~eugen@153-91-95-178.pool.ukrtel.net] has quit [Quit: This computer has gone to sleep] 16:54:19 gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 16:54:20 -!- xyxxyyy [~xyxu@116.227.166.220] has left #lisp 16:56:07 -!- Athas [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote host closed the connection] 16:56:39 -!- laynor [~user@dhcp-892b9a72.ucd.ie] has quit [Remote host closed the connection] 17:00:39 -!- hadronzoo [~hadronzoo@ppp-70-251-90-138.dsl.rcsntx.swbell.net] has quit [Quit: hadronzoo] 17:02:15 -!- bytecolor [~user@adsl-70-133-77-125.dsl.scrm01.sbcglobal.net] has quit [Ping timeout: 258 seconds] 17:03:19 -!- ignas [~ignas@78-60-73-85.static.zebra.lt] has quit [Ping timeout: 276 seconds] 17:03:54 foom: I guess you could try "walk the code" ^_- and check for mutable operations :D 17:04:27 who is running lisppaste? #emacs would like him back after the unfortunate spam attack some days ago ;-) 17:04:58 fledermaus [~vivek@2a01:348:16d:0:221:6aff:fe13:5d08] has joined #lisp 17:05:37 hey, is the lisppaste owner/wrangler here? 17:05:47 if so, could we have lisppaste back in #emacs please? 17:06:34 foom: I can try to write a race VOP on my new 24-way box later this week (: 17:07:26 pkhuong: 24way box? Does it have apropriate I/O? :D 17:08:03 nyef: Lisppaste requests, who's admin'ing? 17:08:11 p_l: sorry, 2-way, 24 threads, thinko 17:08:46 there's an 8-way in the lab somewhere, but it's pretty old. 17:09:07 pkhuong: SPARC? Don't know other architecture with 12 threads 17:09:20 LaPingvino [~LaPingvin@5ED161A7.cable.ziggo.nl] has joined #lisp 17:09:53 -!- abend [~alx@199.223.122.118] has quit [Ping timeout: 265 seconds] 17:09:54 p_l: sure you do, intel x86-64. 6 core 12 threads. 17:10:04 -!- rockon [~jellhell1@67.220.166.250] has quit [Ping timeout: 240 seconds] 17:11:04 pkhuong: that's 6-way then 17:11:23 I count sockets, not cores. 17:11:37 redline6561 [~yaaic@m465e36d0.tmodns.net] has joined #lisp 17:12:06 pkhuong: Well, I think it's more logical to count actual cores for that, not their packaging (especially with Core & Core2 architecture) 17:13:29 -!- LaPingvino [~LaPingvin@5ED161A7.cable.ziggo.nl] has quit [Read error: Connection reset by peer] 17:13:35 LaPingvino [~LaPingvin@5ED161A7.cable.ziggo.nl] has joined #lisp 17:14:28 proq [~user@unaffiliated/proqesi] has joined #lisp 17:16:34 fsmunoz [~fsmunoz@a81-84-225-153.cpe.netcabo.pt] has joined #lisp 17:16:40 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 17:16:45 -!- Joreji [~thomas@94-135.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 240 seconds] 17:17:28 Why am I always getting "Error: Don't have a Lisp system to bootstrap from." from clbuild, even though I have sbcl (and ecl, for that matter) installed and use it just find with `clbuild lisp'? Do I have to set some config somewhere for it to be recognized by all clbuild applications or something? 17:17:37 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 17:17:46 s/find/fine/ 17:18:16 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 17:19:10 and perhaps also s/installed/compiled from clbuild/; I don't really have it "installed" in the usual Unix sense 17:19:15 -!- redline6561 [~yaaic@m465e36d0.tmodns.net] has quit [Ping timeout: 276 seconds] 17:19:44 When are you getting the error? 17:19:59 When trying to compile the implementation? 17:20:07 well, whenever clbuild needs a lisp 17:20:25 with `clbuild check', for example 17:20:37 or when trying to compile the implementation, yes 17:20:54 -!- ClaudiaS [~user@mail2.siscog.pt] has quit [Remote host closed the connection] 17:21:03 I had that recently as well, it maybe looking in the unix place 17:21:25 I can't remember exactly. 17:21:32 -!- gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has left #lisp 17:21:41 yes, but that strikes me as rather silly -- wasn't clbuild meant to make a out-of-clbuild installation unnecessary? 17:21:48 -!- LaPingvino [~LaPingvin@5ED161A7.cable.ziggo.nl] has left #lisp 17:21:51 -!- fledermaus [~vivek@2a01:348:16d:0:221:6aff:fe13:5d08] has left #lisp 17:21:59 stepnem, Ye it was annoying 17:22:07 Actually I still get the error 17:22:20 But I only really use clbuild slime 17:22:37 yes, I've been getting it ever since I started to use clbuild, i.e. a year or so 17:23:01 and now I finally thought I'd ask here! ;-) 17:23:57 formerly I just solved it by installing some Lisp as usual, from a Debian package 17:24:22 but I'd like to avoid that now in a freshly installed system 17:24:53 I'm having a look, maybe someone will come with a solution though 17:24:56 stepnem: What at a high level are you trying to accomplish? 17:25:19 reb: not sure what you mean? Did you read the backlog? 17:26:27 stepnew: Well, I can see that you're fiddling with clbuild, but I'm wondering what the overall goal is. Installation of a particular lisp? Certain libraries you need? 17:26:35 interesting, I was thinking everybody used clbuild... strange to imagine this problem has always existed 17:26:56 I don't use clbuild. 17:26:59 reb: both 17:27:18 fgtech^ [fgtech@193.219.39.203] has joined #lisp 17:27:36 -!- urnthr [~James@c-24-13-121-207.hsd1.in.comcast.net] has quit [Ping timeout: 245 seconds] 17:27:47 -!- fgtech [fgtech@193.219.39.203] has quit [Ping timeout: 260 seconds] 17:28:26 -!- Nshag [user@lns-bzn-25-82-254-179-97.adsl.proxad.net] has quit [Ping timeout: 245 seconds] 17:29:11 abend [~alx@199.223.122.118] has joined #lisp 17:30:05 stepnem: I use my own Lisp code to keep up to date with many public code repositories that contain Lisp code. 17:30:17 I should open source my stuff. 17:30:20 -!- bobbysmith007 [~russ@216.155.97.1] has quit [Quit: Leaving.] 17:31:36 well with clbuild the library installation and keeping up-to-date part is really convenient 17:31:50 it's just this weirdness that bothers me 17:33:45 -!- _6502_ [~user@dynamic-adsl-94-36-231-44.clienti.tiscali.it] has left #lisp 17:34:50 bobbysmith007 [~russ@216.155.97.1] has joined #lisp 17:39:03 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 17:47:02 -!- egoz [~Egoz@202.70.51.46] has quit [Quit: Leaving] 17:48:09 Nshag [user@lns-bzn-21-82-64-65-239.adsl.proxad.net] has joined #lisp 17:48:30 at ITA we have some 24core boxes, 4 * 6core cpus. And a few more 2 * 6core. 17:49:51 the 24core ones don't support hyperthreading, so you can't pretend they're 48, though. :P 17:50:22 x86 or x86-64 tho? 17:50:30 x86-64 17:51:07 i deal with newer sparc.. they usually show up either 64 or 128 cpus. but they count threaded execution as one cpu or somesuch. 17:53:03 I wonder if having 8-way hyperthreading is actually useful on sparc 17:53:26 -!- SandGorgon [~OmNomNomO@122.162.129.207] has quit [Ping timeout: 245 seconds] 17:53:49 Murdoc [~uhhh@host86-182-71-161.range86-182.btcentralplus.com] has joined #lisp 17:53:49 2-way seems to be good for about 20% higher total throughput on the i7s. 17:53:58 I would think you'd reach a point of diminishing returns rather quickly 17:54:21 foom: I'd really like ro see a barrel-threaded x86-64 with enough threads to completely hide all latency without too much magic (: 17:54:58 well, i dont know much about hyperthreading, but as far as newer sparcs go; they are great if they suit your workload and/or you need to partition out a lot power, yet maintain low rack/energy needs. 17:54:59 -!- astoon [~astoon@213.141.244.246] has quit [Ping timeout: 260 seconds] 17:55:10 rdd [~rdd@c83-250-52-182.bredband.comhem.se] has joined #lisp 17:55:29 HG` [~HG@xdsl-92-252-53-99.dip.osnanet.de] has joined #lisp 17:55:52 Deesl [~bsdboy@unaffiliated/deesl] has joined #lisp 17:55:55 hypno: Niagara architecture is rather weird, since it's a mix between SMT and multicore 17:56:04 -!- Murdox [~uhhh@host86-181-50-225.range86-181.btcentralplus.com] has quit [Ping timeout: 240 seconds] 17:56:09 it's great if you don't need floating point 17:56:25 T1 has one FPU and T2 afaik 2 17:56:47 yeah, it has been working very well for us, but the usecase really need to match. 17:56:49 I guess I'd be interested to see performance numbers for running a computation 16-way vs 32-way vs 64-way vs 128-way on those. 17:57:03 maaan, this thing's non-trivial 17:57:25 lemme ask a semi-abstract compiler question: 17:57:27 astoon [~astoon@213.141.244.246] has joined #lisp 17:57:40 each of them has I think 8 integer/load/store/etc. units, with each of themexecuting two separate threads, switching every n opcodes 17:57:44 mathrick: You mean your thesis thing is non-trivial? :) 17:57:51 no, LinJ actually 17:57:56 thesis is non-trivial too 17:58:02 p_l: the thing I see says it has 16 CPUs, each of which can run 8 threads 17:58:10 foom: Erlangers love them. It's like strapping the VM to an Orion drive :) 17:58:23 heh 17:58:30 moah [~gnu@dslb-188-101-026-182.pools.arcor-ip.net] has joined #lisp 17:58:36 foom: I think that's T2 17:58:50 T1 might have had 4 threads per integer unit 17:58:56 FPUs are shared between cores 17:59:40 I would have expected that as you get much beyond twice as many threads as CPUs, you start slowing down rather than speeding up total throughput, due to cache pressure and other such secondary effects. 17:59:41 in LinJ, I need to keep around references to variables that might form a part of a closure, and depending on whether they're assigned to or not, need to be made into slots of a local object or not. If it turns out they are slots after all, they need to be stuffed into the containing object, and the object declared and created, which morphs the AST quite a bit 18:00:08 now, should I try to do this tree morphing as early as possibly, or should I try to patch things later on? 18:00:16 stepnem: clbuild assumes an out-of-tree 'system' lisp for bootstrapping the clbuild lisp. 18:00:35 I generally use the sbcl in the debian package pool. 18:00:37 the advantage of delaying is that the pass that actually notices assignments to closed-over variables comes in pretty late 18:00:50 mathrick: depends on the sort of transformations you'll also be performing. 18:01:23 pkhuong: yeah, I'm not exactly sure what I'll be performing, since I'm not the original author and still have a rather cursory grasp of the thing 18:01:37 Detecting variable assignment and capture is a really straightforward AST descent. 18:02:12 pkhuong: aha, so it should be easy to have it happen early on? 18:02:28 rmarynch [~roman@bras-7-ge-62.122.200.234.utm.if.ua] has joined #lisp 18:02:40 the way it does parsing is already a lot of descending in multiple phases 18:03:11 any dwim.hu folks present? 18:03:24 Fade: the problem? 18:03:26 -!- astoon [~astoon@213.141.244.246] has quit [Ping timeout: 245 seconds] 18:03:37 mathrick: sure, but further rewriting could introduce (that'd be surprising) or remove assignment. 18:03:59 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 18:04:01 not a problem so much as I was just watching clbuild complain about stale repos at common-lisp.net and I was thinking about patching it to point at your advertised canonical location. 18:04:19 do you see any particular problem with that? 18:04:32 how far have your repos diverged from those at common-lisp.net? :) 18:04:32 Fade: yeah, I figured as much, but isn't that silly? (Actually, IIRC when you first compile ecl from clbuild, then you can use it to bootstrap sbcl) 18:05:10 Hi! Is there any CL library for working with audio I/O? Just to receive the sound data from the microphone? 18:05:37 rmarynch: with-open-file and /dev? 18:05:37 Fade: depends. the only headache is with metacopy, but your branch is backwards compatible 18:05:47 silly? idk. clbuild images tend to be pretty dynamic. it seems sort of sane to me to have a lisp hanging around that rarely changes for such purposes. 18:05:50 pkhuong: oh, right. But I don't think it could actually change whether there's any assignment present in this case. It does a fair bit of contextual transforming, but I don't believe any could result in more or less assignment 18:06:29 rmarynch: if recording is done in a way similar to playback, it should be easy to drive libasound via cffi 18:06:42 pkhuong: And maybe some basic processing, like simple filtering? 18:07:19 attila_lendvai: what's the headache in metacopy? 18:07:21 Fade: it might be sane, but I'm not sure it should be a requirement 18:07:37 rmarynch: hefner would know. 18:07:39 -!- derrida [~derrida@unaffiliated/deleuze] has quit [Ping timeout: 248 seconds] 18:07:39 hefner: thanks, I will try 18:07:51 Fade: we added support for loading the whole codebase in another package using contextl 18:08:06 stepnem: there is probably value in having clbuild allow a freestanding cold init sort of situation. 18:08:12 attila_lendvai: ahh 18:08:16 foom: well, SMT in Niagara is very simple, iirc based on multiple (or cache-backed) register files and barrel-style execution 18:08:51 redline6561 [~redline@gate-30.spsu.edu] has joined #lisp 18:09:12 stepnem: it would probably work fine with ecl and ccl 18:09:20 Fade: I was considering rewriting an equivalent of clbuild completely in CL, with some extras, and have it as a dumped image 18:09:30 p_l: *nod* 18:09:45 p_l: integrating it with lispy might be a way forward. 18:09:49 lispy looks pretty promising. 18:10:09 -!- rmarynch [~roman@bras-7-ge-62.122.200.234.utm.if.ua] has quit [Quit: Leaving] 18:10:26 Fade: local-time only is two patches behind that would break our live system; metacopy we discussed; postmodern has some smallies but compatible; moptilities has some asdf compatibility patch; cl-graph has some features, not sure if loading breaks but those changes seem to be other than oneliners 18:10:37 clbuild is a major convenience, but it's still at the mercy of the health of a plenitude of different rcs systems. 18:11:27 Fade: also note that we have two set of repos. the stuff at http://dwim.hu/live/ contains a revisions that compile and run dwim.hu 18:11:31 attila_lendvai: okay. I'll try it out locally before I announce any patch to the clbuild list. 18:11:43 yeah, I saw that 18:11:49 HEAD is bleeding edge? 18:12:07 what is the non-webular darcs access path to those repos? 18:13:06 (are you working primarily in git now?) 18:13:56 Fade: darcs get links are linked from darcsweb (but it's dwim.hu/live/ ) 18:14:14 -!- HG` [~HG@xdsl-92-252-53-99.dip.osnanet.de] has quit [Quit: HG`] 18:14:19 Fade: no, we are still very much fine with darcs because out of order patch handling is key in our working model 18:14:32 *Fade* nods 18:14:38 i only deal with git when the external world forces me to 18:14:45 Fade, head repos are at http://dwim.hu/darcs/ 18:14:58 well, for clbuild, I think live might be better suited. 18:15:09 unless it's too static? 18:15:17 Fade: my idea was to separate the process into three different parts (all contained within the same image): Environment Management (ASDF2, paths to implementations, custom sets of packages), Acquisition of packages (Lispy + (D)VCS, interface to manage and update information on available software), Building of packages (Creating a package out of repo, automating version numbers, testing ASDF definitions etc - making "release" a ... 18:15:24 ... single command) 18:15:53 p_l: that sounds sane to me. 18:16:07 Fade: go with live, we update it at least once a month 18:16:08 *levente_meszaros* thinks live is a good name after all, it's not head but not *stable* (whatever that would mean) either 18:17:00 http://dwim.hu/darcs/live/ ? 18:19:05 Fade: ASDF2 made configuration support much easier 18:19:15 Fade, head: /darcs/hu.dwim.perec for live: /live/hu.dwim.perec see install guide at the web site 18:20:38 thanks levente_meszaros 18:20:53 p_l: aye. 18:20:55 *p_l* used HEAD for perec 18:21:12 I have a feeling I'll have to rebuild my clbuild install soon... again 18:21:38 (meaning rm -Rf ~/root/clbuild && darcs ...) 18:21:55 leo2007 [~leo@cpc1-cmbg13-0-0-cust596.cmbg.cable.ntl.com] has joined #lisp 18:22:26 that's why I think an interface to manage and discover (D)VCS addresses is necessary - there's also a lot of stuff that simply gets lost in history 18:22:45 How many (new) people for example would think of checking CMU AI ftp? 18:23:27 ah, you've changed the loadnames for the packages from ex. computed-class.asd to hu.dwim.computed-class.asd 18:24:17 Fade: the hu.dwim.* stuff is part of a big refactor. hu.dwim.util was introduced, etc... 18:24:21 p_l: well, if you start the project I'll throw in as much as I can. 18:24:23 fallen` [~t@vc-41-27-206-131.umts.vodacom.co.za] has joined #lisp 18:25:00 -!- Kolyan [~nartamono@95-27-134-251.broadband.corbina.ru] has quit [] 18:25:07 attila_lendvai: one question - why the new naming scheme doesn't include nicknames? it's either :USE or typing hu.dwim.blablabla all the time... 18:26:05 (this is one of those moments I'd love to have an "import as" support in defpackage... CLtL33?) 18:26:10 *CLtL3? 18:26:11 attila_lendvai: yeah, but it makes the dependency graph complex. a lot of different places it needs updating. I guess a get_dwim() function could be defined in clbuild. 18:26:12 p_l: because nicknames in CL get into conflicts. we set up a dev-env where we never need to type those names, and even if we do, we have fuzzy completion 18:26:58 daniel_ [~daniel@p5082F1A0.dip.t-dialin.net] has joined #lisp 18:27:00 Fade: hu.dwim refactor included the renaming of the packages. old/new stuff can be loaded in the same image without problems 18:28:04 ah, well, then I guess we could softlink hu.dwim.computed-class.asd to computed-class.asd, then. 18:28:48 Fade: no, because one will load into the package computed-class, the other into hu.dwim.computed-class 18:29:21 i'm just thinking about the systems that :use your packages. 18:29:54 Fade: tread computed-class and hu.dwim.computed-class as two completely separate libraries 18:30:03 toekutr [~toekutr@adsl-69-107-114-83.dsl.pltn13.pacbell.net] has joined #lisp 18:30:16 I'm glad I asked before I stareted editing. ;) 18:30:16 the fact that their api is some-high-percent compatible is just a random detail 18:30:25 -!- daniel [~daniel@p5082B9D8.dip.t-dialin.net] has quit [Ping timeout: 258 seconds] 18:31:06 and while we are at it, the old repos can pretty much be forgotten. i doubt there are out there many libs that use our old repos... 18:32:08 heh, the same for the new ones 18:33:55 that's why I mentioned Environment management... it would be interesting to be able to describe such dependencies properly... Java worlddoes have something like that, but it onvolves ugly XML and crazy systems (Maven... ) 18:34:33 peddie [~peddie@adsl-99-191-72-123.dsl.pltn13.sbcglobal.net] has joined #lisp 18:34:36 -!- Deesl [~bsdboy@unaffiliated/deesl] has quit [Remote host closed the connection] 18:34:48 hi, using win 7, ccl 1.5, trying to load lispbuilder-sdl and it says it is "Unable to load foreign library (SDL). Can't open shared library "SDL.dll" While executing: CFFI::FL-ERROR, in process listener(1).". 18:35:51 not too many windows folks, but I guess ccl doesn't know where to find the sdl dynamic library? 18:35:55 merl15_ [~merl@188-22-18-114.adsl.highway.telekom.at] has joined #lisp 18:36:01 -!- HET3 [~diman@w220.engin.cf.ac.uk] has quit [Quit: Leaving] 18:36:48 hmmm that is bizzare because i have both sbcl and ccl loading from a common site directory where ihave all the libraries, and sbcl manages to find sdl and load it 18:37:00 fallen`: do you have SDL.dll in path? What architecture? 18:37:19 win 7 64bit 18:37:27 and sdl.dll is in the path 18:37:57 sbcl loads from the same path and runs sdl programs fine 18:37:57 fallen`: then you're trying to load a 32bit DLL into a 64bit app 18:38:10 hmmm 18:38:25 p_l: thanks ... dling 64bit sdl drivers now 18:38:38 CCL doesn't run 32bit code on 64bit Windows, and due to normal OS desing practices you can't mix two different architectures :) 18:38:53 *design 18:39:51 asked and answered. :) 18:40:02 p_l: You're great, man. You seem to know *everything*. big up! 18:40:11 I've just added change-class to perec, my question is this: is it allowed to define a :before method on change-class? 18:40:33 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #lisp 18:40:49 for some stuff update-instance-for-different-class seems to be too late 18:41:03 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 260 seconds] 18:41:46 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 18:43:34 astoon [~astoon@213.141.244.246] has joined #lisp 18:44:41 schmrkc: now, if that actually translated into pounds, I'd be a happy man ^_- 18:44:47 Recur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has joined #lisp 18:45:56 p_l: took me some time to realise you ment monies and not weight (: 18:46:40 5 years ago I didn't expect to use that currency either 18:46:44 -!- kajic_ [~kajic@Psilocybe.Update.UU.SE] has quit [Ping timeout: 265 seconds] 18:46:54 p_l: Why are you using it. You in england all of a sudden? 18:46:58 *p_l* would have bet his money on USD or YEN 18:47:16 schmrkc: finishing second year of 5 year undergraduate CS course 18:47:18 Scotland 18:47:28 cools :) 18:47:59 *hefner* thinks it's a little silly that return-from takes (name &optional value) instead of (name &rest values) 18:48:25 legumbre_ [~leo@r190-135-35-147.dialup.adsl.anteldata.net.uy] has joined #lisp 18:49:33 hefner: I'd rather have return-from return NIL by default instead of (values) 18:49:44 -!- legumbre [~leo@r190-135-24-194.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 240 seconds] 18:50:35 pkhuong: why? 18:51:10 hefner: because it's more common? 18:52:09 kajic [kajic@Psilocybe.Update.UU.SE] has joined #lisp 18:52:40 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #lisp 18:52:48 I guess. 18:53:00 I don't think typing an extra nil once in a while is a big deal. 18:53:40 it also makes more sense since it's a special form. 18:53:46 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Remote host closed the connection] 18:53:52 pkhuong: if the call site doesn't care about values, then it'll be nil anyways. and if it does, then (values) sounds better to me 18:54:36 We can't m-v-call RETURN-FROM, so macros would make multiple-values even more awkward. 18:57:07 wakeup [~wakeup@koln-5d814f98.pool.mediaWays.net] has joined #lisp 18:57:11 hiho 18:57:19 can I alias a function? 18:57:38 like link a symbol to an existing function? 18:57:40 hefner: handling multiple values like m-v-call would work, though. 18:57:48 wakeup: (setf fdefinition) 18:58:54 wakeup: on ACL you also have function wrapping API 18:59:18 pkhuong: good idea. 19:00:59 can you give me an example with setf? 19:01:13 wakeup: it's hardly ever a good idea to alias an operator. 19:01:18 clhs setf 19:01:19 http://www.lispworks.com/reference/HyperSpec/Body/a_setf.htm 19:01:26 clhs fdefinition 19:01:27 http://www.lispworks.com/reference/HyperSpec/Body/f_fdefin.htm 19:01:28 why? 19:02:12 wakeup: because sometimes other people (including your future self) might have to read your code.. so arbitrarily renaming functions is going to cause troubles with comprehension. 19:02:14 thx btw 19:02:35 mathrick: around? 19:02:54 will the old symbol not work anymore? 19:02:59 -!- myrkraverk [~johann@unaffiliated/myrkraverk] has quit [Ping timeout: 260 seconds] 19:03:02 it will, that's not the point. 19:03:04 -!- Recur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!!] 19:03:16 -!- R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!!] 19:03:49 the point is that you gain nothing from a new name beyond a new name... imagine you decided your name was 'gosleep' all of a sudden... the people who know you for years as 'wakeup' are going to be confused, non? 19:04:49 advise-like mechanisms make more sense (where you wrap functions around in another one, just like with :around methods) 19:05:37 drewc: unless the name denotes a functinality and happens to suggest the functionality much more than the one before. 19:05:50 but then i'd go with a rename, not an alias, unless it's a whole lot of headache to rename it 19:06:10 I have a function that can loas two different types of files, but in context I want to be able to use both load-list and load-log 19:06:12 attila_lendvai: i did say 'maybe never' :). In the case of your own functions, well, name and rename them as you see fit 19:06:27 why is that so bad? 19:06:41 wakeup: then define load-log that calls load-list 19:07:00 It would suck do do (load-list log) or (load-log list) 19:07:08 attila_lendvai: but aliasing #'CDR to, say, #'RST ala rg-utils is _always_ a bad idea :) 19:07:18 wakeup: Is there a name for the underlying file format? 19:07:23 myrkraverk [~johann@unaffiliated/myrkraverk] has joined #lisp 19:07:35 wakeup: If so, define load-that-format, and define load-log and load-list in terms of it. 19:07:43 if one loads a list, and the other loads a log, then they are different functions 19:08:08 and what nyef said 19:08:10 Further, use the wrappers to do some amount of defaulting, such as merging in a default pathname or similar. 19:09:23 "All the log files go in this directory, and have this filetype, so merge with #p"..." and just pass the base name. The lists are all in this directory, and have..." You get the idea. 19:10:12 Also gives you appropriate places to change should you need to alter one format but not the other, or tweak options for the formats, etc. 19:10:34 drewc pasted "A better ITERATE? (sans code walker) part 1 : the basics" at http://paste.lisp.org/display/111070 19:10:52 nha [~prefect@imamac13.epfl.ch] has joined #lisp 19:11:08 *drewc* put his code where his mouth was ^ 19:12:14 Hat off to you drewc. 19:12:18 drewc: Cool. 19:12:25 drewc: what do you think of package-specific renamings? (like hypothetical (:import-from :a (:foo :as bar))) 19:12:50 debiandebian [~chatzilla@ntszok021029.szok.nt.adsl.ppp.infoweb.ne.jp] has joined #lisp 19:12:56 Hopefully breaking the idea of "code walkers aren't bad because iterate is good and iterate uses a code walker". 19:13:15 -!- nha [~prefect@imamac13.epfl.ch] has quit [Read error: Operation timed out] 19:13:38 drewc: are there tests that show the behavior in corner cases? 19:14:12 attila_lendvai: i plan to use the ITERATE test suite once i convert it to use :keywords to name clauses 19:14:20 I'd like to see some examples of it in action, is it just the same as iterate? 19:14:39 -!- Oddity [~Oddity@unaffiliated/oddity] has quit [Ping timeout: 260 seconds] 19:14:48 rindolf [~shlomi@109.67.128.137] has joined #lisp 19:14:53 p_l: I -like- the idea, I've wanted to -use- the idea, but it's broken WRT CL semantics. :-/ 19:14:54 Guthur: it's iterate up to the third clause in section 2.1.2 Sequence Iteration 19:15:17 -!- rindolf [~shlomi@109.67.128.137] has left #lisp 19:15:25 (Notably, symbol-names.) 19:15:31 -!- Edward_ [Ed@AAubervilliers-154-1-33-92.w90-3.abo.wanadoo.fr] has quit [] 19:16:13 attila_lendvai: i've made an effort to maintain bug-for-bug compatibility with ITERATE, mostly because i don't know any better 19:16:35 Guthur: i'll paste some examples, hold 19:19:17 -!- schmrkc [~marcus@sxemacs/devel/schme] has quit [Ping timeout: 240 seconds] 19:19:29 attila annotated #111070 "my take on it" at http://paste.lisp.org/display/111070#1 19:19:46 drewc annotated #111070 "some examples" at http://paste.lisp.org/display/111070#2 19:19:57 schmrkc [~marcus@sxemacs/devel/schme] has joined #lisp 19:20:03 nyef: what non-implementation related code would break, assuming you have to explicitly use such form? 19:20:24 davazp [~user@83.55.178.113] has joined #lisp 19:21:29 p_l: There might not be any. But something leaves me very uneasy about symbol-name and symbol-package and print/read consistency in such a scenario. 19:21:30 attila_lendvai: code walker. sigh. :) 19:21:57 drewc: Will there be a Part2? 19:22:09 drewc: will you support (collect x :in outer)? 19:22:19 drewc: how does that work with local macros? 19:22:35 -!- abend [~alx@199.223.122.118] has quit [Ping timeout: 272 seconds] 19:23:14 rswarbrick [rupert@compsoc.sunion.warwick.ac.uk] has joined #lisp 19:23:23 pkhuong: what do you mean? 19:23:28 Guthur: there will 19:23:29 nyef: but if apriopriate parts of standard were amended with One True Behaviour (TM) for such case? 19:23:39 attila_lendvai: what are the semantics? 19:24:03 p_l: Maybe. As I said, it's behavior that I've occasionally wanted. 19:24:24 drewc: well, i meant (in outer (collect x)) in iterate language 19:24:48 nyef: that's why I mentioned it for CLtL3. Inclusion of extensible sequences would also be nice... 19:24:53 attila_lendvai: i have never used iterate before yesterday 19:24:55 drewc: you're compiling FORMS in the toplevel environment, not the macro's. Does that always work right (or at least in a manner that's simple to explain and understand) with lexical binding of operators or variables? 19:25:13 drewc: it's part of its test suite, and an important feature 19:25:14 pkhuong: i don't use the code i COMPILE 19:25:15 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 19:25:41 drewc: it's still not using the right lexenv. 19:25:42 pkhuong: the COMPILE is only there to walk the :foo forms 19:26:25 drewc: but (bar (:foo ...)) might expand into arbitrarily different forms depending on the environment. 19:26:42 reiterate properly deals with the lexenv, that's one of the big deficiencies of iterate 19:28:09 nyef: basically, my wishes for CLtL3 were to add some existing stuff and probably things like "import as" functionality :) 19:28:09 drewc: ah, so you're bug compatible that way too. That's acceptable, but not really a strong argument that your way is better than a codewalker. 19:28:27 pkhuong: i'm just making it work first, then i'll make it right :) 19:28:47 pkhuong: and there is a simple and easy to understand explanation for the behaviour it will exhibit 19:28:59 drewc: i'll pick a few annoying tests for you then to spare you headaches later... ;) 19:29:05 attila_lendvai: please do :) 19:29:17 drewc: really? The expansion will still happen in the right lexenv. 19:29:49 Your analysis phase with COMPILE can be arbitrarily off. 19:29:58 drewc: well, subblocks.maximize.1 is rather useful and i don't know how without a code walker it's doable 19:30:28 The only explanation is "don't use local definitions around ITER clauses". 19:31:07 also test/nesting/2 in reiterate's test suite is something we actually encountered with iterate (it's broken there) 19:32:30 pkhuong: how about 'all iterate forms are processed textually before macroexpansion' 19:33:12 pkhuong: and 'it's undefined if a clause is modifed by a macro expansion' etc. 19:34:41 -!- felideon [~user@12.228.15.162] has quit [Ping timeout: 245 seconds] 19:36:10 pkhuong: i can even detect that case and signal an error, now that i think about it. 19:36:15 attila_lendvai: thanks, looking now 19:37:11 milanj [~milanj_@93.87.180.134] has joined #lisp 19:37:33 ... dwim.hu seems broken. I can get to the home page, but selecting "license" from the menu says something about a client-side error, and hitting refresh then gives me a message about not being able to establish a connection to the server. 19:37:37 -!- pookleblinky [~pookle@cpe-69-207-0-72.buffalo.res.rr.com] has quit [Quit: irl] 19:38:20 abend [~alx@199.223.122.118] has joined #lisp 19:38:56 nyef: you hit something that kills the server and it restarts 19:38:59 Er, got to go. Will try to come back later or something. 19:39:05 Argh. Wrong channel. Sorry! 19:39:12 nyef: or to be more precise, that makes sbcl think it's corrupted the image 19:39:17 -!- rswarbrick [rupert@compsoc.sunion.warwick.ac.uk] has quit [Quit: leaving] 19:39:31 attila_lendvai: Nice. I shouldn't be able to do that so easily, though. 19:39:49 attila_lendvai: for subblocks.maximize.1 , the (in outer (maximize e)), where in the outer loop is the maximize form supposed to run... does it close over the 'e' or is 'e' supposed to appear in the outer lexical environment as well? 19:39:55 drewc: detect how? It could also be subtly wrong, depending on the sort of initialisation needed. 19:39:55 nyef: sure. dwim.hu is in quite random states... we have about zero time for it nowadays 19:40:05 -!- pdenno [~pdenno@bigfuzz.mxnet.mel.nist.gov] has quit [Ping timeout: 240 seconds] 19:40:35 Oddity [~Oddity@unaffiliated/oddity] has joined #lisp 19:40:48 drewc: just macroexpand it. the expansion has no closures if that's what you ask 19:43:41 Beetny [~Beetny@ppp118-208-132-61.lns20.bne1.internode.on.net] has joined #lisp 19:44:04 btw, that's why i preferred the (collect (big-form) :in outer) syntax, because (in (collect ..)) changes context for (big-form) also, which is not always desired 19:44:28 kpreid [~kpreid@216.239.45.19] has joined #lisp 19:44:32 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 19:45:22 gemelen [~shelta@shpd-92-101-155-23.vologda.ru] has joined #lisp 19:46:10 nyef: seems like it's an sbcl bug. i unpulled the lose-on-corruption enabling patch and now it dies "properly" 19:46:12 what problems does iterate solve that loop doesn't? is it just the more lispy syntax? 19:46:44 Fade: extensibility and you can interleave CL and ITERATE code 19:47:35 ahh 19:48:58 -!- t3eblinder [~wolfgang@p5B2007DC.dip0.t-ipconnect.de] has quit [Ping timeout: 260 seconds] 19:50:07 *drewc* does not think iterate has a 'lispy' syntax at all.. not with the code moving etc... lisp doesn't do that ;) 19:50:33 well, it's forms stand out in my editor a lot less than a big loop clause. :) 19:50:56 -!- jewel [~jewel@196-210-187-124-tbnb-esr-2.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 19:51:15 But just enclosing something in parenthesis surely doesn't mean it's lispy, right? 19:51:21 code doesn't "move" in iterate 19:51:34 but the parens certainly help a lot with code editing 19:52:03 Fade: do you :use keywords :for loop-keywords? my editor highlights those :) 19:52:06 attila_lendvai: http://common-lisp.net/project/iterate/doc/Problems-with-Code-Movement.html#Problems-with-Code-Movement 19:52:42 looks like the manual calls it 'moving' 19:53:23 drewc: nikodemus and I discussed a special form that'd let you express what you're trying to do without a codewalker, by having a special form to hoist code out to a predefined scope. 19:53:32 austinh [~austinh@c-24-21-81-46.hsd1.or.comcast.net] has joined #lisp 19:53:47 It'd also be useful for manual CSE. 19:54:03 enthymeme [~kraken@130.166.211.106] has joined #lisp 19:54:37 pkhuong: that is something that CL is lacking, though a working macroexpand-all would also work for my purposes, non? 19:55:01 (which is a codewalker, i know) 19:55:12 drewc: not as nicely behaved and modular... 19:55:23 pkhuong: agreed. 19:55:47 did you happen to have this discussion on a logged public forum of some sort where i might read it? 19:56:02 a glass window at ELS? 19:56:09 erh, SBCL-10, sorry. 19:56:18 yeah, that's what i figured :) 19:56:21 Wait, wait... lose-on-corruption? 19:56:51 attila_lendvai: This wouldn't be something that enables the various verify options in gencgc, would it? 19:57:46 rpg [~rpg@216.243.156.16.real-time.com] has joined #lisp 19:58:00 attila_lendvai: i'm really confused as to the point subblocks.maximize.1 .. the form returns the same result regardless of the presence of the inner loop... is that the test? 19:59:03 i suppose i'll have to read the damn manual some more :( 19:59:22 -!- astoon [~astoon@213.141.244.246] has quit [Quit: astoon] 20:00:29 -!- ottergwc [~brianj@wsip-24-234-246-31.lv.lv.cox.net] has quit [Ping timeout: 240 seconds] 20:01:15 My slime-autodoc-mode seems to have stopped working. Is there some way to get it back without restarting emacs? 20:01:27 This seems to happen occassionally. 20:01:35 austinh: that happened to me recently, and restarting my lisp did the trick 20:01:53 ok, thanks. I'm due for a reboot, too, anyway. 20:01:57 M-x slime-restart-inferior-lisp that is :) 20:02:05 oh, that would be better 20:02:28 erm, except that I'm using a remote connection. 20:02:47 ahh, that's not going to work then 20:03:08 you'll have to (quit) and re-connect manually 20:03:28 t3eblinder [~wolfgang@p5B200304.dip0.t-ipconnect.de] has joined #lisp 20:03:34 there is probably a better way to do all this, but i haven't found it. 20:04:09 derrida [~derrida@unaffiliated/deleuze] has joined #lisp 20:04:26 Ok, a disconnect and reconnect fixed it without anything lost. Thanks. 20:08:29 lejoon [~lejoon@h-63-40.A163.priv.bahnhof.se] has joined #lisp 20:11:15 *drewc* wishes he had used DYNAMIC-WIND from the beginning, but is pcospunning dynamic environmets 20:14:26 "pcospunning"? 20:16:20 [pascal costanza + greenspunning] 20:17:47 Ah. 20:18:30 aw [~aw@p5DDA93AF.dip.t-dialin.net] has joined #lisp 20:18:31 nyef: this is the offending line i've unpulled: (sb-alien:with-alien ((lose? sb-alien:boolean :extern "lose_on_corruption_p")) (setf lose? t)) 20:19:04 Ah. 20:19:06 Hunh. 20:19:33 That's for a stray SIGSEGV not to heap space, isn't it? 20:20:33 *attila_lendvai* needs to go 20:20:45 -!- toekutr [~toekutr@adsl-69-107-114-83.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 20:24:43 pkhuong: is sb-c:compile-in-lexenv what i think it is, and will it work here? 20:25:39 drewc: not sure how much of a lexenv it can handle. 20:26:04 oh yes, it looks like it is 20:28:04 okay, so, I've confirmed that in fact it is alloc-tls-index is the problem. 20:28:22 the symptom goes away if I do an extraneous (let ((*x*)) (do-nothing)) before running the code. 20:28:43 -!- billitch [~billitch@rob92-1-82-67-155-88.fbx.proxad.net] has quit [Ping timeout: 276 seconds] 20:28:43 (thus forcing tls index allocation while there aren't multiple threads running) 20:28:57 now the question remains: how come it doesn't work, because it really looks like it should. :) 20:29:17 It's probably missing a LOCK prefix somewhere. 20:29:56 it has one on the cmpxchg for *tls-index-lock* 20:30:02 (unless the assembler isn't working) 20:30:32 xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has joined #lisp 20:31:28 Cache incoherency on checking to see if the TLS-slot has been allocated? 20:32:10 But, yeah, hit the assembly-routine with a disassemble-code-component and check the output. 20:33:13 ;; No need for barriers on x86/x86-64 on unlock. <- not sure about that anymore. 20:35:23 Kickaha [~jadawin@bl12-37-174.dsl.telepac.pt] has joined #lisp 20:35:34 ysph [~user@24-181-93-165.dhcp.leds.al.charter.com] has joined #lisp 20:36:09 aack [~user@a83-163-241-74.adsl.xs4all.nl] has joined #lisp 20:36:12 -!- Oddity [~Oddity@unaffiliated/oddity] has quit [Read error: Connection reset by peer] 20:36:17 foom pasted "intel memory model" at http://paste.lisp.org/display/111074 20:36:30 So, that's the list of rules as published by intel 20:38:24 Oddity [~Oddity@unaffiliated/oddity] has joined #lisp 20:40:00 -!- astalla [~astalla@93-36-225-105.ip62.fastwebnet.it] has quit [Quit: Sto andando via] 20:41:00 here's a url for the document I got that from: http://www.multicoreinfo.com/research/papers/2008/damp08-intel64.pdf 20:41:19 I'm now going to try to verify that the code follows it. :) 20:41:26 i really think we need a barrier on unlock. 20:42:24 sounds like a good place to start 20:42:26 What does number five actually mean in practice? 20:42:47 they have examples for each of the rules in that document 20:43:39 nyef: basically, you can 20:43:52 jhalogen [~jake@cpe-98-154-250-117.socal.res.rr.com] has joined #lisp 20:44:25 't observe the reordering with local information. 20:44:57 fiveop [~fiveop@g229176042.adsl.alicedsl.de] has joined #lisp 20:45:32 But a second processor -can- observe a reordering? 20:45:42 okay, so here's some analysis: the reason we need a barrier on unlock is because: "Loads may be reordered with older stores to different locations" 20:45:51 Right. 20:45:51 and not all uses of the tls slot grab the lock before using it 20:45:54 -!- davazp [~user@83.55.178.113] has quit [Read error: Connection reset by peer] 20:46:07 in *normal* cases, you don't need a barrier on unlock 20:46:18 because you're going to grab the lock before every use of the variables enclosed 20:46:29 nyef: you can observe the reordering as an external observer, but each processor can't. 20:46:40 -!- fallen` [~t@vc-41-27-206-131.umts.vodacom.co.za] has quit [] 20:46:45 -!- xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has quit [Ping timeout: 240 seconds] 20:46:45 foom: right. 20:46:55 foom: Ah, so a processor could be using the cached copy of the TLS slot that it saw as unbound? 20:47:10 nyef: right. 20:47:25 -!- abend [~alx@199.223.122.118] has quit [Ping timeout: 264 seconds] 20:47:35 actually no...that can't explain it either. 20:47:54 at least, I don't see how it can 20:47:57 I'd check that everything is as expected by modifying the stores into lock cmpxchg + jump to error when unexpected. 20:48:21 netytan [~netytan@85.211.16.208] has joined #lisp 20:48:23 what I assume must be happening is that both threads are allocating a tls index, and the second one is stomping on the first 20:48:32 powerje [~powerje@dhcp-128-146-146-64.osuwireless.ohio-state.edu] has joined #lisp 20:48:34 right,. 20:48:39 xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has joined #lisp 20:48:51 but that's not going to happen because of the lock cmpxchg 20:49:17 -!- attila_lendvai [~attila_le@catv-89-133-171-82.catv.broadband.hu] has quit [Quit: Leaving.] 20:49:20 because "loads and stores are not reordered with locked instructions" 20:49:29 -!- legumbre_ is now known as legumbre 20:49:57 on one processor 20:50:15 no, across processors. 20:50:18 but since we don't LOCK when releasing the spinlock, another processor could acquire it. 20:50:20 Phoodus [foo@174-22-216-12.phnx.qwest.net] has joined #lisp 20:50:53 no it can't, because to acquire it, it needs a lock 20:50:55 -!- rtoym [~chatzilla@24.148.170.2] has quit [Ping timeout: 260 seconds] 20:51:01 right. 20:51:16 But that's if 8. applies to LOCK instructions on another processor 20:54:21 -!- galiley [~user@77.70.2.99] has quit [Remote host closed the connection] 20:54:56 I'm certain that you can release a lock with a simple store on x86. 20:57:21 abend [~alx@199.223.122.118] has joined #lisp 20:57:25 hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has joined #lisp 20:58:08 The only danger is that another processor accessing the tls-index might think it's still unset, when it isn't actually, when they haven't taken the lock. But in that case, they should just make a call to allocate a new index, which takes a lock and rechecks that case. 20:58:25 faux [~user@1-1-4-21a.gkp.gbg.bostream.se] has joined #lisp 21:01:12 Hi, I'm looking for the functions to shift bits in an integer?... I looked in Numbers --> Number Concepts --> Numeric Operations --> Viewing Integers as Bits and Bytes of the hyperspec and there's various related functions but I can't find shifting functions there. 21:01:21 clhs ASH 21:01:22 http://www.lispworks.com/reference/HyperSpec/Body/f_ash.htm 21:01:27 hexstream: Enjoy. 21:01:40 Ah gosh o_o thanks! 21:02:20 foom: as far as I can tell, you still need a barrier before the unlock 21:03:41 pkhuong: why? 21:04:21 wait no. Never mind 21:04:24 -!- fsmunoz [~fsmunoz@a81-84-225-153.cpe.netcabo.pt] has quit [Ping timeout: 240 seconds] 21:05:31 marioxcc [~user@201.132.138.189] has joined #lisp 21:07:43 aidalgol [~user@202.36.179.65] has joined #lisp 21:07:54 Phantom_Hoover [~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com] has joined #lisp 21:08:11 How do I get a random float? 21:08:31 silenius [~silenius@rrcs-64-183-24-50.west.biz.rr.com] has joined #lisp 21:08:46 Phantom_Hoover: 23.0s0 is a random float. Enjoy. 21:09:06 (Failing that, probably something to do with RANDOM.) 21:09:11 nyef: How do I know it's random> 21:09:25 Oh, so I'll have to do something hideous as in C? 21:09:36 Let's see... 21:09:38 clhs random 21:09:38 http://www.lispworks.com/reference/HyperSpec/Body/f_random.htm 21:10:20 -!- abend [~alx@199.223.122.118] has quit [Read error: Connection reset by peer] 21:10:26 (random most-positive-double-float) would give a float between 0 and most-positive-double-float... 21:10:39 slyrus__ [~chatzilla@dsl092-019-253.sfo1.dsl.speakeasy.net] has joined #lisp 21:10:46 Phantom_Hoover: hideous enough? 21:10:46 Nope. Looks like (random 23.0d0) would return a non-negative double-float less than 23.0d0. 21:11:26 Incidentally, what features should I compile in for SBCL 1.0.39? 21:11:53 Phantom_Hoover: Depends on what platform, what you're hoping to do, etc. 21:12:07 I've grown partial to :sb-test and :sb-after-xc-core, but they might not do you any good. 21:12:16 x86 32 Linux, and just generally. 21:12:25 Phantom_Hoover: sure you don't want x86-64? 21:12:30 -!- wakeup [~wakeup@koln-5d814f98.pool.mediaWays.net] has quit [Remote host closed the connection] 21:12:38 Yes, because my system is 32-bit. 21:12:41 Umm... You probably don't need much. Threads are default-enabled, unicode is default-enabled... 21:12:50 Probably a bad decision, but it's a bit late now 21:13:27 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Quit: Leaving] 21:14:33 wakeup [~wakeup@koln-5d814f98.pool.mediaWays.net] has joined #lisp 21:14:53 -!- sepult [~user@xdsl-84-44-143-229.netcologne.de] has quit [Read error: Connection reset by peer] 21:16:05 sepult [~user@xdsl-87-79-63-204.netcologne.de] has joined #lisp 21:16:24 GrayGnome` [~MuneNoKag@vpn3-144178.near.uiuc.edu] has joined #lisp 21:16:46 symbole_ [~chatzilla@ool-182ffe8f.dyn.optonline.net] has joined #lisp 21:19:16 -!- GrayGnome [~MuneNoKag@user-11fa65f.dsl.mindspring.com] has quit [Ping timeout: 245 seconds] 21:19:41 -!- symbole [~chatzilla@216.214.176.130] has quit [Disconnected by services] 21:19:54 -!- symbole_ [~chatzilla@ool-182ffe8f.dyn.optonline.net] has left #lisp 21:20:11 Kizaru [~plaz@pool-173-76-170-157.bstnma.fios.verizon.net] has joined #lisp 21:20:18 symbole_ [~chatzilla@216.214.176.130] has joined #lisp 21:20:22 symbole [~chatzilla@ool-182ffe8f.dyn.optonline.net] has joined #lisp 21:20:35 drewc: around now 21:21:24 brandelune [~suzume@pl571.nas982.takamatsu.nttpc.ne.jp] has joined #lisp 21:22:04 -!- minion [~minion@common-lisp.net] has quit [Ping timeout: 240 seconds] 21:23:04 -!- specbot [~specbot@common-lisp.net] has quit [Ping timeout: 240 seconds] 21:23:41 -!- lisppaste [~lisppaste@common-lisp.net] has quit [Ping timeout: 258 seconds] 21:27:19 -!- ysph [~user@24-181-93-165.dhcp.leds.al.charter.com] has quit [Ping timeout: 260 seconds] 21:28:44 -!- fiveop [~fiveop@g229176042.adsl.alicedsl.de] has quit [Quit: humhum] 21:30:25 Is the documentation for a function supposed to be all one line, or should newlines be used? 21:30:33 Lovely. Looks like Linux 2.6.35 has a good chance of fixing some of the quirks of my main system. 21:30:59 aidalgol: Newlines are often used if the documentation string fails to fit on one line. 21:31:10 nyef: Thanks! 21:31:17 aidalgol: but some people prefer short docstrings and out of line comments for extensive documentation 21:31:44 So either's fine? 21:32:44 abend [~alx@199.223.122.118] has joined #lisp 21:34:28 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 21:36:49 -!- powerje [~powerje@dhcp-128-146-146-64.osuwireless.ohio-state.edu] has quit [Quit: powerje] 21:38:15 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Quit: Leaving] 21:38:15 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Read error: Connection reset by peer] 21:38:21 [1]> (random 2.0) 21:38:22 0.60032105 21:38:40 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 21:40:44 bytecolor [~user@adsl-71-137-207-225.dsl.scrm01.pacbell.net] has joined #lisp 21:46:12 well, the good news is that my dlshim removal changes didn't break darwin/x86. 21:46:21 the bad news is that it was broken before :( 21:46:53 did anyone test 1.0.39 on x86? 21:47:20 oh wait, this it with sb-after-xc-core... 21:47:30 nvm... 21:47:40 of course it would be nice to fix that too 21:47:45 -!- tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has quit [Ping timeout: 240 seconds] 21:49:43 tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has joined #lisp 21:50:15 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 240 seconds] 21:51:07 Is there an easy way of exporting everything in a package? 21:52:09 -!- tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has quit [Client Quit] 21:52:12 Well, there's do-symbols, I guess. 21:53:51 Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 21:53:58 -!- aidalgol [~user@202.36.179.65] has quit [Quit: Class.] 21:56:25 Edward__ [Ed@AAubervilliers-154-1-9-243.w86-212.abo.wanadoo.fr] has joined #lisp 21:58:26 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 21:58:39 -!- redline6561 [~redline@gate-30.spsu.edu] has quit [Read error: Operation timed out] 22:00:04 -!- Phantom_Hoover [~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com] has quit [Quit: Leaving.] 22:00:29 that one article about asdf is incredible lol 22:00:33 -!- faux [~user@1-1-4-21a.gkp.gbg.bostream.se] has left #lisp 22:05:58 -!- marioxcc [~user@201.132.138.189] has quit [Remote host closed the connection] 22:06:08 -!- lhz [~shrekz@c-dba672d5.021-158-73746f34.cust.bredbandsbolaget.se] has quit [Quit: Leaving] 22:06:24 marioxcc [~user@201.132.138.189] has joined #lisp 22:06:35 -!- t3eblinder [~wolfgang@p5B200304.dip0.t-ipconnect.de] has quit [Quit: Leaving.] 22:07:47 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 22:09:09 -!- netytan [~netytan@85.211.16.208] has quit [Ping timeout: 272 seconds] 22:13:26 -!- slyrus__ [~chatzilla@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 245 seconds] 22:13:33 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 22:13:59 -!- myrkraverk [~johann@unaffiliated/myrkraverk] has quit [Ping timeout: 260 seconds] 22:14:25 slyrus__ [~chatzilla@dsl092-019-253.sfo1.dsl.speakeasy.net] has joined #lisp 22:16:24 netytan [~netytan@85.211.16.208] has joined #lisp 22:16:37 -!- netytan [~netytan@85.211.16.208] has quit [Client Quit] 22:17:36 -!- austinh [~austinh@c-24-21-81-46.hsd1.or.comcast.net] has quit [Quit: leaving] 22:17:40 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 22:18:22 myrkraverk [~johann@unaffiliated/myrkraverk] has joined #lisp 22:19:35 -!- abend [~alx@199.223.122.118] has quit [Ping timeout: 260 seconds] 22:21:21 -!- bobbysmith007 [~russ@216.155.97.1] has quit [Quit: Leaving.] 22:27:34 nixeagle [~user@Wikimedia/Nixeagle] has joined #lisp 22:28:54 -!- ans [~user@user123.c3.sevnica.kabelnet.net] has quit [Read error: Operation timed out] 22:29:04 cmsimon [~iamcms2@unaffiliated/cmsimon] has joined #lisp 22:29:15 ans [~user@84.41.90.123] has joined #lisp 22:34:44 sepult: which? 22:36:10 -!- sepult [~user@xdsl-87-79-63-204.netcologne.de] has quit [Read error: Connection reset by peer] 22:36:29 wow, a freshly started SBCL has already used 1228 of the 4096 TLS index slots. 22:37:00 almost there! keep using! 22:37:19 sepult [~user@xdsl-87-79-63-204.netcologne.de] has joined #lisp 22:38:53 http://tream.dreamhosters.com/tream/musings/49-lisp/76-analysis-of-existing-asdf-files 22:40:46 <_3b> odd, version mismatch in a fresh slime checkout 22:41:30 -!- myrkraverk [~johann@unaffiliated/myrkraverk] has quit [Ping timeout: 258 seconds] 22:41:38 <_3b> ah, nevermind... loaded wrong slime 22:42:24 *_3b* should start using clbuild slime to start emacs instead of putting the config in .emacs :/ 22:43:06 redline6561 [~redline@adsl-190-191-78.asm.bellsouth.net] has joined #lisp 22:43:51 -!- grouzen [~grouzen@91.214.124.2] has quit [Ping timeout: 260 seconds] 22:44:46 -!- merl15_ [~merl@188-22-18-114.adsl.highway.telekom.at] has quit [Ping timeout: 264 seconds] 22:46:02 myrkraverk [~johann@unaffiliated/myrkraverk] has joined #lisp 22:47:49 -!- cmatei [~cmatei@95.76.18.242] has quit [Ping timeout: 276 seconds] 22:49:33 R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has joined #lisp 22:55:13 OmniMancer1 [~OmniMance@202.36.179.65] has joined #lisp 22:55:29 -!- moah [~gnu@dslb-188-101-026-182.pools.arcor-ip.net] has quit [Quit: Leaving] 22:55:55 -!- nixeagle [~user@Wikimedia/Nixeagle] has quit [Remote host closed the connection] 22:56:13 -!- Phoodus [foo@174-22-216-12.phnx.qwest.net] has quit [Ping timeout: 260 seconds] 22:56:55 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 276 seconds] 22:57:50 *drewc* is an idiot 22:58:07 drewc: what was your take when you took it? (is it still ongoing?) 22:58:28 -!- kpreid [~kpreid@216.239.45.19] has quit [Quit: kpreid] 22:58:33 two hours of trying to debug something... turns out i was using the symbol _long_ before it was bound to what i thought it should be 22:59:15 Xach: i miss either be missing context or just generally frazled, as i have no idea what that question is about :) 22:59:22 must either* 22:59:40 (probably frazled by the looks of things) 22:59:55 drewc: your asdf-install/lispy/libcl/cl-librarian/clbuild 23:00:10 ah 23:00:11 -!- Bobrobyn [~rsmith05@CPE0015e9d40d4f-CM001ac30e9df0.cpe.net.cable.rogers.com] has quit [Quit: Leaving] 23:00:40 i basically took cl-librarian and re-wrote it in a more idiomatic style and added all the features that were missing 23:00:53 then i got bored of it and clbuild came about at about the same time 23:01:00 gotcha 23:01:06 cmatei [~cmatei@95.76.18.242] has joined #lisp 23:01:11 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 23:01:30 mainly, i think it's the wrong approach (mapping software 'in the wild' like) 23:01:30 i haven't hit the boredom wall yet, and it's nowhere in sight, so i'm pretty hyped 23:01:47 i also haven't been able to spend much time on it :) 23:01:55 so i was moving towards a distribution type mechanism... like debian 23:02:32 at which point while talking about that, we realized we couldn't write it in portable CL, so we got sidetracked with the CLtL3 effort. 23:02:48 ah 23:03:10 i then got sidetracked with real life, and we don't have a package manager or an updated spec 23:03:33 i've been writing the controller bit in unabashed sbcl-only code, but i'm hoping the data is useful for any number of uses, not just some official client. 23:03:39 -!- OmniMancer1 [~OmniMance@202.36.179.65] has quit [Ping timeout: 248 seconds] 23:03:52 Xach: i'm pretty confident in your ability to do this right 23:03:57 *Xach* has found cl delightful for light shellscripting, given a few macros and functions over sb-ext:run-program and friends. 23:04:32 drewc: the idea sure feels good. now to find the time... 23:04:49 Xach: are your helpers documented and/or published somewhere? 23:04:53 yeah, that's always the hard one :) 23:05:02 madnificent: nope. 23:05:16 uranther [~James@c-24-13-121-207.hsd1.in.comcast.net] has joined #lisp 23:06:53 kpreid [~kpreid@216.239.45.19] has joined #lisp 23:07:48 drewc: poke? 23:08:24 -!- kpreid [~kpreid@216.239.45.19] has quit [Client Quit] 23:09:19 Xach: I want to look at your macros 23:09:36 since I just wanted to do it the other way and then got distracted by all the other stuff 23:09:44 *other day 23:09:50 _danb_ [~user@124-171-25-183.dyn.iinet.net.au] has joined #lisp 23:12:22 *Xach* learned the wonderful utility of synonym-streams as part of this exercise 23:13:01 -!- milanj [~milanj_@93.87.180.134] has quit [Ping timeout: 245 seconds] 23:13:27 mathrick: i got pretty far before #lisp started throwing curveballs : http://paste.lisp.org/+2DPA 23:14:00 now i'm back in the batting cage dealing with multiple different compile times and generally having a load of fun 23:18:04 hse-hoens [~test@nd-129-74-109-181.nat.nd.edu] has joined #lisp 23:18:14 are sicp questions relevant to this channel? 23:18:21 -!- pavelludiq [~quassel@87.246.14.242] has quit [Read error: Connection reset by peer] 23:18:41 <_3b> sicp uses scheme, so #scheme might be better, depends on the question though 23:18:42 hse-hoens: somewhat, but you probably want to try #scheme over thataway ----> 23:18:57 fledermaus [~vivek@213.165.225.94] has joined #lisp 23:19:04 jlf [~user@pdpc/supporter/active/jlf] has joined #lisp 23:19:19 thanks. just wondering in case there is no response 23:20:17 is whoever runs lisppaste around here somewhere? 23:21:27 <_3b> does the sbcl conservative GC look at parts of the stack that don't contain live data? (dead locals, leftovers from previously called functions, etc) 23:21:56 kpreid [~kpreid@216.239.45.19] has joined #lisp 23:23:40 -!- kpreid [~kpreid@216.239.45.19] has quit [Client Quit] 23:24:08 -!- mrSpec is now known as spec`away 23:24:28 madnificent: one thing i use a ton is (run command arg1 ... argN), which outputs to the synonym-stream *command-output* and signals an error on nonzero exit. 23:24:39 However, sicp is not really language specific. See http://eli.thegreenplace.net/category/programming/lisp/sicp/ and http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages 23:25:02 mindCrime_: synonym-stream? 23:25:05 sorry 23:25:07 madnificent: another thing is (in-temporary-directory ...), which sets up *d-p-d* and the posix cwd as a temp directory that's unconditionally obliterated afterwards. 23:25:13 tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has joined #lisp 23:25:15 where is the bot? 23:25:19 madnificent: very helpful for a bunch of scratch intermediate files 23:25:35 leo2007: dunno. http://l1sp.org/cl/make-synonym-stream 23:26:58 sykopomp` [~sykopomp@c-66-41-249-30.hsd1.mn.comcast.net] has joined #lisp 23:28:49 -!- sykopomp [~sykopomp@unaffiliated/sykopomp] has quit [Ping timeout: 265 seconds] 23:29:14 Xach: thanks. 23:30:50 _3b: Yes, the GC pins all of the heap pages referred to from any part of the stack. 23:30:56 -!- pdelgallego [~pdelgalle@42.Red-217-125-2.staticIP.rima-tde.net] has quit [Ping timeout: 245 seconds] 23:31:05 -!- tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has quit [Quit: tritchey] 23:31:10 <_3b> including beyond the top of the stack? 23:31:32 No, just the live part, but that can include some badly out-of-date pointers, random C frames, etc. 23:31:37 At least on x86oids. 23:31:44 OmniMancer1 [~OmniMance@202.36.179.65] has joined #lisp 23:31:49 drewc: that's interesting, I really need to set aside some time to look at it properly, but unfortunately I'm gonna be pretty taken up and absent over the next 48h 23:31:49 -!- R3cur51v3 [~Recursive@173-30-222-57.client.mchsi.com] has quit [Ping timeout: 264 seconds] 23:31:55 -!- sykopomp` [~sykopomp@c-66-41-249-30.hsd1.mn.comcast.net] has quit [Ping timeout: 248 seconds] 23:32:31 abend [~alx@076-076-146-016.pdx.net] has joined #lisp 23:32:51 On PPC/gencgc, it doesn't have unboxed data on the control stack, so does a proper scavenge on it instead, which still allows stuff to be live longer than expected but won't pin pages or attempt to follow bogus pointers. 23:34:25 -!- hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has left #lisp 23:34:42 -!- wakeup [~wakeup@koln-5d814f98.pool.mediaWays.net] has quit [Remote host closed the connection] 23:34:46 *_3b* is wondering if http://paste.lisp.org/display/105714 is a sign of something being looked at that shouldn't, or just stale data that might be better to be cleared if possible and not too expensive, or just really bad luck with conservatism 23:35:10 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 264 seconds] 23:35:36 kpreid [~kpreid@216.239.45.19] has joined #lisp 23:36:43 wakeup [~wakeup@koln-5d814f98.pool.mediaWays.net] has joined #lisp 23:37:33 nixeagle [~user@Wikimedia/Nixeagle] has joined #lisp 23:39:27 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 23:39:37 hrm... so i find myself wanting compiler-let... that's a sign that i'm doing something wrong, innit. 23:39:49 back to the drawing board 23:40:29 -!- uranther [~James@c-24-13-121-207.hsd1.in.comcast.net] has quit [Ping timeout: 240 seconds] 23:40:29 i guess it's time to internalize the advice in http://www.lispworks.com/documentation/HyperSpec/Issues/iss066_w.htm 23:41:45 <_3b> drewc: symbol-macrolet + macroexpand-1 ? 23:42:25 What problem do you want to solve with compiler-let? 23:43:05 Ah, that inter-macro communication problem? 23:43:29 I still haven't quite understood how exactly compiler-let works 23:44:17 "The description of the COMPILER-LET special form in CLtL is confusing to many people." 23:44:19 well yeah 23:44:23 Zhivago: yes, i need to be able to pass some data around into a nested macro invocation, and good ol specials are not quite enough 23:44:58 i've used compiler-let in the past, but only because i was too lazy to figure out how to do it 'right' :) 23:45:50 mathrick: compiler-let is like a compile-time PROGV. If you ever run into the situation where you need something like compiler-let, you immediatly know what it does :) 23:46:09 'ahh ok, i get it, _COMPILER_ let' :) 23:46:26 drewc: yeah, that's the beauty of all these esotheric facilities :) 23:46:31 RustyWheeler [~russell@60-241-37-219.static.tpgi.com.au] has joined #lisp 23:47:18 -!- leo2007 [~leo@cpc1-cmbg13-0-0-cust596.cmbg.cable.ntl.com] has quit [Quit: rcirc on GNU Emacs 23.2.6] 23:47:31 or wait... do i even need to do that? 23:48:20 the inner macro is a nested invocation of the outer macro... i can macrolet the inner definition and it will be expanding the correct dynamic environment! 23:48:31 (i think) 23:51:07 Why not just maintain it as a stack of context? 23:51:53 <_3b> drewc: does your ITER expand to a macrolet with lots of local macros? 23:52:04 _3b: it does 23:52:06 _3b: I don't know about sb-concurrency or GC effects, but I do know that ROOM is dangerous. 23:52:52 <_3b> drewc: might want to watch out for that, sbcl's pcl can compile that slowly if you put it in a method 23:53:42 _3b: Let me guess... because of the code-walker? 23:53:52 nyef: ;) 23:53:55 <_3b> nyef: yep, it compiles every macrolet body 23:53:59 Ugh. 23:54:29 I've suspected that the codewalker was unnecessary for a while, but haven't gone to the trouble of figuring out how to remove it. 23:54:42 tcr [~tcr@203.82.92.69] has joined #lisp 23:54:51 well, i only expand to the macrolets i actually use, so it's not that big a deal 23:55:10 <_3b> i think i actually got a measurable speedup on some ugly code by switching it to interpret there, but eventually just rewrote the code in question using symbol-macrolet tricks to avoid needing the macrolets 23:55:19 <_3b> speedup on compiling it that is 23:55:33 that is to say, only the forms that are used in the macro expansion are macroletted 23:55:40 <_3b> drewc: ah, that might not be quite as bad 23:55:45 -!- morphling [~stefan@gssn-5f756aab.pool.mediaWays.net] has quit [Remote host closed the connection] 23:56:36 nyef: basically make-method-lambda needs to go and someting like pcos's solution put in its place 23:57:52 nyef: p-cos.net/documents/make-method-lambda.pdf 23:59:37 Zhivago: my attempts at keeping it a simple stack of context are not working out at all, probably more due to me (or anybody else for that matter) not fully understanding CL's compilation semantics.