00:00:24 pkhuong: you can't use it for traversing a multi-dimensional array unless you have lots of indirection in the access 00:00:26 rahul, remember how we discussed MAPCAN and MAPCON earlier? I just used REDUCE... 00:00:38 rahul, not to belabor formatting, but I always see tagbody like a begin with label just "pushed left" aligned uner the 't' in tagbody. So that one doesn't confound me so much as loop. 00:00:45 you'd basically need to have one of the parameters be a closure that has the partial array indicies stored in it 00:01:05 rahul: sure, the language isn't well suited to recursive traversal of arrays; no slice, etc. 00:01:06 clearly, Summermute, "sequence comprehensions" are a tiny subset of what you can do with REDUCE. 00:01:46 -!- Hun [n=hun@p50993726.dip0.t-ipconnect.de] has quit [Remote closed the connection] 00:01:58 -!- pjb [n=t@23.Red-79-149-147.staticIP.rima-tde.net] has quit [Remote closed the connection] 00:02:01 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 00:02:06 Summermute: that's because tags are distinct from forms in tagbody 00:02:14 Summermute: everything in a loop is a loop clause 00:02:15 I've been learning haskell in my spare time, so I always think of foldl and foldl instead of reduce. 00:02:22 I heard someone telling me that it is easy to make your own language interpreter with lisp because of macros? 00:02:33 ==>> "and foldr" 00:02:42 fatalnix1995: if you want to do all that extra work 00:02:52 -!- francogrex [n=user@38.36-244-81.adsl-dyn.isp.belgacom.be] has quit [Remote closed the connection] 00:02:52 hmm? 00:02:53 eno_ [n=eno@adsl-70-137-172-110.dsl.snfc21.sbcglobal.net] has joined #lisp 00:02:55 fatalnix1995: it's easier to extend lisp 00:03:02 Of course, in eager languages we prefer foldl to foldr most of the time, unless you like stack overflows. 00:03:05 fatalnix1995, have you been hanging out around Y Combinator? 00:03:10 fatalnix1995: instead of inventing a new language, add something new to lisp 00:03:18 And if you have, can I have some $$$$$? 00:03:28 jcowan, truer words were never spoken. 00:03:34 no I was planning on eventually using it to 00:03:42 jcowan: huh? 00:03:43 ..to impliment someone elses language 00:04:15 fatalnix1995: eew 00:04:26 fatalnix1995: well, you can use macros to compile it to lisp 00:04:36 rahul: Which of my statements confuse you? 00:04:43 fatalnix1995: parse it into a kind of sexpr structure and write macros for that 00:04:56 jcowan, my knowledge, memory of method ordering is so very stale ("Art of the Metaobject...." years back), but I'm interesting in you elaborating on the problem. 00:04:59 jcowan: foldl is for eager languages... 00:05:04 -!- acrid [n=mckay@204.126.146.202] has quit ["leaving"] 00:05:12 pjb [n=t@23.Red-79-149-147.staticIP.rima-tde.net] has joined #lisp 00:05:39 sorry, meant CLOS method ordering 00:05:43 Summermute: in CLOS method ordering depends on more than just one arg 00:05:45 An eager language can execute foldl by wambling down the data structure, but Lisp lists don't go backwards, so to foldr you must recurse recurse recurse until you have reached the end of the object or the end of the stack, whichever comes first. 00:06:19 If I could use gcc to compile some sort of embedded lisp or something then I could link the objects with the C code that runs the robots we build for the yearly competition and use lisp for autonomous mode. That would be neat. But at this stage I still have much to learn. 00:06:21 rahul, that part Igot 00:06:22 jcowan: what does that have to do with eager? 00:06:32 -!- ASau`` is now known as ASau 00:06:32 Consider classes A and B which are independent but implement the same methods. Then class AB inherits from (A B) and class BA inherits from (B A). 00:06:52 I heard lisp was designed with A.I. in mind? 00:06:52 Summermute: so methods can be reversed if args are different but share some superclasses, I guess 00:07:09 jcowan, I ws interested in observation that "trouble is that even if (as in ISLISP) you have complete and static information about subclass relationships, you still cannot statically decide what the ordering of methods is." 00:07:18 I'm explaining that. 00:07:26 jcowan: oh, you're saying that order of inheritance matters 00:07:29 rahul: in a lazy language, you don't have to recurse. 00:07:32 well, that's determined at runtime 00:07:42 pkhuong: how do you get to the end of the list? 00:07:46 In CL, yes, but even if it is not, you have problems. 00:07:48 crink [n=crink@unaffiliated/crink] has joined #lisp 00:07:54 pkhuong: (when you need your first value) 00:07:57 RustyWheeler [n=kliese@tecoma.eait.uq.edu.au] has joined #lisp 00:07:59 -!- Xach has set mode -o Xach 00:08:07 what problems do we have? 00:08:16 rahul: you don't. Tail recursion is a different trade-off in lazy languages. 00:08:24 -!- kjbrock [n=kevinbro@173-11-106-193-SFBA.hfc.comcastbusiness.net] has quit [] 00:08:54 *rahul* boggles 00:09:10 pkhuong: you're saying that you don't need to find the last element first in a lazy language? 00:09:20 Summermute, lispm: You cannot implement (call-next-method) in a method to do something statically; what it does depends on the types of the arguments in a complex way, and what happens when the next method calls (call-next-method) again depends on them. So one ends up doing all the work at run time anyhow. 00:09:25 rahul: no, you just have to pass a thunk that will compute the next element. 00:09:51 jcowan: CLOS determines an effective method 00:09:55 I'm trying to recall CL's basic resolution method. Man, it's been a long time. 00:09:56 -!- amaron [n=amaron@cable-89-216-181-46.dynamic.sbb.rs] has quit [Read error: 110 (Connection timed out)] 00:09:56 jcowan: the order is fixed for any given set of arg types 00:10:01 demmeln [n=Adium@188.104.85.104] has joined #lisp 00:10:04 In the worst case, you do, but very often, you don't (e.g. because the result of the computation is stored in a data structure) 00:10:06 CLOS doesn't even try to do things at compile time, because in CL you cannot. 00:10:14 sure it does 00:10:19 pkhuong: ok, I think I see 00:10:25 jcowan: wrong 00:10:42 How wrong? You can change class definitions at run time. 00:10:43 Aha, a fuzzy picture takes shape in my mind. 00:10:48 jcowan: it caches stuff 00:10:49 jcowan: effective methods can be computed at compile time, and the biggest lisp program on the planet does that 00:11:13 jcowan: uh, of course if things change they change 00:11:19 the effective method may need to be recomputed at some point 00:11:20 So it doesn't allow (eval '(define-class x ...))? 00:11:22 -!- Jabberwockey [n=jens@port-91757.pppoe.wtnet.de] has quit [Read error: 60 (Operation timed out)] 00:11:33 jcowan: I'm not sure how you'd prevent changes from having effects while still having effects 00:11:44 jcowan: then the effective method gets recomputed upon calling the generic funtion 00:11:52 By not having them. In ISLisp you cannot change the class structure at run time. 00:12:12 jcowan: so in a static language, things are static 00:12:12 in CLOS you can, some Lisp compilers allow you to finalize it though 00:12:24 and in a dynamic language, things are dynamic 00:12:33 rahul: But irritatingly not static enough. 00:12:40 even if it is not finalized, the compiler will compile the effective method it knows about 00:12:55 jcowan: maybe you want C 00:12:55 In particular, calls to (call-next-method) cannot be static even if everything else is. 00:13:04 sure it is 00:13:22 when the effective method gets compiled the order of methods is known 00:13:23 Hmm, I don't know if "guessing and cacheing" counts as a typical "compile time" language processing activity 00:13:24 in C, the method dispatch is determined at language definition time 00:13:40 Summermute: it does 00:13:47 No, thanks, I don't want C. 00:13:48 summermute: CLOS does not guess 00:13:54 Ok, I guess if they say so on your planet 00:13:57 -!- eno [n=eno@nslu2-linux/eno] has quit [Success] 00:14:07 Summermute: you can tell your implementation to precompute specific effective methods 00:14:13 -!- Haplo__ [n=hatchond@cau33-1-82-66-14-55.fbx.proxad.net] has quit ["Quitte"] 00:14:13 Portably? 00:14:16 no 00:14:18 Summermute: it's not guessing, just invalidating the compilation when it isn't correct anymore. 00:14:22 that is MOPpery 00:14:33 optmization is never portable anyway 00:14:44 at least not at that level. 00:14:48 jcowan: there are papers about that, I guess 00:15:01 Okay. But *even if the effective method is precomputed*, the behavior of (call-next-method) cannot be. It has to do run-time type dispatch. 00:15:10 That's the kernel of my complaint. 00:15:12 jcowan: no 00:15:14 jcowan, no it does not 00:15:14 you're wrong 00:15:24 the dispatch IS the effective method 00:15:40 that's what an effective method is defined to be 00:15:43 jcowan: it's possible, just not practical in the general case. 00:15:44 jcowan: the standard says that for CALL-NEXT-METHOD the same effective method has to be used 00:16:03 lispm: Yes, I know that. I'm not worried about run-time mutation of classes at this point. 00:16:10 pkhuong: Can you elaborate? 00:16:16 I know i'm missing some pieces of this, but it makes me think of the old Smalltalk trick of caching the last method object and last method (works pretty well actually) - but guessing and loading the cache at compile time ;-) 00:16:21 if you change the class, the ordering is different 00:16:30 then you are on your own 00:16:32 jcowan: then the order is determined by the effective method 00:16:47 Sorry, waking "last method object and last message..." 00:16:47 The next method list is computed at the same time as the primary method and all is called: you need that for :around/:after/:before methods. 00:16:47 but we thought you were asking about static? 00:17:09 s/then// 00:17:11 However, it's not practical to precompute all the possible effective methods, since it's easy to create a situation in which each subset of the methods could be applicable. 00:17:27 the effective method is the method ordering and the method combination 00:17:49 pkhuong: Just so,. 00:17:54 pkhuong: that's where some implementations build caches 00:17:57 kpreid [n=kpreid@216-171-189-244.northland.net] has joined #lisp 00:18:00 pkhuong: right, you could hint to the implementation which ones are definitely going to happen 00:18:12 and it can preseed the cache with those 00:18:25 jcowan: that's orthogonal to the ordering method. Note that I mentionned applicability, not order. 00:18:44 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 00:18:54 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 00:18:57 pkhuong: the effective method includes order as well 00:19:15 pkhuong, again I'm theory short, but I recall an interesting article (on Object C, I believe) talking about making such predictions, making a giant table for just one level of indirection and then coming up with a method to greatly compess the table of all the possibilities. 00:19:15 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 00:19:17 rahul: in the abstract, the issue isn't dependent on the ordering method. 00:19:40 Summermute: that's with single dispatch and probably a very simple class hierarchy. 00:19:43 pkhuong: the next-method is dependent on ordering 00:19:48 I'm willing to waive method combination for the moment and just consider NIL method combination, as the issues are fundamentally the same. 00:20:13 rahul: that's not my point. My point is that the problem is fundamentally intractable because the number of sets of applicable methods can be enormous. 00:20:22 jcowan: please read about effecitve methods once and for all 00:20:41 pkhuong: precmomputing all possible effective methods? sure 00:20:46 Depending on the argument type, one must decide at run time (whatever pre-caching is done) based on the argument types what the order of methods to be called is. That's annoying. 00:20:48 which is why no one does _that_ 00:20:53 Right on the single dispatch, but I do recall they were talking about an entire runtime library (NeXT - I can't remember) and the numbers were huge. 00:20:55 they only precompute selected ones 00:21:09 rahul: but jcowan blames the CLOS spec for some reason. 00:21:11 Summermute: With single inheritance the problem is easily solved with a clever data structure. 00:21:32 "clever"? 00:21:38 "clever" being a pointer 00:21:43 No, more probably a trie. 00:21:45 jcowan: if you change the single inheritance tree, the method order may change too 00:21:57 Summermute: the complexity of a hierarchy depends on a lot more than the number of classes. Single parent and child class could scale very high with very little complexity. 00:22:07 Once and for all, I'm not worried about run-time mutation of the class hierarchy. 00:22:28 jcowan: if you have CLOS classes and methods, you can determine the order for any given args 00:22:51 the effective method can be computed 00:23:03 jcowan: you are claiming that the most important optimization that has been done in CLOS since the beginning is impossible 00:23:06 But not effectively precomputed. 00:23:10 and the order of methods for the computed effective method is static 00:23:11 -!- ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has quit [Read error: 110 (Connection timed out)] 00:23:13 Not impossible, just impractical in every case. 00:23:14 Sorry my memory hasn't recovered from my knap, but the article certainly wasn't discussing vtables or even the fun indirect ones or C++'s MI. 00:23:18 jcowan: it IS precomputed 00:23:24 what is "Every" case? 00:23:35 every case where you get no-applicable-method? 00:23:59 rahul: not for jcowan, since caches are flushed when full. 00:24:04 If there are N methods (let's say, 2,348 methods) in a given generic function, there are 2^2348 possible selections and 2348! ways to order them. Or something like that. Too much. 00:24:27 jcowan: why the hell would you enumerate everything all the time? 00:24:29 The usual difference between theory and works anyway. 00:25:03 I reiterate: It's annoying that complete knowledge in advance doesn't make these values tractable. 00:25:28 actually complete knowledge does make it tractable 00:25:31 jcowan: that independent of the CLOS ordering method. 00:25:56 if you know all the specializer lists that will be invoked, you can precompute those specific effective methods 00:26:02 jcowan, are there any interesting articles on preserving some of CLOS's flexibility but 'rationalizing' the feature set for better compile time analysis? BTW, of all people, B. Stroustroup wrote a really good paper on adding open methods and multiple dispatch to C++. No kidding! Good read. 00:26:04 which is what ITA does. 00:26:06 In fact, that's probably fundamental to multiple inheritance with (call-next-method) and multiple dispatch. 00:26:09 rahul: Complete knowledge of types at the point of call does, but ISLisp doesn't let you be *that* static. 00:26:42 Summermute: URL or ref for this paper? 00:26:46 -!- rajesh [n=rajesh@nylug/member/rajesh] has quit ["leaving"] 00:27:10 pkhuong: maybe he's proposing making method precedence based on the class's lexical ordering 00:27:24 gruseom [n=daniel@h2-72.wlan.ucalgary.ca] has joined #lisp 00:27:27 Assuming my computer doesn't blow up (crappy virus issue - i think first ever for me), yeah - i'll look it up. give me a sec. 00:27:27 rather than order in the superclass list 00:27:59 jcowan: yes, so it's impossible to know all possible inputs to a dynamic languge 00:28:09 jcowan: only haskell and ML pretend to know all possible inputs 00:28:22 rahul: not even Haskell, with type classes. 00:28:35 and forbid you to write programs that accept inputs that aren't defined at compile time 00:29:02 Not the point. For example, a dynamic language with a single inheritance tree can precompute all effective methods, because the number of them is linear in the number of classes. Or if you are not allowed to have inconsistent orderings, you are I think still linear. 00:29:04 rahul: SML, OCaml and Haskell all have serialisation packages... 00:29:05 pkhuong: well, it has to fit into the type classes that are defined at compile time, no? 00:29:23 pkhuong: and they can only serialize what is defined at compile time 00:29:30 rahul: as opposed to what? And, no, it can do runtime linking; see xmonad or donsbot. 00:29:54 jcowan: multi methods? 00:29:55 pkhuong: well, I consider that compile time since it can't happen after the program starts running 00:29:59 If I had to put my finger on the pain point here, it's the ability to have inconsistent superclass orderings in different classes. 00:30:01 rahul: yes, it can. 00:30:11 -!- dnolen [n=dnolen@pool-151-205-185-34.ny325.east.verizon.net] has quit [] 00:30:24 That was part of dons's master thesis, I believe. 00:30:26 ruediger [n=quassel@188-23-185-199.adsl.highway.telekom.at] has joined #lisp 00:30:33 pkhuong: you can load a new type class at run time and all the functions will get recompiled while the program is running? 00:30:36 lispm: No, multimethods don't make the difference here. You can transform every generic function, for type purposes, into one that accepts a tuple with appropriate types. 00:30:42 I guess it's possible to do that... 00:31:05 rahul: that's the beauty of type systems: if the new type can be passed, you know the interface is respected. Nothing to recompile. 00:31:08 jcowan: CLOS sorts them based on an algorithm 00:31:09 jcowan: but the ordering for a specific class IS DEFINED 00:31:16 I found the Stroustroup article, but i uninstalled Adobe Reader in my machine cleanup effforts yesterday. Juist a sec more. 00:31:18 Unlike CLOS, haskell supports separate compilation. 00:31:27 jcowan: the class-precedence list is not a randomly changing data structure 00:31:40 pkhuong: No, that's the beauty (if it is beauty) of parametric polymorphism for everything. 00:31:49 -!- demmeln [n=Adium@188.104.85.104] has quit ["Leaving."] 00:31:54 pkhuong: hmm sure 00:31:55 jcowan: type classes do ad hoc polymorphism. 00:31:55 rahul: I *know* that. I'm even willing to stipulate that it *NEVER CHANGES*. 00:31:57 -!- Phoodus [i=foo@ip68-231-37-148.ph.ph.cox.net] has quit [Connection timed out] 00:32:04 pkhuong: True. 00:32:19 jcowan: parametric polymorphism is simply a trivial interface. 00:32:22 jcowan: then the effective method is static. 00:32:29 jcowan: for a given specializer list 00:32:32 jcowan: you still have not explained, why the class inheritance can't be computed in CLOS 00:32:47 jcowan: and you cache the effective method for each specializer list. and you can even PRE cache them 00:32:49 "Report on language support for Multi-Methods and 00:32:49 Open-Methods for C++ 00:32:50 there is an algorithm for that 00:32:57 jcowan: C++ virtuals similarly support separate compilation. 00:33:08 Peter Pirkelbauer 00:33:08 Texas A&M University 00:33:08 peter.pirkelbauer@tamu.edu 00:33:08 Yuriy Solodkyy 00:33:08 Texas A&M University 00:33:08 yuriys@cs.tamu.edu 00:33:09 (of all things) 00:33:10 Bjarne Stroustrup 00:33:12 Texas A&M University 00:33:14 bs@cs.tamu.edu 00:33:32 jcowan, that all come out coherent on your IRC reader? 00:33:42 -!- rahul [rjain@clozure-6C5C827B.nyc.cable.nyct.net] has quit [Ping timeout] 00:33:49 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 00:33:49 minion, tell Summermute about lisppaste 00:33:52 we're still recovering Summermute. thanks. 00:34:03 Summermute, that -one- line come out coherent on your IRC reader? 00:34:19 Summermute: Yes. 00:34:29 Thanks. 00:34:44 -!- flatline [n=flatline@z166195.dynamic.ppp.asahi-net.or.jp] has quit [Read error: 110 (Connection timed out)] 00:34:44 pkhuong: C++ supports it badly. 00:34:50 Sorry, not an IRC maven yet. But I have been on the reading side of lisppaste. i'll figure out how to use it. 00:34:51 In Flavors there was a call to precompile the methods 00:34:53 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 00:35:06 that did not make it over to CLOS 00:35:27 Summermute, what part of "visit and enter your paste" needs figuring out? 00:35:42 CLOS allows systems with exponentially more effective methods than flavors did 00:35:55 right 00:35:58 jcowan: Of all things, C++ still supports separate compilation better than CL. This is really about the fact that static type systems ensure the language's interface isn't violated. 00:36:05 jcowan, just BTW, I came accross another article next to this one on adding tuples and multi-value return to C++. Heck, if people would treat these articles like SRFIs, C++ could be a pretty darn good language!!! :-) 00:36:11 well, maybe quadratically, to be exact 00:36:19 Well, okay, if CL is your standard of comparison then C++ does indeed do a good job. 00:36:32 Summermute: Not. 00:36:49 What did Flavors allow that CL doesn't? 00:36:54 Summermute: it would still be a series of unfortunate hacks 00:37:05 jcowan: it's what it didn't allow that's important 00:37:33 SCL:COMPILE-FLAVOR-METHODS 00:37:42 rahul: Okay, what did it disallow, then? 00:37:50 compiles the combined methods at compile time 00:38:12 builds the data structures at load time 00:38:36 jcowan: multiple dispatch 00:39:01 I have to admit that while I'm a critic, i have a general "C is the the best C we have" sort of attitude and a very forgiving attitude toward C++. 00:39:11 Ralith [n=ralith@69.90.49.189] has joined #lisp 00:39:23 My main objection to C++ is that there are 50 ways to do anything, 49 of which (including the obvious one) are suicidally wrong. 00:39:23 Summermute: What does that "C is the best C we have" mean? 00:39:37 In C++ you cannot trust the compiler writer, the library implementor, your teammates, and above all you cannot trust yourself. 00:40:23 ------------ 00:40:33 (sorry) 00:40:41 I'm quite tempted to release formulate 0.2 00:41:44 I've always used C++ back in the day "conservatively." Of all features, for the kinds of stuff i was doing, overloading operator new() was really interesting. As for C, it's one of those great mysteries in CS land that noone has come up with one better enough to warrant wide adoption (C approximating Asm + Friendlier Syntax) 00:41:53 mgr [n=mgr@psychonaut.psychlotron.de] has joined #lisp 00:42:07 Yes, on reflection I think it's the permission to use inconsistent ordering that is my main objection. Given that, it is not possible for a method to decide based on local information what the next method to call is. 00:42:13 "really useful" interesting, well not so much. 00:42:38 Summermute: Better enough one for what though? I have always been puzzled by why C won over forth. 00:42:46 jcowan: it does, you are dreaming 00:43:14 jcowan: the effective method is static, then the call to the next method is know 00:43:28 i'm beginning to think C/C++ is a bit like PHP, everyone uses it because...well everyone uses it 00:43:30 jcowan: for every effective method there is a static ordering of the methods 00:43:50 if something changes, the whole effective method will be recomputed 00:44:21 Guthur: "everyone uses it" is a good argument for actually using it 00:44:27 there is nothing in CLOS that prevents that 00:44:37 I bet if stack-based machines had beat register-based machines then forth would have won over C 00:44:39 lispm: I knew that going in to this discussion. Repeating it doesn't help me with my actual problem. 00:44:43 I live in DC, and with the Nasa folks nearby, there's some forthers around here. Forth is way, way cool. I have a sort of "impossible dream" that all languages will have that level of "reflection" on their own runtime while maintaining performance. 00:44:57 jcowan: you were repeating your misconception 00:45:06 schme, not really based on its actual merits though is it 00:45:12 nvoorhies: but they both work just as well on either (: 00:45:12 Alas, another "vague idea" I've not been able to pack into anythign aproximating a real language design. 00:45:47 Guthur: Well.. industry is not about merit. It's about producing useable products. More people using something == more libraries, more books, more easy to find help etc. 00:46:06 -!- pjb [n=t@23.Red-79-149-147.staticIP.rima-tde.net] has quit [Remote closed the connection] 00:46:14 dmiles_afk [n=dmiles@c-76-104-220-73.hsd1.wa.comcast.net] has joined #lisp 00:46:21 schaf, true enough 00:46:32 jcowan: did you read 'efficient method dispatch in PCL" for a start? 00:46:37 lispm: Retrying. A method when invoked by itself (not through the generic function) cannot tell, based on local information, which method to call next. 00:46:42 -!- Axioplase_ is now known as Axioplase 00:46:43 We don't have to *like* it or *advocate* it, but it is the way life is :-( 00:47:08 how does a method invoke itself? 00:47:17 jcowan: the next method list is a local variable in the method 00:47:21 jcowan, wow - what roughly counts as "local information" ? 00:47:40 and yes, what the hell is a method invoked itself? 00:48:06 start here: 00:48:08 http://www2.parc.com/csl/groups/sda/publications/papers/Kiczales-Andreas-PCL/for-web.pdf 00:48:14 One invoked through its predecessor returning call-next-method, which although a local variable contains a function of indefinite scope. 00:48:33 s/variable/name 00:48:51 huh? 00:49:00 please parse that sentence for me 00:49:25 you can't return the next method 00:49:32 (defmethod x ((y a) (z b)) #'call-next-method) 00:49:38 wrong 00:49:42 Oh? 00:49:53 clhs call-next-method 00:49:53 http://www.lispworks.com/reference/HyperSpec/Body/f_call_n.htm 00:49:58 I am now allowed to shoot you in the head 00:50:10 Oh wait, some memories coming back - can't any new class definitions, say with D, using classes A,B,C.... alter the topological sort of method specificity used for method selection. If I'm remembering that correctly, then only something like whole program compilation when it's "done' (no evals, too) would make method selection deterministic. 00:50:13 and that link gives me permission to 00:50:21 rahul: right 00:50:45 The function call-next-method has lexical scope and indefinite extent and can only be used within the body of a method defined by a method-defining form. 00:50:49 Just so. 00:51:10 So it can be passed to a different method and invoked there. Not even necessarily a method of the same generic function. 00:51:21 actually, I think you can pass it to another method as a closure... 00:51:29 as a closure 00:51:31 ! 00:51:47 and that closure closes around the effective method! 00:51:56 correct 00:51:59 rahul, that was just what I was wondering - how would CLOS prevent that??? (closure) 00:52:23 Summermute: it doesn't need to 00:52:56 but you're not allowed to call change-class on any of the args before continuing along to that method 00:54:06 actually, I think you're allowed, but you'll end up with a type-error if you do something bad 00:54:17 -!- lemonodor [n=lemonodo@144.198.182.10] has quit [] 00:54:38 -!- grouzen [n=grouzen@91.214.124.2] has quit [Read error: 60 (Operation timed out)] 00:56:27 http://www.apl.jhu.edu/~hall/text/Papers/CLOS-Optimizations.text 00:56:35 A call to CALL-NEXT-METHOD or NEXT-METHOD-P is converted to inline code which 00:56:36 uses next method information in the extra argument. 00:56:59 I'll read both papers. Thanks for the pointers. 00:57:36 bgs100 [n=ian@unaffiliated/bgs100] has joined #lisp 00:58:54 -!- jcowan [n=jcowan@72.14.228.129] has quit ["Leaving"] 00:59:12 -!- whoppix [n=whoppix@ti0021a380-dhcp0681.bb.online.no] has quit ["Leaving"] 00:59:28 I really respect these authors, but when they always start their articles about how "fast" or "high performance" their latest dynamic hooha is, it always makes me chuckle. 00:59:29 whoppix [n=whoppix@ti0021a380-dhcp0681.bb.online.no] has joined #lisp 01:00:02 -!- gruseom [n=daniel@h2-72.wlan.ucalgary.ca] has quit [Remote closed the connection] 01:00:08 it was tuned to allow to run software with a lot of dynamic calls 01:00:25 -!- Deep [n=dawgmati@c-76-124-3-89.hsd1.nj.comcast.net] has quit [] 01:00:25 Summermute: "latest"? do you realize when they wrote these papers? 01:00:41 Sure, 1990 01:01:02 yeah, before CL was ratified 01:01:08 or C++ for that matter 01:01:50 java was hardly an arrow in Steele's eye 01:02:03 There should be a new term that means "fast for dynamic computing stuff, not true counting cycles "fast"" - then we could use that word when puffing up about our (usually inherently slow) high performance implementation of X,Y or Z. 01:02:29 wha? 01:02:30 Summermute: so C++ is also inherently slow? 01:02:52 because SBCL gets really darned close to C++ 01:03:30 Summermute: I think fast just means fast. 01:05:18 well, I can't think of a language construct taht's inherently slow, but there is "malloc" in the std library, and C++'s std new() operator would probably drag malloc into the language def, so maybe malloc is one construct I'd consider "slow" in C++. Most of the language constructs are "cycle counting fast" or usually implemented as such (optimized compilation). 01:05:24 jcowan: also instructive is to use your own method combination 01:05:44 you can write them and the doc says: 01:05:46 -!- legumbre_ is now known as legumbre 01:05:56 " Given a method object in one of the lists produced by the method group specifiers and a list of next methods, call-method will invoke the method such that call-next-method has available the next methods." 01:06:28 i hate discussing "language speed" 01:06:39 Summermute: should benchmarks for OLTP use that term, too? 01:07:02 Summermute: and how is that different from SBCL's CLOS? 01:07:03 it's mostly some idiot showing a specific set of benchmarks disconnected from real world programs that run fast on some particular implementation 01:07:43 No, I'd think we'd agree - we need more than one term for "fast" or "high performance" for different problem domains (roughly) in comp sci/eng. 01:08:12 -!- Guthur [n=Michael@host81-131-243-232.range81-131.btcentralplus.com] has quit ["Computer says no"] 01:08:12 rpg [n=rpg@72.11.106.198] has joined #lisp 01:08:26 demmeln [n=Adium@188.104.85.104] has joined #lisp 01:08:31 Summermute: so database joins can never be fast? 01:09:01 Anway, i was just making a quip. i doubt my antilock brakes are coded up in Genera, so whether or not he uses "fast" in the first sentence of the article or not doesn't really matter - just amusing to me. 01:09:29 Summermute: you don't want "fast" antilock brake control code either 01:09:45 Summermute: because things that are "fast" sometimes don't execute in time, either 01:10:10 one dataset may result in a 1 ms run time, and another data set may result in 500 ms 01:10:28 Summermute: what you probably mean is hard real-time 01:10:31 Summermute: whenever you move the mouse in Genera over the screen lots of OO calls are being done 01:11:15 rahul, Uh, I just explicitly said that they could so long as we have a definition of "fast for this problem domain". I said, actually we probably agree. But "fast" **by itself** isn't a great word either for description or comparision. 01:11:16 yeah, LOTS of these calls that jcowan claims are impossible to optimize 01:11:50 Summermute: neither is "long" or "large" or "bright" or any other descriptive term 01:11:59 redblue [i=star@ppp160.108-253-207.mtl.mt.videotron.ca] has joined #lisp 01:12:22 any other term that refers to a measurable quantity 01:12:41 how long is a piece of string? how fast is a computer chip? how small is a molecule? 01:13:48 you can always find something that's more or less than that object in the dimension referred to. 01:13:59 -!- lispm [n=joswig@e177125095.adsl.alicedsl.de] has quit [Remote closed the connection] 01:14:02 of course, that other thing may be of a completely different kind 01:14:46 I can find a molecule shorter than your piece of string, and I can find a light frequency faster than your computer chip. 01:19:19 ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 01:23:59 -!- mrSpec [n=Spec@unaffiliated/mrspec] has quit [] 01:24:48 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 01:25:02 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Read error: 110 (Connection timed out)] 01:25:22 lemonodor [n=lemonodo@144.198.182.10] has joined #lisp 01:30:07 -!- DrunkTomato [n=DEDULO@ext-gw.wellcom.tomsk.ru] has quit [] 01:33:22 -!- demmeln [n=Adium@188.104.85.104] has quit ["Leaving."] 01:36:45 -!- fe[nl]ix [n=algidus@88-149-210-168.dynamic.ngi.it] has quit ["Valete!"] 01:41:37 fe[nl]ix [n=algidus@88-149-210-168.dynamic.ngi.it] has joined #lisp 01:43:08 -!- slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Read error: 110 (Connection timed out)] 01:45:52 -!- Ralith [n=ralith@69.90.49.189] has quit [Read error: 104 (Connection reset by peer)] 01:46:36 Ralith [n=ralith@69.90.49.189] has joined #lisp 01:49:49 -!- kpreid [n=kpreid@216-171-189-244.northland.net] has quit [] 01:50:19 kpreid [n=kpreid@216-171-189-244.northland.net] has joined #lisp 01:50:42 Tordek_ [n=tordek@host107.190-226-113.telecom.net.ar] has joined #lisp 01:51:24 -!- rpg [n=rpg@72.11.106.198] has quit ["Leaving..."] 01:53:02 -!- RustyWheeler [n=kliese@tecoma.eait.uq.edu.au] has left #lisp 01:53:47 -!- lemonodor [n=lemonodo@144.198.182.10] has quit [] 01:55:16 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 01:55:33 acquacow [n=acquacow@ip68-227-218-209.dc.dc.cox.net] has joined #lisp 01:55:38 -!- acquacow [n=acquacow@ip68-227-218-209.dc.dc.cox.net] has left #lisp 01:56:42 arbscht_ [n=arbscht@unaffiliated/arbscht] has joined #lisp 01:57:07 -!- bobbysmith007 [n=russ@216.155.97.1] has quit ["Leaving."] 01:59:20 -!- Elench [n=jarv@unaffiliated/elench] has quit [Remote closed the connection] 02:02:46 -!- REPLeffect_ [n=REPLeffe@69.54.115.254] has quit [Read error: 110 (Connection timed out)] 02:02:52 dnolen [n=dnolen@pool-70-107-156-97.ny325.east.verizon.net] has joined #lisp 02:03:15 is there a function to map over an array? 02:05:13 clhs map 02:05:13 http://www.lispworks.com/reference/HyperSpec/Body/f_map.htm 02:06:10 -!- Tordek [n=tordek@host15.190-137-250.telecom.net.ar] has quit [Read error: 110 (Connection timed out)] 02:08:13 -!- arbscht [n=arbscht@unaffiliated/arbscht] has quit [Read error: 110 (Connection timed out)] 02:09:24 -!- mrsolo [n=mrsolo@nat/yahoo/x-hbcxdyldojwvhjdx] has quit ["Leaving"] 02:10:56 -!- roygbiv [n=none@pdpc/supporter/active/roygbiv] has left #lisp 02:11:28 impulse32 [n=impulse@bas3-toronto48-1176314126.dsl.bell.ca] has joined #lisp 02:12:22 ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 02:14:13 Phoodus [i=foo@ip68-231-37-148.ph.ph.cox.net] has joined #lisp 02:14:14 -!- dagnachew [n=dagnache@modemcable230.220-179-173.mc.videotron.ca] has quit ["Leaving"] 02:23:04 rpg [n=rpg@216.243.156.16.real-time.com] has joined #lisp 02:25:51 -!- ruediger [n=quassel@188-23-185-199.adsl.highway.telekom.at] has quit [Remote closed the connection] 02:27:33 Lycurgus [n=Ren@cpe-72-228-150-44.buffalo.res.rr.com] has joined #lisp 02:28:33 -!- drdo [n=drdo@a89-152-179-186.cpe.netcabo.pt] has quit [Read error: 110 (Connection timed out)] 02:29:44 -!- bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has quit [Remote closed the connection] 02:30:12 bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has joined #lisp 02:30:25 -!- bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has quit [Remote closed the connection] 02:31:00 bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has joined #lisp 02:31:35 bakkdoor_ [n=bakkdoor@83adca9b.funky.Uni-Osnabrueck.DE] has joined #lisp 02:31:50 -!- crink [n=crink@unaffiliated/crink] has quit ["Leaving."] 02:32:24 -!- bakkdoor_ [n=bakkdoor@83adca9b.funky.Uni-Osnabrueck.DE] has left #lisp 02:32:55 fusss [n=chatzill@60-241-1-206.static.tpgi.com.au] has joined #lisp 02:39:52 hmmm, C-x C-l on some pjb code might cause lower-casing of string literals along with lisp forms 02:46:06 -!- dnolen [n=dnolen@pool-70-107-156-97.ny325.east.verizon.net] has quit [] 02:46:12 lemonodor [n=lemonodo@76.214.17.20] has joined #lisp 02:49:29 dnolen [n=dnolen@pool-70-107-156-97.ny325.east.verizon.net] has joined #lisp 02:49:43 -!- durbin [n=durbin@adsl-99-181-3-9.dsl.irvnca.sbcglobal.net] has quit [Read error: 60 (Operation timed out)] 02:57:47 -!- Guest37527 [n=drwho@c-98-225-211-78.hsd1.pa.comcast.net] has quit [Client Quit] 02:58:34 -!- dreish [n=dreish@minus.dreish.org] has quit [] 03:02:26 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit ["Leaving"] 03:04:55 -!- blackened` [n=blackene@ip-89-102-22-70.karneval.cz] has quit [] 03:04:59 -!- fiveop_ [n=fiveop@g230003238.adsl.alicedsl.de] has quit ["humhum"] 03:06:42 Eko [n=eko@c-98-242-74-171.hsd1.ga.comcast.net] has joined #lisp 03:09:33 -!- Nshag [i=user@lns-bzn-43-82-249-132-213.adsl.proxad.net] has quit ["Quitte"] 03:11:28 -!- eno_ [n=eno@adsl-70-137-172-110.dsl.snfc21.sbcglobal.net] has quit [Nick collision from services.] 03:11:36 eno [n=eno@nslu2-linux/eno] has joined #lisp 03:15:47 dralston [n=dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 03:17:58 -!- Ralith [n=ralith@69.90.49.189] has quit [Read error: 60 (Operation timed out)] 03:18:37 emacsphan [n=user@plmomi-l10-340.dsl.tds.net] has joined #lisp 03:22:38 -!- redblue [i=star@ppp160.108-253-207.mtl.mt.videotron.ca] has quit [Read error: 110 (Connection timed out)] 03:25:05 tvl [n=tudor@TSA.RES.CMU.EDU] has joined #lisp 03:26:08 -!- emacsphan [n=user@plmomi-l10-340.dsl.tds.net] has quit [Remote closed the connection] 03:26:42 -!- yibter [n=yibter@c-76-105-116-44.hsd1.ga.comcast.net] has quit ["Leaving"] 03:28:02 -!- Summermute [n=Summermu@98.204.67.114] has quit [Read error: 60 (Operation timed out)] 03:30:30 redblue [i=star@ppp057.108-253-207.mtl.mt.videotron.ca] has joined #lisp 03:31:56 Ralith [n=ralith@69.90.49.189] has joined #lisp 03:33:02 spradnyesh [n=pradyus@nat/yahoo/x-nktlucvejksgcaej] has joined #lisp 03:34:59 -!- ikki [n=ikki@201.155.75.146] has quit ["Leaving"] 03:37:30 bakkdoor_ [n=bakkdoor@83adca9b.funky.Uni-Osnabrueck.DE] has joined #lisp 03:37:59 -!- bakkdoor_ [n=bakkdoor@83adca9b.funky.Uni-Osnabrueck.DE] has left #lisp 03:42:17 -!- dnolen [n=dnolen@pool-70-107-156-97.ny325.east.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 03:42:37 dnolen [n=dnolen@pool-70-107-156-97.ny325.east.verizon.net] has joined #lisp 03:47:18 -!- Tordek_ is now known as Tordek 03:47:47 envi^office [i=envi@203.109.25.110] has joined #lisp 03:50:27 -!- proq [n=user@unaffiliated/proqesi] has quit [Remote closed the connection] 03:52:14 gruseom [n=daniel@h2-72.wlan.ucalgary.ca] has joined #lisp 03:53:25 b4|hraban [n=b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 04:06:13 beautiful [n=beauty@213.143.62.179] has joined #lisp 04:08:31 emacsphan [n=user@plmomi-l10-340.dsl.tds.net] has joined #lisp 04:12:39 -!- LiamH [n=nobody@pool-72-75-73-155.washdc.east.verizon.net] has quit ["Leaving."] 04:13:24 -!- nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 04:13:44 nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has joined #lisp 04:13:54 skypher [n=lpolzer@dslb-088-073-206-098.pools.arcor-ip.net] has joined #lisp 04:15:34 -!- lpolzer_ [n=lpolzer@dslb-088-073-209-165.pools.arcor-ip.net] has quit [Read error: 104 (Connection reset by peer)] 04:17:00 -!- marioxcc [n=user@201.132.49.4] has quit [Remote closed the connection] 04:20:59 -!- gruseom [n=daniel@h2-72.wlan.ucalgary.ca] has quit [Read error: 110 (Connection timed out)] 04:21:22 caoliver [n=oliver@75-134-212-114.dhcp.trcy.mi.charter.com] has joined #lisp 04:26:13 -!- caoliver [n=oliver@75-134-212-114.dhcp.trcy.mi.charter.com] has left #lisp 04:29:27 Dr|Jekle [i=187db297@gateway/web/freenode/x-jizwstoqqmcmkzfe] has joined #lisp 04:29:29 -!- beauty [n=beauty@83.231.108.12] has quit [Read error: 110 (Connection timed out)] 04:29:38 why are lisp users so egotistical? 04:29:49 didn't lisp fail to deliver A.I.? 04:30:02 cmm [n=cmm@bzq-79-176-45-108.red.bezeqint.net] has joined #lisp 04:30:17 -!- hefner [n=hefner@ppp-61-90-102-2.revip.asianet.co.th] has quit ["Leaving"] 04:30:43 it wasn't Lisp's job to do that; Lisp is just a tool 04:31:45 when lisp was popular thats all i heard about it, what it's gonna do 04:31:49 <_deepfire> Dr|Jekle, you don't come into communities only to insult them at the end of your first breath, by the way. 04:32:01 yet none could do it, perhaps its not only the coders, but much more the language? 04:32:03 The mistake was responding. 04:32:44 well here's my problem, lisp isn't very popular, compared to various other languages, yet every single lisp coder i've had the misfortune of talking to 04:32:48 has a ego problem 04:32:48 <_deepfire> Dr|Jekle, you don't have a chance of knowing, as you offended people who would otherwise respond to your less insulting questions. 04:32:58 so ask you,#lisp, full of said coders 04:33:06 why do you have ego problems 04:33:14 <_deepfire> Go away. 04:33:19 what makes you better than all other coders 04:33:22 you know you wanna tell me 04:33:43 aspectL is deprecated? 04:34:35 just as I suspected, lisp coders are angry lil men lying to themselves, kind of like fat woman acting like they're not only fat, but attractive 04:35:02 I guess when you're at 1 extreme(the bottom of the food chain) you act like you're at the other extreme(the top) 04:35:13 thanks for confirming my predictions 04:35:50 i wish I cud say lisp would be taken seriously in this generation or the next 04:35:53 but sadly it won't 04:35:58 not now, not ever 04:36:08 it's 15 minutes of attention are over 04:36:40 baddog [n=liam@unaffiliated/baddog144] has joined #lisp 04:40:03 Dreamer3 [n=Dreamer3@96-28-100-3.dhcp.insightbb.com] has joined #lisp 04:40:04 http://blog.pastie.org/2009/11/pastie-learns-erlang-lua-io-haskell-lisp-and-more.html 04:40:11 -!- hugod [n=hugod@bas1-montreal50-1279441070.dsl.bell.ca] has quit [] 04:41:56 hmm I'd also like an http://blog.pastie.org/2009/11/pastie-now-fully-functional-without-ajax-and-more.html :) 04:42:57 hehe 04:44:12 -!- ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has quit [Read error: 145 (Connection timed out)] 04:44:17 hmm my memory could fail me but I think contextl deprecated aspectl true 04:46:48 phadthai: ok, just wanted to confirm 04:47:01 <_deepfire> phadthai, my impression is that it does, yes, although it was based on a quick glance 04:47:59 -!- thom_logn [n=thom@pool-173-67-109-95.lsanca.fios.verizon.net] has quit ["Leaving"] 04:48:02 -!- cmm-_ [n=cmm@bzq-79-176-45-108.red.bezeqint.net] has quit [Read error: 110 (Connection timed out)] 04:48:59 -!- beautiful is now known as beauty 04:50:32 minion: Twap to Dr|Jekle 04:50:33 Sorry, I couldn't find anything in the database for ``Twap''. 04:50:40 minion: Thwap to Dr|Jekle 04:50:41 Dr|Jekle: direct your attention towards Thwap: THWAP! http://www.angryflower.com/bobsqu.gif and http://www.angryflower.com/itsits.gif (see also: http://www.unmutual.info/misc/sb_itsits.mp3 ) 04:50:44 emacspha` [n=user@plmomi-l10-340.dsl.tds.net] has joined #lisp 04:51:12 Good morning everyone! 04:51:28 <_deepfire> good morning Robert! 04:51:31 phadthai: haha 04:51:36 phadthai: why do you have JS turned off? 04:52:12 it doesn't use any AJAX, just a bit of JS 04:53:48 -!- Khisanth [n=Khisanth@pool-141-157-230-238.ny325.east.verizon.net] has quit ["Leaving"] 04:53:48 well the "more" menu option didn't work in the browser I tried it in, which doesn't support JS at all :) but I use other working pastebin services so it's not that much of a problem actually 04:53:51 -!- benny [n=benny@i577A1C59.versanet.de] has quit [Read error: 113 (No route to host)] 04:54:17 benny [n=benny@i577A1C59.versanet.de] has joined #lisp 04:54:20 -!- tvl [n=tudor@TSA.RES.CMU.EDU] has left #lisp 04:54:38 Khisanth [n=Khisanth@pool-141-157-230-238.ny325.east.verizon.net] has joined #lisp 04:55:05 <_deepfire> beach, do you use orgmode yet? 04:55:21 _deepfire: Not yet. You think I should? 04:55:49 <_deepfire> beach, it is a boon for organising information, most definitely. 04:56:44 -!- emacsphan [n=user@plmomi-l10-340.dsl.tds.net] has quit [Read error: 145 (Connection timed out)] 04:57:20 <_deepfire> beach, it's actually somewhat geared to time/task management, even. 04:57:30 orgmode is one crazy tool 04:58:01 the only thing it lacks is probably syncing to exchange server 04:58:43 *beach* reads the online documentation 04:58:53 <_deepfire> rullie, do you think that this won't be lossy, on the side of the exchange server? 04:59:00 -!- mgr [n=mgr@psychonaut.psychlotron.de] has quit [Read error: 110 (Connection timed out)] 05:00:31 <_deepfire> I don't know a drat about exchange, though. 05:00:52 _deepfire: :p 05:02:04 beach: you can also watch it here http://www.youtube.com/watch?v=oJTwQvgfgMM&feature=related 05:03:51 rullie: Thanks. I shall have to do that later. 05:05:06 -!- fusss [n=chatzill@60-241-1-206.static.tpgi.com.au] has quit ["ChatZilla 0.9.85 [Firefox 3.5.4/20091016092926]"] 05:09:26 -!- luis [n=user@mail2.siscog.pt] has quit [Read error: 110 (Connection timed out)] 05:14:36 wp 05:15:18 *p_l* missed modifier key 05:17:52 -!- Dodek [n=dodek@156.17.1.251] has quit [Read error: 110 (Connection timed out)] 05:18:35 ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 05:19:29 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Read error: 110 (Connection timed out)] 05:19:33 -!- dralston [n=dralston@S010600212986cca8.va.shawcable.net] has quit ["Leaving"] 05:23:07 -!- Dr|Jekle [i=187db297@gateway/web/freenode/x-jizwstoqqmcmkzfe] has quit [Killed by LoRez (So long and thanks for all the troll.)] 05:23:49 -!- nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has quit [] 05:26:20 nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has joined #lisp 05:27:27 -!- Axioplase is now known as Axioplase_ 05:29:11 gruseom [n=daniel@S0106001a704b7fbe.cg.shawcable.net] has joined #lisp 05:30:16 benny` [n=benny@i577A79B1.versanet.de] has joined #lisp 05:32:06 clog_ [n=nef@bespin.org] has joined #lisp 05:34:35 -!- benny [n=benny@i577A1C59.versanet.de] has quit [Nick collision from services.] 05:34:37 -!- benny` is now known as benny 05:39:58 bdowning_ [n=bdowning@mnementh.lavos.net] has joined #lisp 05:40:05 Kolyan [n=nartamon@95-24-97-36.broadband.corbina.ru] has joined #lisp 05:42:00 -!- s0ber [n=s0ber@118-160-165-75.dynamic.hinet.net] has quit [Remote closed the connection] 05:44:08 -!- emacspha` [n=user@plmomi-l10-340.dsl.tds.net] has quit [Remote closed the connection] 05:45:51 -!- clog [n=nef@bespin.org] has quit [Connection timed out] 05:45:51 -!- clog_ is now known as clog 05:48:14 -!- dnolen [n=dnolen@pool-70-107-156-97.ny325.east.verizon.net] has quit [] 05:50:10 s0ber [n=s0ber@220-136-225-80.dynamic.hinet.net] has joined #lisp 05:53:52 cadabra [n=cadabra@c-174-52-81-75.hsd1.ut.comcast.net] has joined #lisp 05:56:18 splittist [n=dmurray@67-171.79-83.cust.bluewin.ch] has joined #lisp 05:56:20 morning 05:57:30 -!- bdowning [n=bdowning@mnementh.lavos.net] has quit [Connection timed out] 05:57:56 -!- bdowning_ is now known as bdowning 06:04:22 -!- ltriant [n=ltriant@lithium.mailguard.com.au] has quit ["leaving"] 06:04:26 -!- mattrepl [n=mattrepl@pool-71-163-162-204.washdc.fios.verizon.net] has quit [] 06:12:42 pavelludiq [n=quassel@83.222.175.184] has joined #lisp 06:12:44 dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 06:14:48 -!- ASau [n=user@83.69.227.32] has quit ["off"] 06:15:17 sayyestolife [n=jot_n@h-60-147.A163.priv.bahnhof.se] has joined #lisp 06:20:12 -!- rrice [n=rrice@adsl-69-221-160-24.dsl.akrnoh.ameritech.net] has quit ["Leaving."] 06:29:54 (morning) 06:36:17 plage [n=user@serveur5.labri.fr] has joined #lisp 06:36:52 Good morning. 06:38:25 morning plage. 06:40:40 hey splittist What's up? 06:41:23 Well, me, far too early. Back from a couple of weeks in Asia and splittist jr. is still adjusting to the timezone change. 06:44:41 *plage* reads scrollbacks. 06:45:15 myst: It is pretty strange to ask for advice and then when you are given some ("use loop") you reject it. 06:45:24 plage: how many groups of students do you have working on lisp things at the moment? (And what are they working on?) 06:46:02 splittist: At the moment only a group of 4 Vietnamese students are doing Lisp, and they are writing a Sudoku game, mainly to learn Lisp. 06:46:30 Ah. 06:46:53 splittist: Starting January, there will be 100 or so students working on improving an accounting system (that I haven't written yet). 06:47:24 [wifi is flaky and keeps disconnecting] 06:47:26 -!- splittist [n=dmurray@67-171.79-83.cust.bluewin.ch] has quit [Read error: 104 (Connection reset by peer)] 06:47:34 splittist [n=dmurray@67-171.79-83.cust.bluewin.ch] has joined #lisp 06:47:36 ahem 06:49:08 Reaver1 [n=Data_Ent@212.88.117.162] has joined #lisp 06:51:31 blandest [n=blandest@softhouse.is.ew.ro] has joined #lisp 06:54:55 clog_ [n=nef@bespin.org] has joined #lisp 07:02:08 -!- Dreamer3 [n=Dreamer3@96-28-100-3.dhcp.insightbb.com] has left #lisp 07:04:22 drdo [n=drdo@a89-152-179-186.cpe.netcabo.pt] has joined #lisp 07:05:08 -!- redblue [i=star@ppp057.108-253-207.mtl.mt.videotron.ca] has quit [Read error: 110 (Connection timed out)] 07:05:46 redblue [i=star@ppp045.108-253-207.mtl.mt.videotron.ca] has joined #lisp 07:07:03 serichsen [n=user@hmbg-4d06df1a.pool.mediaWays.net] has joined #lisp 07:07:06 good morning 07:07:40 hello serichsen 07:08:26 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 07:09:52 -!- clog [n=nef@bespin.org] has quit [Read error: 110 (Connection timed out)] 07:09:53 -!- clog_ is now known as clog 07:10:26 plage: And how did you introduce them to lisp? 07:10:47 plage: Most of the vietnamese programmers I knew when I was there didn't want to learn anything but Java and PHP because they felt those were the most popular and would get them a job. 07:10:53 Not much "hacker spirit" over there. 07:11:32 tessier: I pay them. 07:12:00 plage: Interesting. You pay them to learn lisp? Can I come work for you too? 07:12:05 Toi noi tieng viet! 07:12:05 How do you let go of a library that you know is a dreadful mistake but have invested too much time and energy in to abandon? 07:12:24 tessier: Sure, no problem, provided you accept their salary level. 07:12:44 plage: What is your end goal with this? Some sort of experiment or what? 07:12:51 plage: Are you beach or do you work with him? 07:13:10 ZabaQ: that's a classic problem :) 07:13:10 tessier: beach, spiaggia, plage, same nick. 07:13:26 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit ["Leaving"] 07:13:27 or are you searching for a lisp-specific solution? 07:14:48 tessier: You could call it an experiment. There are several purposes: Introducing Lisp in Vietnam is one. Hoping for additional hackers to help us out is another. 07:15:46 plage: what _is_ their salary level, if I may ask? 07:16:47 serichsen: Well, I don't pay the full level anyway, but 300EUR/month for a full-time person is a good salary. 07:17:12 serichsen: And they don't work full-time for me. So I pay 300EUR/month for 4 half-time students. 07:18:27 serichsen: My thinking was that it beats flipping burgers. 07:19:04 There will be statues of plage in Ho Chi Minh one day - 'The Father of Vietnamese Lisp' 07:19:27 splittist: Hey, that's an idea! 07:20:44 ASau [n=user@host121-231-msk.microtest.ru] has joined #lisp 07:21:27 guaqua: it's just something I wrote that was meant to be a wrapper to generate type annotations automatically for a certain class of code. It's turning out to be far more bother to maintain than it's worth. 07:30:35 trebor_dki [n=user@mail.dki.tu-darmstadt.de] has joined #lisp 07:32:47 -!- drdo [n=drdo@a89-152-179-186.cpe.netcabo.pt] has quit [] 07:34:10 -!- dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [] 07:37:34 -!- clog [n=nef@bespin.org] has quit [Read error: 113 (No route to host)] 07:43:39 this is interesting - lispworks is refusing to compile a form that redefines a lot of existing forms, despite it only generating warnings. 07:44:03 but I *want* to redefine those forms! 07:46:09 silly compiler. 07:47:50 ejs [n=eugen@77.222.151.102] has joined #lisp 07:49:19 Elench [n=jarv@unaffiliated/elench] has joined #lisp 07:50:25 -!- dysinger [n=dysinger@cpe-75-85-132-170.hawaii.res.rr.com] has quit [] 07:51:44 knobo [n=user@90.149.4.182] has joined #lisp 07:55:05 -!- baddog [n=liam@unaffiliated/baddog144] has quit [Read error: 145 (Connection timed out)] 07:56:12 -!- ejs [n=eugen@77.222.151.102] has quit [Read error: 145 (Connection timed out)] 07:56:24 crink [n=crink@unaffiliated/crink] has joined #lisp 07:56:55 ejs [n=eugen@nat.ironport.com] has joined #lisp 07:57:43 mvilleneuve [n=mvillene@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 07:57:55 -!- quazimodo [n=quazimod@c211-30-174-40.carlnfd1.nsw.optusnet.com.au] has quit [Remote closed the connection] 07:58:16 tcr [n=tcr@host146.natpool.mwn.de] has joined #lisp 07:58:53 Holcxjo [n=holly@home.sinclair-durer.net] has joined #lisp 08:00:27 -!- Holcxjo is now known as h_durer 08:01:29 Liu1 [n=Yuanhan@124.90.49.186] has joined #lisp 08:05:42 good morning 08:06:39 ano pasted "untitled" at http://paste.lisp.org/display/90715 08:07:42 jdz [n=jdz@85.254.211.133] has joined #lisp 08:08:44 hello mvilleneuve 08:10:36 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #lisp 08:12:39 mrSpec [n=Spec@unaffiliated/mrspec] has joined #lisp 08:13:23 levente_meszaros [n=levente_@apn-94-44-14-25.vodafone.hu] has joined #lisp 08:16:35 daniel_ [i=daniel@unaffiliated/daniel] has joined #lisp 08:16:47 -!- daniel [i=daniel@unaffiliated/daniel] has quit [Broken pipe] 08:16:50 -!- Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Read error: 113 (No route to host)] 08:18:53 Fufie [n=poff@Gatekeeper.vizrt.com] has joined #lisp 08:19:41 clisp backtraces in swank are horrible 08:19:50 -!- _8david [n=user@port-92-195-56-124.dynamic.qsc.de] has quit [Remote closed the connection] 08:20:00 _8david [n=user@port-92-195-56-124.dynamic.qsc.de] has joined #lisp 08:20:55 -!- impulse32 [n=impulse@bas3-toronto48-1176314126.dsl.bell.ca] has quit ["leaving"] 08:24:42 ZabaQ: Yup but it's not slime's fault 08:24:48 xan [n=xan@cs78225040.pp.htv.fi] has joined #lisp 08:25:24 ZabaQ: If you want improvement, I suggest to spend the few days and hack up an programmatic api to clisp's backtraces 08:25:36 varjag [n=eugene@122.62-97-226.bkkb.no] has joined #lisp 08:25:39 -!- _8david [n=user@port-92-195-56-124.dynamic.qsc.de] has quit [Read error: 60 (Operation timed out)] 08:27:48 drdo [n=drdo@a89-152-179-186.cpe.netcabo.pt] has joined #lisp 08:28:17 -!- gruseom [n=daniel@S0106001a704b7fbe.cg.shawcable.net] has quit [Read error: 110 (Connection timed out)] 08:29:05 the hardest part is probably to get used to clisp's idiosyncratic source code :) 08:31:13 HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 08:31:45 -!- lemonodor [n=lemonodo@76.214.17.20] has quit [] 08:31:58 grouzen [n=grouzen@91.214.124.2] has joined #lisp 08:32:29 tcr: if only I were that time-rich 08:35:10 aerique [i=euqirea@xs2.xs4all.nl] has joined #lisp 08:36:58 You're working with stuff where dozen of people have invested several man-months if not years 08:37:14 for free -- might be nice to give something back 08:37:31 But, sure, I can relate to that 08:37:32 <_deepfire> Let the FLOSS snowball roll! 08:38:47 and if you really want to use clisp -- it's time well invested 08:38:47 tcr: tell that to my wife :-) 08:39:01 tcr: true 08:39:07 arbscht [n=arbscht@unaffiliated/arbscht] has joined #lisp 08:40:10 -!- skypher is now known as lpolzer 08:42:46 tcr: isn't there a library floating round for portable backtraces? I seem to remember one somewhere.. 08:44:37 minion: trivial-backtrace 08:44:37 trivial-backtrace: Trivial backtrace is a simple platform independent interface for generating a backtrace. http://www.cliki.net/trivial-backtrace 08:44:42 wonder what it does on clisp 08:44:54 cry :-) 08:45:31 it's just backtrace printing 08:45:50 slime needs a have structural access to backtraces 08:45:53 and it doesn't support clisp :-( 08:47:21 tcr: that means you need to wrap your own api round the internal backtrace gubbins of each lisp? 08:47:46 of course 08:48:46 TR2N` [i=email@89-180-152-217.net.novis.pt] has joined #lisp 08:50:05 -!- tcr [n=tcr@host146.natpool.mwn.de] has quit ["Leaving."] 08:50:13 hmm. interesting. the form that was giving me problems in slime just works at the repl. 08:50:43 -!- TR2N [i=email@89.180.140.6] has quit [Read error: 60 (Operation timed out)] 08:52:23 -!- arbscht_ [n=arbscht@unaffiliated/arbscht] has quit [Read error: 110 (Connection timed out)] 08:55:16 -!- ia [n=ia@89.169.161.244] has quit [Read error: 110 (Connection timed out)] 08:56:28 ejs1 [n=eugen@nat.ironport.com] has joined #lisp 08:56:33 ia [n=ia@89.169.161.244] has joined #lisp 08:59:17 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 08:59:41 -!- spradnyesh [n=pradyus@nat/yahoo/x-nktlucvejksgcaej] has left #lisp 08:59:45 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 104 (Connection reset by peer)] 08:59:59 nikodemus [n=nikodemu@cs181150041.pp.htv.fi] has joined #lisp 09:03:37 clog [n=nef@bespin.org] has joined #lisp 09:05:58 -!- ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit ["night"] 09:07:34 -!- madnificent [n=madnific@83.101.62.132] has quit [Read error: 145 (Connection timed out)] 09:13:30 -!- nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has quit [] 09:13:56 ZabaQ: what kind of problems, when? Compiling with C-c C-c? 09:14:36 demmeln [n=Adium@188.104.85.104] has joined #lisp 09:14:55 serichser: when compiling.. I tried it outside slime, too. 09:15:27 the code is too complex to easily untangle. 09:15:57 too many nested backquotes. I'm going to refactor it tonight. 09:16:07 -!- crink [n=crink@unaffiliated/crink] has quit ["Leaving."] 09:16:56 the same code is fine under sbcl and liswporks. 09:17:30 -!- beauty [n=beauty@213.143.62.179] has quit [Read error: 104 (Connection reset by peer)] 09:18:31 spradnyesh [n=pradyus@nat/yahoo/x-hrcslajtlsfgqhrr] has joined #lisp 09:18:33 ZabaQ: OK, so I guess it's not simply something like an opening parenthesis on the first column 09:18:39 Axius [n=ade@92.84.23.223] has joined #lisp 09:19:10 -!- spradnyesh [n=pradyus@nat/yahoo/x-hrcslajtlsfgqhrr] has left #lisp 09:19:21 on the other hand, it did encourage me to google for "avoiding nested backquotes" which is something I should have done years ago.. 09:21:01 madnificent [n=madnific@83.101.62.132] has joined #lisp 09:22:06 -!- huangjs` [n=user@watchdog.msi.co.jp] has quit [Remote closed the connection] 09:23:10 gemelen [n=shelta@shpd-92-101-147-226.vologda.ru] has joined #lisp 09:29:09 lichtblau [n=user@77.22.106.8] has joined #lisp 09:30:37 -!- demmeln [n=Adium@188.104.85.104] has quit ["Leaving."] 09:31:00 demmeln [n=Adium@188.104.85.104] has joined #lisp 09:31:07 -!- demmeln [n=Adium@188.104.85.104] has quit [Remote closed the connection] 09:34:41 legumbre_ [n=leo@r190-135-4-137.dialup.adsl.anteldata.net.uy] has joined #lisp 09:34:58 -!- gemelen [n=shelta@shpd-92-101-147-226.vologda.ru] has quit [Read error: 54 (Connection reset by peer)] 09:36:37 -!- legumbre [n=leo@r190-135-49-151.dialup.adsl.anteldata.net.uy] has quit [Read error: 60 (Operation timed out)] 09:40:21 mstevens [n=mstevens@zazen.etla.org] has joined #lisp 09:44:38 Ha! I managed to embed an Ogre/Okra window in GTK both on Linux and Windows by purely using cl-gtk2 (with lots of thanks to the author). I was close to dropping down to C because of the headaches Windows was giving me. 09:48:04 nipra [n=nipra@117.195.101.146] has joined #lisp 09:48:32 gemelen [n=shelta@shpd-92-101-147-226.vologda.ru] has joined #lisp 09:51:02 arnee [n=arnee@mail.kono.de] has joined #lisp 09:54:05 -!- HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit ["This computer has gone to sleep"] 09:54:18 -!- Axius [n=ade@92.84.23.223] has quit ["Leaving"] 09:55:04 -!- levente_meszaros [n=levente_@apn-94-44-14-25.vodafone.hu] has quit [Read error: 60 (Operation timed out)] 09:55:17 levente_meszaros [n=levente_@apn-94-44-2-238.vodafone.hu] has joined #lisp 09:56:20 -!- drdo [n=drdo@a89-152-179-186.cpe.netcabo.pt] has quit [] 09:58:41 aerique: cool! 09:58:54 aerique: when do we see some p0rn? 09:59:48 jdz: working on it but will take at least a week or two, for now i can make a really unexciting screenshot :) 10:00:09 ltriant [n=ltriant@202.136.38.162] has joined #lisp 10:01:10 aerique: nah, we're in no hurry. i think it's better to show something cool later than something "uncool" now. but we've all read *that* paper. 10:01:14 aerique: are you the guy working on Okra, Buclet, and friends? 10:02:26 -!- loxs [n=loxs@85-130-35-10.2073285806.ddns.cablebg.net] has quit [Read error: 60 (Operation timed out)] 10:03:05 Ralith: yeah, mostly Okra though. The OIS bindings are sufficient for my needs for now and for Bullet I'll probably generate bindings instead of using its (too) minimal C API. 10:05:54 aerique: that last is the one I'm most interested in. What makes its C API too minimal? 10:05:59 Paraselene__ [n=None@79-68-173-7.dynamic.dsl.as9105.com] has joined #lisp 10:08:05 Ralith: Well I haven't actually checked it since Bullets 2.74 release but uptil that version the C API / wrapper encompassed only a small part of its C++ API. Mostly the stuff for rigid body physics. 10:08:23 fiveop [n=fiveop@g229083067.adsl.alicedsl.de] has joined #lisp 10:08:53 aerique: "the stuff for rigid body physics" is the vast majority of a physics engine... 10:09:03 what, do you have an urgent need for softbodies? :P 10:09:06 ska` [n=user@203.146.146.169] has joined #lisp 10:09:42 holycow [n=new@64.151.208.1] has joined #lisp 10:10:11 Ralith: then Buclet might be enough for you :) 10:10:21 Ralith: check the header: http://code.google.com/p/bullet/source/browse/trunk/src/Bullet-C-Api.h 10:10:23 most bodies become soft when sufficient amount of force is applied ;) 10:11:14 aerique: what do *you* need that isn't rigid body dynamics? 10:11:55 good day. Is that possible to pass a functions defined as (defun (setf my-resource) (resource) (setf *my-resource* resource)) to other function as parameter? 10:12:21 ska`: yes. 10:12:29 how? :) 10:12:39 exactly the same as any other function. 10:12:59 -!- plutonas [n=plutonas@port-92-195-100-100.dynamic.qsc.de] has quit [Read error: 113 (No route to host)] 10:13:05 Ralith: at the moment nothing but soft body physics was one of the reason I cho(o)se Bullet 10:13:10 function designator might be the term to look up in the spec 10:13:13 -!- cadabra [n=cadabra@c-174-52-81-75.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 10:13:35 clhs function designator 10:13:36 as #'(setf my-resource) ? 10:13:54 ska`: reading the spec would be so much more productive for you 10:14:23 aerique: fair enough. So will you be making a project out of creating, maintaining, and lispily wrapping an autogenerated interface? 10:14:26 thanks, I just didn't know how to find it in the spec 10:15:10 Ralith: when I have a need for Bullet again: yes 10:15:44 ska`: well, you could start with the "function" entry 10:16:21 aerique: when's that likely to be? 10:16:22 Ralith: but I still wet myself at night in the hopes of a native CL package. maybe some prof here can delegate that to one of his students as a project ;) 10:16:43 3D physics is too performance-sensitive a task, I think. 10:16:57 Ralith: not soon, but I can't really give an estimate beyond that 10:17:06 'kay 10:17:12 thanks anyway I guess 10:17:19 ska`: also, the way you should (imo) approach the problem would be to look up what your intended usage scenario accepts (funcall it is, right)? 10:17:51 Ralith: go help Adlai & co with their port of the 2d physics engine :) 10:18:58 I wanted to control access to a global variable via setf. 10:21:21 ska`: in that case you either create your own function to control the global variables you want. Or you can shadow SETF in your package, but i would not recommend doing that. 10:23:13 Axius [n=ade@92.84.23.223] has joined #lisp 10:23:37 ska`: but this is not what you asked originally, anyway. 10:23:42 -!- Axius [n=ade@92.84.23.223] has quit [Read error: 104 (Connection reset by peer)] 10:26:16 thanks, I found the solution 10:27:10 -!- TR2N` [i=email@89-180-152-217.net.novis.pt] has left #lisp 10:28:45 aerique: er, I've been working on that project since the start :P 10:28:59 ejs2 [n=eugen@nat.ironport.com] has joined #lisp 10:29:13 Ralith: awesome :) and sorry I hadn't noticed 10:29:49 we're getting reasonably close to stable now, if you're interested 10:29:59 still got some serious bugs 10:30:06 but much of it runs well. 10:30:12 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 145 (Connection timed out)] 10:30:26 Dodek [i=dodek@2001:6a0:175:fead:0:0:0:5] has joined #lisp 10:30:44 i'm definitely interested 10:30:50 demmeln [n=Adium@001cb3c457d3.dfn.mwn.de] has joined #lisp 10:31:05 c|mell [n=cmell@91.151.140.4] has joined #lisp 10:31:40 grab a copy and play with it 10:31:46 only dep for the demo is cl-opengl 10:36:18 -!- mstevens [n=mstevens@zazen.etla.org] has quit ["leaving"] 10:36:42 -!- ltriant [n=ltriant@202.136.38.162] has quit ["Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/"] 10:36:46 -!- demmeln [n=Adium@001cb3c457d3.dfn.mwn.de] has quit ["Leaving."] 10:41:39 carlocci [n=nes@93.37.193.96] has joined #lisp 10:42:00 -!- ska` [n=user@203.146.146.169] has left #lisp 10:50:01 dmiles [n=dmiles@c-76-104-220-73.hsd1.wa.comcast.net] has joined #lisp 10:50:05 -!- dmiles_afk [n=dmiles@c-76-104-220-73.hsd1.wa.comcast.net] has quit [Read error: 113 (No route to host)] 10:53:20 HET2 [n=diman@w283.engin.cf.ac.uk] has joined #lisp 10:58:22 blackened` [n=blackene@ip-89-102-22-70.karneval.cz] has joined #lisp 11:05:31 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 11:06:55 mgr [n=mgr@psychonaut.psychlotron.de] has joined #lisp 11:10:15 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 11:14:02 gemelen_ [n=shelta@shpd-92-101-147-226.vologda.ru] has joined #lisp 11:14:53 -!- gemelen [n=shelta@shpd-92-101-147-226.vologda.ru] has quit [Read error: 104 (Connection reset by peer)] 11:18:40 udzinari [n=user@nat/ibm/x-xktdytzfshvqtbqf] has joined #lisp 11:22:46 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 11:33:43 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Read error: 145 (Connection timed out)] 11:40:31 -!- luis` is now known as luis 11:40:53 luis` [n=user@mail2.siscog.pt] has joined #lisp 11:41:58 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 11:42:03 ZabaQ` [n=johnc@playboxgames.com] has joined #lisp 11:43:16 silenius [n=jl@yian-ho03.nir.cronon.net] has joined #lisp 11:45:47 -!- arnee [n=arnee@mail.kono.de] has quit [] 11:58:37 Guest7131 [i=62f7735e@gateway/web/freenode/x-wwfucigvunyakxkh] has joined #lisp 11:58:49 loxs [n=loxs@85.130.35.10] has joined #lisp 12:04:48 Guthur [n=Michael@host81-131-243-232.range81-131.btcentralplus.com] has joined #lisp 12:09:42 envi^home [n=envi@220.121.234.156] has joined #lisp 12:15:48 -!- ASau [n=user@host121-231-msk.microtest.ru] has quit [Remote closed the connection] 12:16:24 ASau [n=user@host121-231-msk.microtest.ru] has joined #lisp 12:17:28 -!- gemelen_ [n=shelta@shpd-92-101-147-226.vologda.ru] has quit [Read error: 60 (Operation timed out)] 12:22:00 -!- Liu1 [n=Yuanhan@124.90.49.186] has quit [Remote closed the connection] 12:29:30 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 12:33:24 -!- legumbre_ is now known as legumbre 12:39:13 demmeln [n=Adium@131.159.19.90] has joined #lisp 12:40:12 -!- xinming [n=hyy@125.109.253.83] has quit [Read error: 104 (Connection reset by peer)] 12:43:07 -!- ejs2 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 12:44:56 -!- mathrick [n=mathrick@users177.kollegienet.dk] has quit [Remote closed the connection] 12:45:11 xinming [n=hyy@125.109.74.18] has joined #lisp 12:47:32 -!- Jasko [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit ["Leaving"] 12:49:11 Jasko2 [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 12:53:01 ejs [n=eugen@85-238-112-166.wifi.tenet.od.ua] has joined #lisp 12:53:12 daniel [i=daniel@unaffiliated/daniel] has joined #lisp 12:54:45 mathrick [n=mathrick@users177.kollegienet.dk] has joined #lisp 13:01:06 -!- metasyntax [n=taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit ["Nichts mehr."] 13:01:47 metasyntax [n=taylor@75.149.208.121] has joined #lisp 13:02:27 reprore [n=reprore@116.82.73.92] has joined #lisp 13:06:22 Pascal Costanza just started his seminar on Context-Oriented Programming. 13:07:09 flatline [n=flatline@z166195.dynamic.ppp.asahi-net.or.jp] has joined #lisp 13:08:06 -!- daniel_ [i=daniel@unaffiliated/daniel] has quit [Read error: 110 (Connection timed out)] 13:10:47 -!- nipra [n=nipra@117.195.101.146] has quit [Read error: 145 (Connection timed out)] 13:13:24 dysinger [n=dysinger@cpe-75-85-132-170.hawaii.res.rr.com] has joined #lisp 13:13:30 -!- redblue [i=star@ppp045.108-253-207.mtl.mt.videotron.ca] has quit [Read error: 110 (Connection timed out)] 13:13:32 sykopomp: do you have any benchmarks comparing SHEEPLE and "normal" CLOS (I have a system that quite probably would keep both objects and their definitions in database, so I was thinking if SHEEPLE would be a good idea) 13:19:43 SandGorgon [n=OmNomNom@122.160.41.129] has joined #lisp 13:20:57 kami [n=user@unaffiliated/kami-] has joined #lisp 13:21:09 nipra [n=nipra@117.195.100.50] has joined #lisp 13:21:53 hello 13:22:48 segv [n=mb@p4FC1DF7A.dip.t-dialin.net] has joined #lisp 13:25:40 ejs1 [n=eugen@nat.ironport.com] has joined #lisp 13:26:53 -!- mathrick [n=mathrick@users177.kollegienet.dk] has quit [Read error: 110 (Connection timed out)] 13:27:15 *plage* is hoping that the typing speed of PC impresses the LaBRI colleagues. 13:27:26 -!- s0ber [n=s0ber@220-136-225-80.dynamic.hinet.net] has quit [Read error: 104 (Connection reset by peer)] 13:28:10 s0ber [n=s0ber@220-136-225-80.dynamic.hinet.net] has joined #lisp 13:28:13 -!- c|mell [n=cmell@91.151.140.4] has quit ["Leaving"] 13:28:14 -!- kpreid [n=kpreid@216-171-189-244.northland.net] has quit [] 13:29:29 plage: you don't think the hairstyle will do the trick? (Of impressing your colleagues) 13:30:41 splittist: I wouldn't think so. I might be wrong though. You never know what impresses people. 13:31:17 -!- holycow [n=new@64.151.208.1] has quit [Read error: 145 (Connection timed out)] 13:31:26 -!- sellout [n=greg@c-24-128-48-180.hsd1.ma.comcast.net] has quit [] 13:34:18 Sumpen [n=Sumpen@78-72-33-106-no46.tbcn.telia.com] has joined #lisp 13:34:56 -!- ejs [n=eugen@85-238-112-166.wifi.tenet.od.ua] has quit [Read error: 110 (Connection timed out)] 13:35:34 plage: nah; your hair style always did the trick ! 13:36:32 Haplo_: Sure, but I am not the one giving the talk. 13:39:26 plage: right, but why should it be different for PC ? ;) 13:40:04 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 13:42:04 pjb [n=t@32.Red-79-149-132.staticIP.rima-tde.net] has joined #lisp 13:44:41 how fast does he type? 13:45:19 reprore__ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 13:45:26 By #lisp standards, not that much faster, but by French colleague (and student) standards, about 4-5 times faster. 13:45:32 -!- reprore__ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 13:45:38 -!- reprore [n=reprore@116.82.73.92] has quit [Read error: 131 (Connection reset by peer)] 13:46:00 reprore_ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 13:51:38 mathrick [n=mathrick@wireless.its.sdu.dk] has joined #lisp 13:52:42 i'm sure he would rather people coming away saying more that 'oh didn't he type fast' 13:53:26 You form an opinion about a presentation by how fast the presenter can type? 13:53:38 -!- tsuru [n=user@c-174-50-217-160.hsd1.tn.comcast.net] has quit [Remote closed the connection] 13:54:00 about teh presenter? 13:55:25 tsuru [n=user@c-174-50-217-160.hsd1.tn.comcast.net] has joined #lisp 13:57:30 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 13:57:41 dlowe [n=dlowe@ita4fw1.itasoftware.com] has joined #lisp 14:00:40 ThomasI [n=thomas@91-64-135-10-dynip.superkabel.de] has joined #lisp 14:02:27 Dodek_ [n=dodek@156.17.1.251] has joined #lisp 14:05:18 Tordek_ [n=tordek@186.124.241.72] has joined #lisp 14:05:24 well if he has any 'fly-in' 'pop ups' in his slide i will think he is an idiot, even if he could do 150wpm 14:05:30 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 14:05:34 -!- BrianRice [n=water@c-76-115-44-87.hsd1.or.comcast.net] has quit [Read error: 110 (Connection timed out)] 14:06:05 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 14:08:48 x2cast [n=Administ@6.126.222.87.dynamic.jazztel.es] has joined #lisp 14:08:56 hi 14:08:57 Guthur: you're missing some context here. one of plage's few complaints about folks at labri is how slow they type 14:08:57 hugod [n=hugod@bas1-montreal50-1279441070.dsl.bell.ca] has joined #lisp 14:09:18 well, fsmov regular 14:09:36 fsvo, even 14:09:56 newbie q: how should I do it for passing a operator like "+" to a function so it will execute it with the arguments that I pass? 14:10:11 lacedaemon [n=algidus@88.149.210.77] has joined #lisp 14:10:27 -!- fe[nl]ix [n=algidus@88-149-210-168.dynamic.ngi.it] has quit [Read error: 113 (No route to host)] 14:10:50 #'+ 14:11:02 you mean (apply #'+ '(1 2 3)) kind of stuff? 14:11:03 -!- lacedaemon is now known as fe[nl]ix 14:17:16 -!- Dodek [i=dodek@2001:6a0:175:fead:0:0:0:5] has quit ["leaving"] 14:17:25 -!- Dodek_ is now known as Dodek 14:17:36 dto: I guess so :) 14:17:50 #' is a synonym for (function ... 14:17:57 Guthur: that's how I should apply or pass it? 14:18:40 x2cast ya passing, dto's example is better 14:18:58 my function is: (defun appop (op v1 v2) (op v1 v2)) 14:19:00 + appearing by itself would mean "the value of +" which has no value as a variable. to get it to grab the function value of the symbol +, you use either #' or the "function" keyword. 14:19:14 <_3b> dto: yes it does :p 14:19:24 it works but I get an error 14:19:27 sorry a warning 14:19:30 _3b: what? 14:19:30 <_3b> (have a value as a variable that is) 14:19:34 oh. what is it? 14:19:36 x2cast, because of CL's rules of evaluation, you can't define appop like that 14:19:42 unfortunately I'm not using any standard lisp 14:19:50 try instead (defun appop (op v1 v2) (funcall op v1 v2)) 14:20:02 I'll try now 14:20:05 <_3b> dto: last form evaluated in repl 14:20:08 however, this begs the question -- what are you trying to do? 14:20:12 oh haha. 14:20:34 dto, +, -, *, \, and up to three of each are all defined in the spec 14:20:36 <_3b> dto: +,++,+++ like *,*,**, see also - and /,//,/// 14:20:37 clhs \ 14:20:37 Sorry, I couldn't find anything for \. 14:20:37 -!- Tordek [n=tordek@host107.190-226-113.telecom.net.ar] has quit [Read error: 110 (Connection timed out)] 14:20:39 !!! 14:20:52 <_3b> Adlai: no -- or --- 14:20:58 wow 14:20:59 _3b, oh, ok 14:21:03 I didn't know that 14:21:08 I'm total newbie 14:21:21 x2cast, the more times you repeat that, the truer it'll become 14:21:27 :D 14:21:38 well, is just true, I'm learning lisp now :P 14:21:44 -!- plage [n=user@serveur5.labri.fr] has quit [Remote closed the connection] 14:21:47 what resources are you learning from? 14:21:59 x2cast: if you're going to call (appop a b c) you may as well just (funcall a b c) 14:22:06 if that's really all your func does 14:22:16 dv_ [n=dv@83-64-248-68.inzersdorf.xdsl-line.inode.at] has joined #lisp 14:23:03 jleija [n=jleija@user-24-214-122-46.knology.net] has joined #lisp 14:23:13 my function is doing any operation on all the elements of a list of 3 elements 14:24:03 _mathrick [n=mathrick@wireless.its.sdu.dk] has joined #lisp 14:24:14 but I guess there are better ways :) 14:24:25 for instance, variable arguments good be cool 14:24:27 not only for 3 14:24:46 x2cast, what are you using to learn Lisp? 14:25:46 minion, tell x2cast about pcl 14:25:46 x2cast: please look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 14:26:26 unfortunately I'm not learning a good, normal lisp, but Autolisp. 14:26:34 sellout [n=greg@static-72-85-235-154.bstnma.east.verizon.net] has joined #lisp 14:26:39 for Autocad automatization 14:26:39 -!- mathrick [n=mathrick@wireless.its.sdu.dk] has quit [Read error: 104 (Connection reset by peer)] 14:26:41 automation 14:26:46 or whatever that word is 14:28:00 x2cast: unfortunately this isn't a good place for autolisp questions -- most people here neither use or know autolisp, and guessing based on common lisp is not really a good strategy to learn another dialect 14:28:19 -!- Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 14:28:28 also: notice the topic; "Common Lisp, ..." 14:28:48 TDT [n=user@vs1202.rosehosting.com] has joined #lisp 14:28:49 Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has joined #lisp 14:28:51 nikodemus: I'm interested in Common Lisp, so I can learn Common lisp also 14:29:07 ok :) 14:29:32 in that case the pcl-book adlai pointed out above is a *really* good starting point 14:29:46 :) I know that book, but thanks! 14:30:18 x2cast, I've -heard- that Autolisp is close to CL in the "family tree" of Lisp dialects. However, I don't know the details. You should investigate to see if your AutoLisp environment has "help" functions similar to CL's APROPOS and DOCUMENTATION 14:32:28 Adlai: It doesn't have let or macros 14:32:36 but I guess macros are a bit more advanced 14:33:23 -!- guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has quit [Remote closed the connection] 14:33:26 I'll learn this, as I need it for a subject in the university, then I'll learn just CL, the reason I'm doing this pseudo-lisp ;) 14:33:29 liron` [n=user@ita4fw1.itasoftware.com] has joined #lisp 14:33:42 -!- liron [n=user@ita4fw1.itasoftware.com] has quit [Read error: 104 (Connection reset by peer)] 14:33:42 you can fake most usage of let using lambdas 14:33:57 guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has joined #lisp 14:35:00 one doubt that I had several times is: is better to repeat the same subexpression or to save it in a variable using setq and re-use the variable? 14:35:29 then someone told me to use "let" but I don't have it 14:35:44 cvandusen [n=user@12.185.80.194] has joined #lisp 14:37:08 x2cast: do you have macros? 14:37:20 Dodek: no macros 14:37:32 oh. 14:37:34 it's sad, as is one of the most appealing features of lisp 14:37:51 but actually, I just read it, as I don't know how to use them yet 14:38:21 well, I'm happy that I can learn some kind of lisp, anyway :) 14:39:40 THe part of macros that really speaks out to me is repeated operations that prepare something before I want to use it I find helpful to stuff into a macro. For example, I use a lot of stuff like with-open-file, similar concept anyways, in my code when I start to duplicate code. 14:40:47 bobbysmith007 [n=russ@one.firewall.gnv.acceleration.net] has joined #lisp 14:40:56 -!- x2cast [n=Administ@6.126.222.87.dynamic.jazztel.es] has quit ["Leaving."] 14:41:06 nikodemus, What is your opinion on introducing a declaration that I can globally declaim and that makes slot access check their :type 14:41:17 for classes 14:41:56 Having to wrap each defclass in a locally + declare optimize safety is a bit cumbersome 14:43:01 x2cast [n=alvaro@6.126.222.87.dynamic.jazztel.es] has joined #lisp 14:46:50 as a first try, cumbersome can be worked around with a macro 14:47:32 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 60 (Operation timed out)] 14:47:47 ziga` [n=user@89.142.60.139] has joined #lisp 14:49:01 Fare [n=Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #lisp 14:49:48 rajesh [n=rajesh@nylug/member/rajesh] has joined #lisp 14:50:51 nunb [n=nundan@94.161.163.216] has joined #lisp 14:50:55 ejs1 [n=eugen@85-238-112-166.wifi.tenet.od.ua] has joined #lisp 14:54:18 ska` [n=user@ppp-58-8-118-209.revip2.asianet.co.th] has joined #lisp 14:55:17 hum. It looks like SBCL really didn't like (make-array (+ 3 foo) ...) in its internals. Borked in LDB, complaining that 630 is not a list. 14:55:49 -!- mrSpec is now known as spec[away] 14:56:23 -!- carlocci [n=nes@93.37.193.96] has quit ["eventually IE will rot and die"] 14:56:32 DrunkTomato [n=DEDULO@ext-gw.wellcom.tomsk.ru] has joined #lisp 14:56:54 -!- ska` [n=user@ppp-58-8-118-209.revip2.asianet.co.th] has quit [Remote closed the connection] 14:57:35 -!- Guthur [n=Michael@host81-131-243-232.range81-131.btcentralplus.com] has quit ["Computer says no"] 14:57:37 Fare: is that a recent version or an old one? 14:57:37 ska` [n=user@124.157.196.18] has joined #lisp 14:58:31 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 14:58:35 -!- Fufie [n=poff@Gatekeeper.vizrt.com] has quit ["Leaving"] 14:58:54 -!- Eko [n=eko@c-98-242-74-171.hsd1.ga.comcast.net] has quit ["This computer has gone to sleep"] 14:59:21 jkantz [n=jkantz@ita4fw1.itasoftware.com] has joined #lisp 14:59:30 does anyone have a backup of t. rittweilers slime-talk-2008.pdf? 14:59:50 -!- aerique [i=euqirea@xs2.xs4all.nl] has quit ["..."] 14:59:55 trebor_dki: I have it. 15:00:07 HET3 [n=diman@w283.engin.cf.ac.uk] has joined #lisp 15:00:10 http://xach.com/tmp/slime-talk-2008.pdf is a copy of it 15:00:19 -!- blandest [n=blandest@softhouse.is.ew.ro] has quit ["Leaving."] 15:00:25 trebor_dki, it's probably also at http://common-lisp.net/~trittweiler/ 15:00:46 trebor_dki, I moved it into ~trittweiler/talks/ 15:00:55 Thank you very much. the url on common-lisp.net is dead. 15:00:55 http://common-lisp.net/~trittweiler/talks/slime-talk-2008.pdf 15:00:55 oh? 15:00:59 ... What on earth is a :setf :inverse globaldb entry for? 15:01:01 works for me 15:02:10 trittweiler: ok, googling lead to http://common-lisp.net/~trittweiler/slime-talk-2008.pdf, which is unavailable. 15:02:36 nyef: whether the setf function should or shouldn't have the new value as the first argument. This is to better support rplac[ad], mostly, I believe. 15:05:57 Xof: a recent one. 15:06:29 wait, trying again. Maybe I miss-guessed what was causing the issue. 15:07:04 internal error #31 SC: 20, Offset: 2 0x000013b0: even fixnum: 1260 SC: 21, Offset: 0 $1= 0x1001ee5c67: list pointer 15:07:37 nyef: early-setf, "A SETF inverse property corresponds to the short form of DEFSETF... same args as the reference form, plus a new-value arg at the end." 15:07:47 -!- ejs1 [n=eugen@85-238-112-166.wifi.tenet.od.ua] has quit ["This computer has gone to sleep"] 15:08:47 pkhuong: Thanks. I'm not sure I want to try and figure out this part of the system right now, given the apparent complexities. 15:08:56 more likely "315 is not a list", but yes. Does 315 correspond to any number of yours? 15:09:06 can you get an ldb backtrace? 15:09:07 *Fare* retries make-host-1.sh 15:09:11 -!- benny [n=benny@i577A79B1.versanet.de] has quit ["rcirc on GNU Emacs 23.1.50.1"] 15:09:23 Xof: oops, not anymore... I'll retry 15:09:37 wait, that's a 64-bit lisp 15:09:47 ... 315? 15:09:47 it's actually 1260. I can't read ldb any more 15:10:27 and it's not "is not a list", it's "is not a " where was in $1 15:10:29 -!- HET2 [n=diman@w283.engin.cf.ac.uk] has quit [Read error: 110 (Connection timed out)] 15:11:10 only changes I made that may be significant was changing a few 624 by mt19937-n and 627 by (+ 3 mt19937-n) and such 15:11:14 *nyef* considers sinking a little effort into improving LDB's notion of error display. 15:11:19 after moving the defconstants up 15:12:05 trittweiler: maybe (declaim (optimize sb-ext:type-check-slot-values)), or maybe type-check-clos-slots? 15:12:27 Fare, why? 15:13:10 Fare: well, one possibility is that the error is in fact "1260 is not of type (MOD 1254)" 15:13:11 (I also changed a min in a max and a 1 in a 624, to fix my patch into initializing things the same as the original authors) 15:13:23 which would be true 15:13:40 oh. 15:13:54 (just a guess) 15:16:38 gah, re- make.sh |& tee /tmp/m 15:17:01 -!- billstclair [n=billstcl@unaffiliated/billstclair] has quit [Read error: 113 (No route to host)] 15:17:14 billstclair [n=billstcl@unaffiliated/billstclair] has joined #lisp 15:17:17 and in the meantime, think very hard 15:17:26 -!- varjag [n=eugene@122.62-97-226.bkkb.no] has quit ["Ex-Chat"] 15:17:31 (Xof-recommended debugging technique) 15:18:04 didn't Feynman patent it? 15:18:25 screen gets you a log and speeds the build up (: 15:20:53 nikodemus, that, or (declaim (enable sb-ext:type-check-clos-slots)) 15:21:38 Fare: Feynman's method is highly recommended. It even has the Xof stamp of approval! 15:21:48 http://franz.com/support/documentation/8.1/doc/operators/excl/normalize-type.htm - hola! 15:21:54 longkid [n=lisp@113.22.177.216] has joined #lisp 15:23:43 -!- s0ber [n=s0ber@220-136-225-80.dynamic.hinet.net] has quit [Read error: 104 (Connection reset by peer)] 15:23:56 trittweiler: i would not go the ENABLE route, unless you're willing to refactor all our other policies to work with that as well 15:24:23 I'm willing but not now 15:24:51 ok, back at LDB 15:25:09 I would recommend against introducing new declaration words (e.g. enable) when the ones that we have (optimize) work just as well 15:25:23 backtrace: 4 foreign IPs, then SB!KERNEL::RANDOM-LAYOUT-CLOS-HASH 15:25:33 morphling [n=stefan@gssn-5f7577b7.pool.mediaWays.net] has joined #lisp 15:25:35 what about "print $1"? 15:26:04 ejs [n=eugen@85-238-112-166.wifi.tenet.od.ua] has joined #lisp 15:26:21 -!- SandGorgon [n=OmNomNom@122.160.41.129] has quit [Read error: 60 (Operation timed out)] 15:27:03 indead, mod 1254 15:27:05 indeed 15:27:24 back to the drawing board 15:27:53 -!- ejs [n=eugen@85-238-112-166.wifi.tenet.od.ua] has quit [Client Quit] 15:27:54 *Fare* reverts his patch into a "hotpatch" and goes try compiling on top of a running SBCL 15:27:58 Xof: thanks a whole lot 15:28:47 mstevens [n=mstevens@zazen.etla.org] has joined #lisp 15:29:40 btw, will (fmakunbound 'make-random-state) erase the infodb entry? 15:30:59 s0ber [n=s0ber@220-136-224-13.dynamic.hinet.net] has joined #lisp 15:31:05 -!- _mathrick [n=mathrick@wireless.its.sdu.dk] has quit [Success] 15:34:25 -!- rpg [n=rpg@216.243.156.16.real-time.com] has quit [] 15:37:34 (defclass foo () ((parent ... :type foo))) will that work out? 15:38:23 trittweiler, probably should, except for the bootstrap problem. 15:38:50 (ok if there's no initform, so you're temporarily slot-unbound) 15:39:06 p0a [n=user@athedsl-385153.home.otenet.gr] has joined #lisp 15:39:22 hello what does ' mean in format? In this example: ~,,'.,4:d 15:39:35 why not ,,.,4:d? 15:40:12 p0a: interpret following as character 15:40:22 p0a: because that would mean "use the ~. directive" 15:40:22 thanks! 15:40:45 right 15:41:17 clhs ~. 15:41:18 http://www.lispworks.com/reference/HyperSpec/Body/22_c.htm 15:42:17 ok where there? 15:42:56 heh 15:43:04 there may not be a ~. in fact, but that's not the point 15:43:22 you need an escape character for character arguments to directives, and ' is it 15:43:30 Sure but I wondered if there is! 15:43:42 clhs ~. 15:43:42 http://www.lispworks.com/reference/HyperSpec/Body/22_c.htm 15:43:42 -!- rdd` [n=rdd@c83-250-145-223.bredband.comhem.se] has quit [Read error: 131 (Connection reset by peer)] 15:43:56 rdd` [n=rdd@c83-250-145-223.bredband.comhem.se] has joined #lisp 15:45:04 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 15:46:14 -!- jdz [n=jdz@85.254.211.133] has quit ["Boot me gently"] 15:47:00 -!- OmniMancer [n=OmniManc@122-57-16-129.jetstream.xtra.co.nz] has quit ["Leaving."] 15:47:05 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 15:49:11 kami` [n=user@unaffiliated/kami-] has joined #lisp 15:49:25 pavelludiq_ [n=quassel@83.222.175.184] has joined #lisp 15:50:32 -!- knobo [n=user@90.149.4.182] has quit [Read error: 60 (Operation timed out)] 15:50:45 (is there anyone that went to today's japan lisp seminar? or is there a blog of the seminar...?) 15:51:23 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [Client Quit] 15:51:43 tsuru: the thing by Franz? 15:52:05 Fare: yeah I believe Franz hosted it 15:53:30 If there is a blog or video of some sort it'd be great, I'm just interested in what's going on across the pond. 15:53:58 benny [n=benny@i577A79B1.versanet.de] has joined #lisp 15:57:42 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 15:58:10 -!- pavelludiq [n=quassel@83.222.175.184] has quit [Connection reset by peer] 15:58:14 gz_ [n=gz@static-72-85-235-154.bstnma.east.verizon.net] has joined #lisp 15:59:32 lexa_ [n=lexa_@seonet.ru] has joined #lisp 16:00:01 -!- lexa_ is now known as Guest53386 16:00:53 nikodemus: possibly "remember-mode"? 16:01:35 (kind of) 16:02:00 rpg [n=rpg@75-146-46-193-Minnesota.hfc.comcastbusiness.net] has joined #lisp 16:02:07 -!- kami [n=user@unaffiliated/kami-] has quit [Read error: 110 (Connection timed out)] 16:02:57 -!- grouzen [n=grouzen@91.214.124.2] has quit [Read error: 60 (Operation timed out)] 16:03:14 dgx [n=dig1ty@95.169.204.16] has joined #lisp 16:03:20 -!- dgx [n=dig1ty@95.169.204.16] has left #lisp 16:04:10 -!- ZabaQ [n=johnc@host217-44-146-77.range217-44.btcentralplus.com] has quit [Read error: 110 (Connection timed out)] 16:05:57 torba [n=user@62.80.190.135] has joined #lisp 16:07:11 Is there a concise idiom to loop over successive values of a function until it's nil ? Like (loop for i = (myfunc) while i ...) but this one is too verbose to be correct. 16:07:40 -!- kami` is now known as kami 16:08:18 -!- cvandusen [n=user@12.185.80.194] has quit [Remote closed the connection] 16:08:27 kuwabara: No, that's about right. 16:08:28 cvandusen [n=user@12.185.80.194] has joined #lisp 16:08:55 -!- gz_ [n=gz@static-72-85-235-154.bstnma.east.verizon.net] has left #lisp 16:09:14 gah, in my rewrite, I had replaced a 624 by a 627 and only fixed that in one copy of the file. Thanks a lot, Xof! 16:09:29 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 16:09:38 kuwabara: Assuming, that is, that you wish to use the value of i elsewhere. Otherwise, just (loop while (myfunc) ...). 16:10:20 any sbcl committer have anything uncommitted they would like to get into 1.0.33? 16:10:32 nyef: yes, I need to use it. Thanks. 16:11:21 ikki [n=ikki@201.155.75.146] has joined #lisp 16:11:38 Xof: Possibly the two most recent commits on http://repo.or.cz/w/sbcl/nyef.git/shortlog/refs/heads/random-cleanups could go in, but they could just as easily be left out. 16:12:03 nikodemus: you didn't mean to commit that constraint.lisp hunk, did you? 16:12:20 -!- torba [n=user@62.80.190.135] has left #lisp 16:12:33 -!- Guest53386 [n=lexa_@seonet.ru] has left #lisp 16:12:34 shite! 16:12:53 hoho 16:13:01 *froydnj* makes another note in the "switch to better vcs" argument 16:13:10 um, wasn't that _caused_ by a better vcs? 16:13:43 anyway. nyef: the top one would be fine; the second one has rather too many caveats in the log message for comfort 16:13:49 I leave it to your judgment 16:14:13 I could truncate the log message if it'd make you happier. 16:14:35 it was cause by the interface between the two vcs's... 16:14:59 (Actually, I should re-work that one before committing to mainline anyway.) 16:15:21 gz_ [n=gz@static-72-85-235-154.bstnma.east.verizon.net] has joined #lisp 16:15:21 I think the fixup one sounds rather nice, but perhaps not so close to freeze 16:15:47 i basically disagree with the caveats in that message. i think it's all good :) 16:15:54 i've actually read that one :) 16:16:16 whoa, magic: sb!unix:unix-getpid is properly redirected while I'm in the sb-kernel package, no while in cl-user. 16:16:20 -!- loxs [n=loxs@85.130.35.10] has quit ["Leaving"] 16:16:46 yeah, slime magic 16:17:03 -!- gz_ [n=gz@static-72-85-235-154.bstnma.east.verizon.net] has left #lisp 16:17:15 mattrepl [n=mattrepl@pool-71-163-162-204.washdc.fios.verizon.net] has joined #lisp 16:17:39 oh, it's slime doing it? 16:17:48 in any case, thank you, slime 16:18:45 nikodemus, so I have a new version of the patch that gives the same results as the upstream algorithm. 16:18:46 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 16:19:26 \o/ 16:20:04 I dunno, it looks to me likely that nikodemus committed that constraint hunk in a git commit, no? 16:20:30 Xof: no, that was a dirty file in CVS 16:21:00 so my git->cvs merge was not as clean as it was supposed to be 16:21:51 i guess i need an exclusive sbcl-cvs-for-git tree that i don't use for anything else 16:22:53 (i did that bit in the cvs tree because i was working on other stuff in the git tree at the time) 16:23:18 cleanup commit coming up as soon as the build finishes... 16:23:25 nikodemus: I don't remember that bit from your 'git for sbcl hackers' note... (: 16:27:01 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 16:28:24 lispm [n=joswig@e177152031.adsl.alicedsl.de] has joined #lisp 16:30:14 cmm- [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has joined #lisp 16:34:34 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 16:36:37 _mathrick [n=mathrick@users177.kollegienet.dk] has joined #lisp 16:36:40 Anybody on here contribute to CFFI? I'm having a problem with Lispworks - seems :long-long is only defined in there for lispworks 64; but other parts of code are sending it in. 16:37:10 Modius: what parts of code ? 16:37:19 -!- longkid [n=lisp@113.22.177.216] has quit ["Leaving."] 16:37:38 cffi-lispworks.lisp I think - I get the error compiling SQLIte so it must be something at compile time expanding a macro 16:37:58 vng [n=user@123.20.99.142] has joined #lisp 16:38:06 The complaint is the "ecase" not containing the :long-long 16:39:05 Drakeson [n=user@69-196-172-71.dsl.teksavvy.com] has joined #lisp 16:39:14 Modius: please post the form that causes that error 16:40:01 I may need help replicating that - the problem is it happens during compilation of the SQLite library; but when I define the function it's complaining about and compile it it does not repeat. 16:42:24 -!- dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Read error: 113 (No route to host)] 16:42:37 Nshag [i=user@lns-bzn-43-82-249-132-213.adsl.proxad.net] has joined #lisp 16:43:00 Xof: i obviously need to start adding tl;dr headers to my longer sbcl-devel emails :) one of the major reasons for picking launchpad was the email support, and i'm sure i mentioned that on the list :P 16:44:44 fe[nl]ix : I'm wondering if this is a compile order dependency problem with the "no-long-long" item in *features* 16:45:04 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 16:46:14 -!- cmm [n=cmm@bzq-79-176-45-108.red.bezeqint.net] has quit [Read error: 110 (Connection timed out)] 16:46:48 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 16:47:38 -!- reprore_ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 16:48:44 x2cast1 [n=alvaro@181.126.222.87.dynamic.jazztel.es] has joined #lisp 16:48:56 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 16:49:00 nikodemus: true, but what I didn't like at first was that the e-mail support required signing up to a launchpad account 16:49:19 ah 16:49:25 cf debbugs, which doesn't require giving away your first-born child 16:49:30 in the end I bit the bullet, obviously 16:49:41 but it was a strong disincentive 16:51:06 -!- _mathrick is now known as mathrick 16:51:53 In CFFI #+ and #-no-long-long appear everywhere - but where is it actually defined? Can't find that. 16:52:12 cffi-sys::no-long-long that is 16:53:03 true. no news on the request for a better RSS: https://bugs.launchpad.net/malone/+bug/393568 16:53:24 no, well 16:53:39 it's not in their interest -- the lack makes people like me sign up 16:53:54 -!- Reaver1 [n=Data_Ent@212.88.117.162] has quit ["Leaving."] 16:54:04 -!- ASau [n=user@host121-231-msk.microtest.ru] has quit ["off"] 16:54:05 anyway, my blog is meant to be about how marvellous I am^W^Wemacs is 16:54:08 arbscht_ [n=arbscht@unaffiliated/arbscht] has joined #lisp 16:54:11 -!- envi^home [n=envi@220.121.234.156] has quit ["Leaving"] 16:54:57 *Adlai* notices another person who has bound C-w to backwards-kill-word 16:55:01 dto1 [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 16:55:18 slyrus [n=slyrus@adsl-75-52-254-21.dsl.pltn13.sbcglobal.net] has joined #lisp 16:55:56 -!- dto1 is now known as dto 16:58:26 Geralt [n=Geralt@vpn-cl-165-124.rz.uni-karlsruhe.de] has joined #lisp 16:58:31 -!- x2cast [n=alvaro@6.126.222.87.dynamic.jazztel.es] has quit [Read error: 110 (Connection timed out)] 16:59:04 What about backwards-kill-sexp? Isn't that usually C-M-backspace? 16:59:07 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has quit [Client Quit] 17:00:27 acrid [n=mckay@204.126.146.202] has joined #lisp 17:01:00 Edward__ [n=Ed@AAubervilliers-154-1-33-1.w90-3.abo.wanadoo.fr] has joined #lisp 17:01:28 cmeow [i=cmeow@happy.happy.vhost.shellium.org] has joined #lisp 17:01:29 -!- kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 17:02:04 -!- x2cast1 [n=alvaro@181.126.222.87.dynamic.jazztel.es] has left #lisp 17:02:28 ok, any git expert here to tell me how to safely undo a patch, and redo it better? 17:02:39 so I can send only one patch... 17:03:08 Fare, are you looking for a rough equivalent to `darcs amend-record' ? 17:03:34 if it's the latest commit, just make the changes, stage (add) them, `git commit --amend' 17:04:06 or make the changes and then `git commit --amend -a' to amend the latest commit to match the current state of your work directory 17:05:29 *Adlai* is no git expert, though, he just lurks in #git and learns from the real githeads 17:06:25 Adlai, thanks a lot! 17:06:59 -!- arbscht [n=arbscht@unaffiliated/arbscht] has quit [Read error: 110 (Connection timed out)] 17:07:05 Fare, glad to help ): 17:07:07 btw, should I include the code to reproduce the test whereby SBCL and the upstream code agree in the git commit log, or only in the email message to sbcl-devel? 17:07:08 * :) 17:07:28 "git rebase -i" is also useful 17:07:29 hypno [n=hypno@impulse2.gothiaso.com] has joined #lisp 17:08:12 it's overkill when you're just amending the last commit, though 17:08:26 carlocci [n=nes@93.37.213.226] has joined #lisp 17:08:54 -!- rajesh [n=rajesh@nylug/member/rajesh] has quit ["leaving"] 17:10:14 *Fare* opts for including the code only on the mailing-list 17:11:39 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 17:11:57 -!- Guest7131 [i=62f7735e@gateway/web/freenode/x-wwfucigvunyakxkh] has quit ["Page closed"] 17:12:15 proq [n=user@unaffiliated/proqesi] has joined #lisp 17:12:20 nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has joined #lisp 17:12:24 Fare: git checkout master; git pull; git checkout -b wip-another-try; git cherry-pick ; emacs ...edit stuff...; git commit -a --amend 17:12:26 -!- h_durer [n=holly@home.sinclair-durer.net] has quit ["Ex-Chat"] 17:12:42 assuming you're sending an updated version that is going to go on top of HEAD 17:14:05 I just used git commit --amend like Adlai suggested and it looks like it worked 17:14:27 *Adlai* points out http://progit.org/ and http://book.git-scm.com/ 17:18:27 -!- mvilleneuve [n=mvillene@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit ["Lost terminal"] 17:19:36 fe[nl]ix : (defcfun test :int64) Will trigger the problem 17:21:02 fe[nl]ix : (defmethod canonicalize ((tp emulated-llong)) :long-long) <-- provides the :long-long that proliferates down into the lispworks ecase (i.e. no emulation occurs) 17:23:51 Modius: what version if LW is that ? 17:24:02 Modius: LW 5.1 17:24:16 fe[nl]ix : LW 5.1 32-bit 17:24:24 eval (fli:size-of '(:long :long :int)) 17:25:29 Modius: evaluate (fli:size-of '(:long :long :int)) 17:25:49 Computer_ [n=Computer@209-16-114-100.net.bhntampa.com] has joined #lisp 17:26:00 fe[nl]ix : 8 17:26:20 LiamH [n=none@pdp8.nrl.navy.mil] has joined #lisp 17:26:24 -!- a-s [n=user@nat-240.ro.66.com] has quit [Read error: 54 (Connection reset by peer)] 17:26:25 *fe[nl]ix* is too cryptic 17:27:20 luis: ping 17:28:58 np0w3r [n=NOLFXcep@203.110.243.21] has joined #lisp 17:31:07 fe[nl]ix : I have an email done up for the cffi-devel mailing list - should I just hit send? 17:31:29 Modius: in that case the LW backend could be modified to get rid of the emulation 17:31:30 Modius: sure 17:32:13 -!- Jasko2 [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit ["Leaving"] 17:32:14 fe[nl]ix: You think this might be fixed if I just take out the #+lw64 caveats in the lispworks code? 17:32:27 Jasko [n=tjasko@174.59.195.12] has joined #lisp 17:32:36 -!- mstevens [n=mstevens@zazen.etla.org] has quit ["leaving"] 17:32:42 syamajala [n=syamajal@140.232.178.207] has joined #lisp 17:32:49 -!- syamajala [n=syamajal@140.232.178.207] has quit [Remote closed the connection] 17:33:02 I don't know. try it 17:33:08 -!- Jasko [n=tjasko@174.59.195.12] has quit [Client Quit] 17:33:21 Jasko [n=tjasko@174.59.195.12] has joined #lisp 17:35:00 rajesh [n=rajesh@nylug/member/rajesh] has joined #lisp 17:35:14 dto1 [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 17:35:44 gemelen [n=shelta@shpd-92-101-147-226.vologda.ru] has joined #lisp 17:36:24 -!- Computer [n=Computer@unaffiliated/computer] has quit [Read error: 110 (Connection timed out)] 17:36:29 -!- dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Read error: 113 (No route to host)] 17:36:50 madnificent, no, I'm still thinking about how to best approach the redesign 17:36:58 -!- dto1 is now known as dto 17:37:00 bleargh wrong buffer/channel 17:37:23 slime is sexist btw. 17:37:43 in "take this repl brother.." it should be brother or sister with 50% probability. I might write a patch :-) 17:38:00 ZabaQ`, that's a reference to Revolution 9 17:38:25 stassats [n=stassats@wikipedia/stassats] has joined #lisp 17:38:28 Adlai: never heard of it.. 17:38:56 http://en.wikipedia.org/wiki/Revolution_9 17:39:02 -!- HET3 is now known as HET2 17:39:12 Oh, its from a band so obscure they aren't even in the iTunes store ;-) 17:39:54 few bands are in the itunes store 17:39:55 ZabaQ`: 50%, are you sure? 17:40:05 -!- silenius [n=jl@yian-ho03.nir.cronon.net] has quit [Remote closed the connection] 17:40:06 with lisp it should be abot 90% brother 17:40:16 fortunately, some of us still have our parents' LP collection... 17:40:19 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 17:40:53 I would never buy something off itunes anyway 17:40:57 quality is horrible 17:41:07 I might pay 10 cents a song for itunes. 17:41:27 (I get better quality recordings for free...) 17:42:48 actually, if you want that low sound quality, just extract the audio channel from a flash video 17:42:59 (from youtube) 17:43:06 -!- trebor_dki [n=user@mail.dki.tu-darmstadt.de] has quit [Read error: 113 (No route to host)] 17:43:10 -!- nikodemus [n=nikodemu@cs181150041.pp.htv.fi] has quit ["Leaving"] 17:43:13 -!- HET2 [n=diman@w283.engin.cf.ac.uk] has quit ["This computer has gone to sleep"] 17:43:14 You must have some awesome sound equipment or something, cause I sure can't tell 17:43:30 it's pretty blatantly obvious to me 17:43:57 probably can't tell the difference with earbuds 17:44:04 just itunes, or any compressed audio? 17:44:20 any compressed audio 17:44:33 itunes is just as the level of the worst I would ever keep 17:45:05 punk music probably works fine at itunes-level encoding (128kbps aac) 17:45:10 kpreid [n=kpreid@216-171-189-244.northland.net] has joined #lisp 17:45:15 slash_ [n=Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 17:45:18 schmx [i=53e35f0f@gateway/web/freenode/x-jxiygedegyxpeygv] has joined #lisp 17:45:24 and crappy demos recorded in basements and garages 17:45:50 the thing that compression really kills is the sound of crash cymbals 17:45:55 or impromptu rooftops :P 17:46:20 tic: You there? 17:46:36 you hear this horrid warbling sizzle on the crash cymbal 17:47:27 it's like there's a half molten metallic blob on the cymbal 17:47:29 itunes is 256kbps AAC these days, I think. 17:47:36 johnthesavage [n=jahnthes@cpe-76-180-175-226.buffalo.res.rr.com] has joined #lisp 17:48:04 foom: I get 320kbps mp3 without DRM for less 17:48:16 I'm now. 17:48:22 it doesn't have DRM either (on audio) 17:48:55 foom: hmm, when did they stop using DRM for audio? 17:49:16 *Adlai* wonders whether rahul can hear the difference of a DRMed recording :P 17:49:24 "iTunes Plus" is the keyword. May 30, 2007, apparently. 17:49:34 either way, I'd rather re-encode most songs as ~160kbps ogg 17:49:46 Adlai: sure, it's the difference between silence and not :P 17:50:17 it was optional for an extra 30% then, and became the standard (only) option sometime later. 17:50:34 tic: I am under the impression that you live in the gothenburg area? 17:50:38 schmx, I do, yes. 17:50:51 schmx, did someone move me on the CL-USER map? 17:51:10 tic: Eeexcellent. We might have to move there. What website does one look up to find an apartment for renting? 17:51:20 schmx, wohoo, awesome! http://boplatsgbg.se 17:51:29 The reason that certain music and music videos are not offered in our DRM-free, highest quality audio format is because they have not been provided in iTunes Plus format from the music label. 17:51:34 *rahul* falls over laughing 17:52:01 tic: thanks. something like that looks just right. Not planning to move just yet. Maybe 1.5years. so about time to register right now I guess :) 17:52:02 the submitter does not encode with itunes. that's why so many albums have their releases delayed... waiting for apple to rip and encode them 17:52:09 schmx, ah, yes. 17:52:13 tic: I'm unhappy with how easy it is for a clueless or malicious user to destroy map data. 17:52:54 schmx, if you move now, and I get an apartment soon (I've applied for a few), you could move in to my apartment second-hand! 17:53:11 *tic* disappears to the kitchen. 17:53:19 rahul: shouldn't ripping and encoding be some quick, automated, process? 17:53:42 schmx: it's not very easy to get a place here though. if everthing else fails, you might want to keep "Angered" as a backup. 17:53:52 Fare, did you catch the git links earlier? 17:54:01 Fare: one would think 17:54:05 or "Bergsjön", "Kortedala" and "Vårväderstorget" 17:54:07 kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 17:54:08 (but brrr) 17:54:15 Fare: but it takes a long time to get through the queue 17:54:48 Adlai, I did, thanks 17:54:50 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 17:55:06 unless, I guess, your label gives apple a little payola 17:55:11 Geralt [n=Geralt@vpn-cl-163-2.rz.uni-karlsruhe.de] has joined #lisp 17:55:31 payola to not encode? 17:56:07 to get to the head of the queue 17:56:41 I think the iTunes problem could all be fixed if CL added support for list comprehensions 17:56:47 heh 17:56:52 tic: Sadly not an option to move right now. Thanks anyway. 17:56:56 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has quit [Client Quit] 17:57:20 hypno: I see. Well I'll register and see what happens. In Malmoe things usually work out after 1.5-3 years. :) 17:57:23 Adlai: they're probably worried about the cost of recursing down the whole list to put one song at the head instead of the tail 17:57:33 a-s [n=user@nat-240.ro.66.com] has joined #lisp 17:58:03 rahul, maybe they should use foldr instead 17:59:17 -!- Edward__ [n=Ed@AAubervilliers-154-1-33-1.w90-3.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)] 17:59:27 -!- vng [n=user@123.20.99.142] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 17:59:58 I can never remember if that means from the right or to the right 18:00:16 thankfully, in lisp, one doesn't need to :) 18:00:49 +1 for keyword args 18:00:58 ok, I better put this hard drive in the fridge and go to the bathroom 18:01:09 -!- nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 18:02:46 p_l: not any really good benchmarks that cover things. From casual benchmarking, though, I can tell you that direct property access (using property-value instead of accessors) is about as fast as CCL's slot access (give or take some microseconds depending on the situation, number of slots, etc) 18:03:49 p_l: everything else is slower by varying degrees, but it's acceptable enough right now that I'm willing to use it for a 2d graphics engine. 18:04:03 grouzen [n=grouzen@91.214.124.2] has joined #lisp 18:04:36 -!- ska` [n=user@124.157.196.18] has quit [Read error: 110 (Connection timed out)] 18:05:15 what is property-value? 18:05:29 -!- a-s [n=user@nat-240.ro.66.com] has quit [Read error: 104 (Connection reset by peer)] 18:05:33 I mean, how is it implemented? 18:05:53 -!- Kolyan [n=nartamon@95-24-97-36.broadband.corbina.ru] has quit [] 18:06:14 rahul, this is for a prototype-based object system, where properties are vaguely similar to CLOS slots 18:06:23 Edward__ [n=Ed@AAubervilliers-154-1-79-22.w81-249.abo.wanadoo.fr] has joined #lisp 18:06:33 Adlai: ok 18:06:43 HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 18:07:08 those are hard to optimize. 18:07:22 -!- gemelen [n=shelta@shpd-92-101-147-226.vologda.ru] has quit [Read error: 110 (Connection timed out)] 18:08:07 we use the same general technique that Self pioneered and Google's V8 engine uses, although we've had to tweak it significantly. 18:08:52 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 18:08:55 -!- sayyestolife [n=jot_n@h-60-147.A163.priv.bahnhof.se] has quit [] 18:09:36 Adlai: where is that described? 18:09:48 rahul: let me get you a link to the paper... 18:10:50 porcelina [n=quassel@c-174-51-110-214.hsd1.co.comcast.net] has joined #lisp 18:10:55 ah found google's v8 docs 18:11:00 roygbiv [n=none@pdpc/supporter/active/roygbiv] has joined #lisp 18:11:09 which links to a paper from sun about self 18:11:17 yeah, our system is probably more similar to google's v8, since sheeple emphasises delegation. 18:11:45 (maybe, I can't even remember) 18:11:54 rahul, http://code.google.com/apis/v8/design.html#prop_access explain's V8's approach 18:12:05 oh you found it already ok 18:12:24 ah interesting 18:12:28 uhm, has anyone here used named pipes in windows before? i'm not rly used to windows. 18:12:38 porcelina: do they even work correctly? 18:13:09 i have no clue lol. i'm trying to get lisp to talk to someone elses c#. 18:13:13 what we do is more complex than V8's system, though, because our objects have parents, like superclasses in CLOS, which also have to be accounted for in the backend datastructure 18:13:16 which i rly am not looking forward to. :/ 18:13:46 Adlai: javascript has them, too, but it doesn't seem to emphasize them in usage quite as much as we do. 18:13:49 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 18:13:49 rahul: basically, there are "backend classes" that store the index into an array, and that index tells us where to access a particular slot on an object. 18:14:22 sykopomp, V8 doesn't seem to care about "parents" in its map system 18:14:31 ah 18:14:44 urrite 18:15:01 I just figured out a way to make this completely transparent to CLOS 18:15:15 rahul: what? 18:15:29 it's about 10 functions to add this to CLOS 18:15:45 add what?... 18:15:53 this implementation of prototypes 18:16:10 oh? 18:16:13 since it uses normal classes, it's not hard to make it work with CLOS 18:16:59 maybe :) 18:17:02 just ensure-class with one new slot and super of the current class if it's not already there, put a reference in a class-allocated slot 18:17:09 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 18:17:15 and change-class the object to that new class 18:17:30 -!- bfein [n=bfein@ita4fw1.itasoftware.com] has quit ["Adios"] 18:17:36 durbin [n=durbin@adsl-99-181-3-9.dsl.irvnca.sbcglobal.net] has joined #lisp 18:17:55 give it a shot, I'd like to see that. I never quite got around to even trying to implement it in CLOS :) 18:18:14 nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has joined #lisp 18:18:35 sykopomp, what? When I first looked at Sheeple it was on CLOS... 18:19:11 Adlai: not in the sense that it uses CLOS itself and just wraps a couple of things. It was in the sense that it was fully implemented in it. 18:19:20 *sykopomp* used the wrong words. 18:19:38 brb 18:19:40 oh, I see, rahul wants to implement prototyped OO through the CLOS MOP. Sure, that's possible. 18:19:45 gigamonkey [n=user@adsl-99-169-83-40.dsl.pltn13.sbcglobal.net] has joined #lisp 18:20:24 you can even define a setf s-v method to quickly do the transition if you notice that it's occurring really often 18:20:33 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 18:22:50 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 18:24:26 -!- pavelludiq_ [n=quassel@83.222.175.184] has quit [Remote closed the connection] 18:24:30 nha [n=prefect@31-174.4-85.fix.bluewin.ch] has joined #lisp 18:24:42 Jabberwockey [n=jens@port-10151.pppoe.wtnet.de] has joined #lisp 18:27:23 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit [Read error: 60 (Operation timed out)] 18:28:24 Plz gimme per-package nicknames 18:28:34 kejsaren1 [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 18:29:29 ahem. Instead of packages, maybe you should develop better alternatives. Lexicons or what not. 18:29:44 a PLT-like module system would be neat 18:30:30 I think you'd have to give up symbols, dunno if the result would still constitute a lisp 18:32:29 you would distinguish between identifiers and identifieds 18:32:49 kiuma [n=kiuma@93-35-255-1.ip57.fastwebnet.it] has joined #lisp 18:33:31 i.e. between (interned?) strings -- the equivalent of keywords, and identifier-in-context 18:33:45 Dodek_ [n=dodek@156.17.1.251] has joined #lisp 18:33:45 or something like that. Meta-level locator. 18:34:09 dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 18:35:00 kjbrock [n=kevinbro@173-11-106-193-SFBA.hfc.comcastbusiness.net] has joined #lisp 18:35:13 I'd appreciate it if make-thread would save the location of its call-site into a thread 18:35:24 so it appears in backtraces 18:35:47 bfein [n=bfein@ita4fw1.itasoftware.com] has joined #lisp 18:35:54 *p_l* pledges to himself not to make cludge into another maven/ant/similar thingy... 18:35:56 or if it could keep the call-site on the stack so that dynamic bindings from the parent thread are shared :) 18:36:12 afk, going to business incubator meeting 18:36:15 (yay dynamic closures) 18:37:20 -!- kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 18:39:48 -!- kjbrock [n=kevinbro@173-11-106-193-SFBA.hfc.comcastbusiness.net] has quit [Client Quit] 18:41:52 -!- Dodek [n=dodek@wikipedia/Dodek] has quit [Read error: 104 (Connection reset by peer)] 18:43:08 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Connection timed out] 18:44:09 lexa_ [n=lexa_@seonet.ru] has joined #lisp 18:44:36 -!- lexa_ is now known as Guest18984 18:44:46 -!- lichtblau [n=user@77.22.106.8] has quit [Read error: 145 (Connection timed out)] 18:44:54 -!- Dodek_ is now known as Dodek 18:44:57 spilman [n=spilman@ARennes-552-1-126-110.w92-139.abo.wanadoo.fr] has joined #lisp 18:46:07 ASau [n=user@83.69.227.32] has joined #lisp 18:46:17 -!- splittist [n=dmurray@67-171.79-83.cust.bluewin.ch] has quit ["rcirc on GNU Emacs 23.1.1"] 18:47:46 -!- udzinari [n=user@nat/ibm/x-xktdytzfshvqtbqf] has quit [Read error: 110 (Connection timed out)] 18:48:06 lexa_ [n=lexa_@seonet.ru] has joined #lisp 18:48:35 -!- lexa_ is now known as Guest36990 18:49:25 -!- Guest18984 [n=lexa_@seonet.ru] has left #lisp 18:50:02 -!- Guest36990 [n=lexa_@seonet.ru] has left #lisp 18:50:45 holycow [n=new@69.67.174.130] has joined #lisp 18:51:19 -!- dv_ [n=dv@83-64-248-68.inzersdorf.xdsl-line.inode.at] has quit ["Verlassend"] 18:51:49 a-s [n=user@nat-240.ro.66.com] has joined #lisp 18:51:58 lexa_ [n=lexa_@seonet.ru] has joined #lisp 18:52:27 -!- holycow [n=new@69.67.174.130] has quit [Remote closed the connection] 18:52:27 -!- lexa_ is now known as Guest55156 18:52:53 rread_ [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has joined #lisp 18:53:04 jgracin [n=jgracin@vipnet88-89.mobile.carnet.hr] has joined #lisp 18:53:07 -!- Guest55156 [n=lexa_@seonet.ru] has left #lisp 18:56:25 -!- rread_ [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has quit [Remote closed the connection] 18:56:31 rread_ [n=rread@nat/sun/x-hjaeddftklrmuqep] has joined #lisp 18:57:26 -!- majhool [n=mrw@user-118bgr6.cable.mindspring.com] has quit ["leaving"] 18:57:49 SandGorgon [n=OmNomNom@122.173.249.152] has joined #lisp 18:58:10 numberGrey [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has joined #lisp 18:59:49 -!- PissedNumlock [n=resteven@igwe32.vub.ac.be] has quit [Read error: 60 (Operation timed out)] 19:00:00 PissedNumlock [n=resteven@igwe32.vub.ac.be] has joined #lisp 19:00:30 mrsolo [n=mrsolo@nat/yahoo/x-jpatwrtpklatpiaj] has joined #lisp 19:01:14 -!- rread [n=rread@nat/sun/x-bzhgeqpiwrkjljvk] has quit [Read error: 145 (Connection timed out)] 19:01:15 -!- rread_ is now known as rread 19:01:30 plutonas [n=plutonas@port-92-195-115-35.dynamic.qsc.de] has joined #lisp 19:04:09 anyone here familiar with using hunchentoot? 19:04:51 robyonrails [n=roby@host50-213-dynamic.59-82-r.retail.telecomitalia.it] has joined #lisp 19:05:15 i think most are. 19:05:51 loxs [n=loxs@85-130-35-10.2073285806.ddns.cablebg.net] has joined #lisp 19:06:53 I think some are. 19:07:01 I know I'm not. 19:07:14 holycow [n=new@69.67.174.130] has joined #lisp 19:07:20 those who are into web 19:07:32 (require 'hunchentoot) do I know hunchentoot yet? 19:07:38 stassats: But not in the literate programming sense? 19:07:45 do you know it in the biblical sense? 19:08:00 Can we involve the kantian metaphysics yet? 19:08:10 tell me more about this web thing 19:08:13 dagnachew [n=dagnache@modemcable230.220-179-173.mc.videotron.ca] has joined #lisp 19:08:18 -!- holycow [n=new@69.67.174.130] has quit [Read error: 104 (Connection reset by peer)] 19:08:48 lispm: you become trapped by it and then you die 19:09:04 lispm: something to do with spiders ganging together and ensnaring innocent teenagers into a life of tweeting 19:09:05 Axius [n=ade@92.84.22.169] has joined #lisp 19:09:13 iiih 19:09:33 numberGrey: Clearly, we're being silly. Are you inquiring towards a specific purpose, or to locate possible future assistance should you run into trouble? 19:10:01 maybe he has arachnophobia and jumped out the window 19:10:19 autodefenestration? 19:10:29 *rahul* wonders... did I just write a prototype object system using MOP? 19:10:34 self-decapitation! 19:10:54 self-depreciating humor 19:11:07 -!- demmeln [n=Adium@131.159.19.90] has quit [Read error: 145 (Connection timed out)] 19:11:10 (can I write that off on my taxes?) 19:11:31 jewel [n=jewel@dsl-242-189-70.telkomadsl.co.za] has joined #lisp 19:11:50 ... So, what's the relation between "depreciation" and "deprecation", other than the #\i? 19:12:28 -!- nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 19:12:30 *Adlai* wonders whether deprecators compete in a "deprecathlon" 19:12:32 sorry, ahah i was reading and didn't even notitce. I was trying to simply get it up and running (I am new to lisp) but I am getting a connection reset by peer when I try to access the server. The only thing I could find with a similar issue was this http://ubuntuforums.org/showthread.php?t=597079 19:12:34 and between #lisp 19:12:40 nyef: they both involve reduction 19:13:00 [2009-11-19 02:48:20 [ERROR]] Error while processing connection: # is not a character input stream. 19:13:08 Thats the error i get in the logs 19:13:26 rahul: I'm suspecting that one is an explicit reduction in value and the other is a reduction in a value -judgement-, but I'm not sure, and may bestir myself to find a dictionary soon. 19:13:31 yibter [n=yibter@c-76-105-116-44.hsd1.ga.comcast.net] has joined #lisp 19:13:39 nyef: yeah, kind of 19:14:03 nyef: one has to do with accounting, the other has to do with social perception 19:14:13 slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has joined #lisp 19:14:43 my prototype object system is all of a defpackage, in-package, 2 defclasses, and 2 defmethods 19:14:55 anyone have an idea what the error could be? 19:15:01 rahul: great, post it :) 19:15:02 I tried doing this before, but it was too difficult 19:15:17 then I read the optimization, and it's trivial to code up with the optimization 19:15:45 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 19:15:46 minion, tell rahul about lisppaste! 19:16:12 rjain pasted "Prototype object system in ~20 LOC" at http://paste.lisp.org/display/90743 19:16:29 numberGrey: Well, to a first approximation, the socket is opened as a "binary" stream and then treated as a "character" stream. At this point I'd worry about the relative versions of hunchentoot and sbcl that you're using. 19:16:41 And also their provenance. 19:17:11 (Do I mean provenance?) 19:17:12 Is CFFI meant to be able to load DLLs or does it just work for link-time libraries? 19:17:25 Yeah I first used the debian repositories which were old, then I used asdf, then I used clbuild which I would assume grabs the latest versions 19:17:30 Modius: Depends on the host implementation, but I'd say "usually, yes". 19:17:54 -!- dagnachew [n=dagnache@modemcable230.220-179-173.mc.videotron.ca] has quit ["Leaving"] 19:18:09 right? 19:18:25 rahul: so how's it work? 19:18:30 Modius: the only thing that works reliably is loading DLLs dynamically 19:18:30 numberGrey: Yes, clbuild supposedly grabs the latest versions. 19:18:34 sykopomp: the same way V8 works 19:19:00 sykopomp: (assuming it works at all... haven't tested it :P) 19:19:00 rahul: I mean, how it's used in lisp. 19:19:35 any other hunches as to what I could try next? 19:19:35 dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has joined #lisp 19:19:52 -!- DrunkTomato [n=DEDULO@ext-gw.wellcom.tomsk.ru] has quit [] 19:19:52 sykopomp: (defvar *obj* (make-instance 'prototype-object)) (setf (slot-value *obj* 'x) 15) (slot-value *obj* 'x) 19:19:53 numberGrey: Unfortunately, this is about as far as I can help you, as I am neither a hunchentoot user nor a big fan of clbuild. 19:20:01 ok 19:20:04 thanks 19:20:17 -!- jgracin [n=jgracin@vipnet88-89.mobile.carnet.hr] has quit [Remote closed the connection] 19:20:29 rahul: that doesn't set up an inheritance graph. 19:20:59 This mechanism (for loading libraries) seems built around static librariies (CFFI/define-foreign-library) 19:21:24 sykopomp: Do you really need an inheritance -graph- for a prototype-based system? 19:21:49 nyef: I guess it depends on your approach. If you want delegation, then yes. 19:22:10 if you just want something like kevo, then no. 19:22:10 sykopomp: CLOS has one built in 19:22:10 but that's like having something like Go :) 19:22:25 sykopomp: look at prototype-find-subclass 19:22:44 delegation? 19:22:54 -!- kpreid [n=kpreid@216-171-189-244.northland.net] has quit [] 19:22:58 -!- Computer_ is now known as Computer 19:22:59 rahul: that's for the backend classes, not for the objects themselves. 19:23:27 most prototype object systems I know of involve delegation of behavior and data. 19:23:30 those are object-based. 19:23:48 sykopomp: so put a function in a slot 19:23:58 that's all they do 19:24:17 you can add some sugar to make that a nice interface 19:24:19 then you're not using CLOS' "power" for anything but bulky, MOPPed backend classes. 19:24:36 sykopomp: sure, but slot access works exactly the same 19:24:38 then what's the point of using CLOS to implement something this simple, if it's just bloat and doesn't give you real advantages? 19:24:46 sykopomp: what bloat? 19:24:54 you can remove the bloat.... 19:25:01 the MOP? 19:25:08 -!- Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 19:25:12 Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has joined #lisp 19:25:12 don't inherit from standard-class and implement methods selectively 19:25:20 sykopomp: how is that bloat? 19:25:29 sykopomp: I'd urge you to have a look at the way that the Garnet folks created and implemented the KR prototype-based system. 19:25:32 -!- KatrinaTheLamia [n=rot13@S0106001cdfcd44c1.ed.shawcable.net] has quit ["I plead the fifth"] 19:25:40 I put the Garnet code and manuals on sourceforge a while ago. 19:25:58 sykopomp: tell me exactly what in the MOP adds stuff to the instances created 19:26:01 rpg: I should look at it again. I looked at the implementation quite a while back, but that's a good idea. 19:26:46 -!- ASau [n=user@83.69.227.32] has quit [Read error: 104 (Connection reset by peer)] 19:26:51 sykopomp: standard-objects have no slots 19:27:08 and slot access does not use the MOP at all in my implementation 19:27:11 sykopomp: IIRC, KR was implemented using structs. 19:28:27 rahul: hm. I see. 19:28:40 sykopomp: this is why my implementation is so simple :) 19:28:53 I just use the mop as a way to dynamically create those subclasses 19:29:26 the MOP is bloat-y if you don't need inheritance. If you do, and want it to work, then anything you can write is likely less 'bloated' do to non-completeness :) 19:29:38 due to* 19:30:16 well, this specific thing only needs single inheritance 19:30:37 although there are optimizations that could be made to utilize multiple inheritance 19:31:23 which, being just a subset of multiple inheritance, is already implemented in the MOP. 19:31:26 *drewc* loves the mop 19:31:38 you could look up the tree to see if there are any subclasses of your superclasses that contain your slot and mix those in instead of adding a new class with a new slot 19:31:58 hm! 19:32:00 ... Someone should write a CLOS MOP implementation called "BUCKET". Just because. 19:32:24 i have multiply inherited meta-classes in my current project... i'm a mop adding... i reach for defclass long before i reach for defmacro :) 19:32:30 mop addict* 19:32:32 :D 19:32:34 *drewc* needs coffee bad 19:32:49 drewc: did you see my formulate library? 19:33:10 rahul: negative... is it CELLS-lite? 19:33:14 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 19:33:16 drewc: it's CELLS-better 19:33:25 rahul: sweet, i need that. url? 19:33:29 What is mop? 19:33:36 minion: MOP? 19:33:37 MOP: Meta Object Protocol(MOP) is a protocol for describing CLOS itself as an extensible CLOS program. http://www.cliki.net/MOP 19:33:41 davazp [n=user@156.Red-79-153-148.dynamicIP.rima-tde.net] has joined #lisp 19:33:52 drewc: it's in cl.net's cvs... /project/rjain-utils/cvsroot module formulate 19:34:13 drewc: it's CLOS all the way down 19:34:14 rahul, your system still doesn't do -anything- towards handling delegation 19:34:20 Adlai: sure it does 19:34:34 how? 19:34:35 Adlai: it handles delegation the same way any other prototype instance system does 19:34:40 how? 19:34:41 -!- numberGrey [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has left #lisp 19:34:45 rahul: cvs? should i use my teletype over DECnet, or just dial in? :) 19:34:47 methods are functions in slots 19:34:49 heh 19:35:01 rahul: how is that delegated between objects? 19:35:05 drewc: hey, I made this project back when cl.net was first started 19:35:10 rahul, first of all, that's not how every other prototype OO system does -dispatch- 19:35:12 sykopomp: the same way slots are 19:35:21 -!- morphling [n=stefan@gssn-5f7577b7.pool.mediaWays.net] has quit [Remote closed the connection] 19:35:25 Adlai: other than cecil, it is 19:35:39 morphling [n=stefan@gssn-5f7577b7.pool.mediaWays.net] has joined #lisp 19:35:44 cecil probably uses a trie for storing multimethods 19:35:44 so MOP explains how to extend CLOS? 19:35:51 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 19:35:52 p0a: using CLOS no less 19:36:00 uh no, there are multiple-dispatch systems for some of these object systems 19:36:17 and you're talking about method dispatch, not delegation 19:36:27 delegation is the concept that one object "inherits" from another 19:36:28 huh? 19:36:30 rahul: in my prototype object system (which is only a base for the rest of LoL) slot-valuse are actually methods stored in slots... and setf is a ENSURE-METHOD specialied with eql 19:36:37 Adlai: yes. change-class does that 19:36:43 oh right 19:36:44 haha 19:36:48 -!- morphling [n=stefan@gssn-5f7577b7.pool.mediaWays.net] has quit [Remote closed the connection] 19:36:53 yes, I need a copy method 19:37:05 no, delegation isn't about copying 19:37:06 morphling [n=stefan@gssn-5f7577b7.pool.mediaWays.net] has joined #lisp 19:37:08 rahul: how does it let you get an existing slot-value from a different object when you don't have one locally? 19:37:26 and like Adlai said, delegation is not copying. Quite the contrary. 19:37:48 so changing the slot's value in a derived object changes it in the parent? 19:38:00 correct 19:38:01 as far as I can tell, all you've implemented are Python classes 19:38:09 what is a first-class object in common lisp? 19:38:11 where you can add slots by just assigning to them 19:38:25 p0a, be careful with the term "object", as it means two different things in CL 19:38:29 certainly seems that way. 19:38:29 p0a: the MOP is CLOS implemented in CLOS with extensible hooks to drastically change the behavior of the object systems. A CLOS class is itself an instance of a CLOS class, so you use CLOS to extend CLOS 19:38:36 it might mean a CLOS object, or it might mean just any bit of data. 19:38:48 ASau [n=user@83.69.227.32] has joined #lisp 19:38:57 Adlai: I mean the former 19:39:02 p0a: anything you can assign to a variable or pass to a function as a value is a first class object. 19:39:14 rahul, it's still kinda awesome that you've implemented Python's "innovative 19:39:19 " OO system in ~20 lines of CLOS 19:39:19 drewc: which with language context can be said more precisely 19:39:47 what does cl have for first-class objects? but I think your answers have given me material to search for. 19:40:21 leo2007 [n=leo@soup.linux.pwf.cam.ac.uk] has joined #lisp 19:40:33 Adlai: any bit of data _is 19:40:44 _ a CLOS object... given CLASS-OF.. non? 19:41:16 http://www.cliki.net/MOP "Meta Object Protocol(MOP) is a protocol for describing CLOS itself as an extensible CLOS program. In this description, the fundamental elements of CLOS programs (classes, slot definitions, generic functions, methods, specializers and method combinations) are represented by first-class objects." 19:41:23 drewc, right, I guess I meant an object whose class is a subclass of standard-object 19:41:33 s/standard-object/standard-class/ 19:42:04 p0a, it means that you can manipulate those fundamental elements as you would manipulate any data in your CLOS programs 19:42:19 -!- Axius [n=ade@92.84.22.169] has quit ["Leaving"] 19:42:50 rjain annotated #90743 "subclasser" at http://paste.lisp.org/display/90743#1 19:42:52 -!- rpg [n=rpg@75-146-46-193-Minnesota.hfc.comcastbusiness.net] has quit [Remote closed the connection] 19:43:08 p0a: (find-class 'foo) => # , classes are first-class objects. 19:43:43 p0a: (class-slots (find-class 'foo)) =>(list of slotd's) , slots are first-class as well. 19:44:31 rahul, ENOPARSE 19:44:48 generic functions are of course first class objects, given FUNCTION... FIND-METHOD will get you a method given the right specializers, etc. 19:44:55 (prototype prototype-instance &key) <= Not a symbol or specialized argument! 19:45:01 :P 19:45:06 gah 19:45:27 break the key out of that list 19:45:39 -!- kmc [n=keegan@206-71-236-70.c3-0.nyw-ubr5.nyr-nyw.ny.cable.rcn.com] has quit ["Leaving"] 19:46:05 -!- Fare [n=Fare@c-24-218-127-11.hsd1.ma.comcast.net] has quit ["Leaving"] 19:46:23 -!- stassats [n=stassats@wikipedia/stassats] has quit [Read error: 110 (Connection timed out)] 19:46:57 rahul, I like that list comprehension :) 19:48:15 -!- loxs [n=loxs@85-130-35-10.2073285806.ddns.cablebg.net] has quit ["Leaving"] 19:48:52 Is there any book that explains CLOS and MOP and makes a lot of use of them in its examples and problems listed? 19:49:00 minion, tell p0a about AMOP 19:49:00 p0a: direct your attention towards AMOP: The Art of the Metaobject Protocol, an essential book for understanding the implementation of CLOS and advanced OO. See the sepcification of MOP at http://www.lisp.org/mop/ 19:49:19 rahul: how does that code allow delegation? It looks like it just copies objects. 19:49:29 rjain annotated #90743 "bugs fixed" at http://paste.lisp.org/display/90743#2 19:49:41 sykopomp: that's what delegation is 19:49:44 Adlai: :P 19:49:45 no 19:50:00 delegation is fundamentally different from copying 19:50:15 rahul: no, it's not. 19:50:22 in fact, they can be viewed as opposite approaches to prototype OO 19:50:57 rahul: delegation is the runtime delegation of values/behavior. It is conceptually different from copying values at object creation time, which is often called "cloning" 19:51:20 This text is laconic, is there anything that provides examples, has problems for the reader to solve, and is generally pleasant to read like PCL is 19:51:45 p0a: AMOP 19:51:48 Provides examples? Check, AMOP provides a sample implementation of (a subset of) CLOS 19:51:59 AMOP even has exercises 19:52:07 Has problems to solve? Check, each chapetr in AMOP ends with problems and has solutions for some of them 19:52:17 Ah, this page has chapter 5 & 6 reproduced. I had missed that 19:52:21 right 19:52:27 p0a: that's effectively an appendix to the boox 19:52:29 book 19:52:34 Pleasant to read? Check, it's written by CL hackers so how could it -not- be pleasant to read. 19:52:38 heh 19:52:53 my copy of AMOP is one of the most read books on my shelf. 19:52:56 *sykopomp* learned about (values) from AMOP! 19:53:15 tsk tsk your parents should have taught you about those 19:53:29 as in, using (values) to express that the function is purely side-effectful. 19:53:36 right now it sits between PAIP and Chichester's gypsy moth book. 19:53:39 AMOP is not only a good lesson in how to use MOP, but a good lesson on how to build a CLOS program 19:53:55 rahul, or even s/OS// 19:54:05 or rather 19:54:06 a Lisp program 19:54:07 Adlai: PAIP is better for that, IMO 19:54:08 rahul: indeed, which i love. CLOS is a good example of how to build a CLOS program :) 19:54:10 it's not really CL 19:54:47 *rahul* puts the hard drive back in the fridge 19:54:50 lichtblau [n=user@port-92-195-56-124.dynamic.qsc.de] has joined #lisp 19:55:02 Adlai: ANSI CL it's not... CLtL, OTOH.... :) 19:55:54 -!- robyonrails [n=roby@host50-213-dynamic.59-82-r.retail.telecomitalia.it] has quit ["Sto andando via"] 19:55:56 drewc, I just can't think of code that manipulates first-class lexenvs as CL 19:56:18 drewc: cltl had an env argument to eval? 19:56:36 sykopomp, that, and it had functions for augmenting lexenvs with new variable and function bindings 19:57:05 Adlai: i have trouble thinking of something that _can't_ as CL :) 19:57:24 next thing you're going to tell me i can't use COMPILER-LET! :) 19:58:04 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #lisp 19:58:09 hell, given the appendix of CLtL2, i might consider SERIES as part of CL :P 19:58:49 yeah, it's kind of part of CL, but not part of ANSI CL 19:59:27 -!- jewel [n=jewel@dsl-242-189-70.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 19:59:30 On Lisp talks briefly about how Series will replace the high-order functions of CL... 19:59:48 Adlai: and... ehem... MOP is something i also consider part of CL... and it's post-ANSI. 20:00:07 I guess i'm trying to say that CL is a lot more than what ANSI decided on :) 20:00:12 true 20:00:12 MOP is required by ANSI, just not specified 20:00:22 -!- SandGorgon [n=OmNomNom@122.173.249.152] has quit [Read error: 60 (Operation timed out)] 20:00:22 the tricky thing about the MOP is that it's still evolving 20:00:32 -!- fiveop [n=fiveop@g229083067.adsl.alicedsl.de] has quit ["Lost terminal"] 20:00:36 Adlai: which is why it's good they didn't specify it in ANSI 20:01:05 true... as was once said in this very channel, "Premature standardization is the root of all Java" 20:01:55 fiveop [n=fiveop@g229083067.adsl.alicedsl.de] has joined #lisp 20:03:02 I think steele wrote the paper that inspired that 20:03:14 or may have said that on LL1-discuss 20:04:38 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 20:06:00 varjag [n=eugene@103.80-202-117.nextgentel.com] has joined #lisp 20:06:46 -!- TDT [n=user@vs1202.rosehosting.com] has quit [Remote closed the connection] 20:08:38 btw anyone know where one can download the standard's PDF? 20:08:49 rread_ [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has joined #lisp 20:08:50 minion, tell myst about clhs 20:08:50 myst: direct your attention towards clhs: To look up a symbol in the HyperSpec, try saying "clhs symbol". For more information on the HyperSpec see http://www.cliki.net/CLHS . 20:09:14 myst, on the Lispworks site there's a link to download it as hypertext 20:09:26 I don't think there's a pdf anywhere, though 20:09:34 texi2pdf from dpans? 20:09:50 -!- gigamonkey [n=user@adsl-99-169-83-40.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 20:09:54 http://www.cl-http.org:8002/lispdocuments/draft-proposed-ANSI-Common-Lisp.pdf 20:09:55 myst: you can download it from ANSI IIRC, for a small fee. 20:10:03 there is PDF on ANSI site, but it costs $30 :-) 20:10:10 -!- schmx [i=53e35f0f@sxemacs/devel/schme] has quit ["Page closed"] 20:10:18 "small" is relative 20:10:21 also CLtLw 20:10:22 2 20:10:24 http://www.cl-http.org:8002/lispdocuments/cltl2.pdf 20:10:27 -!- ahaas [n=ahaas@c-71-59-145-125.hsd1.or.comcast.net] has quit ["leaving"] 20:10:40 thanks 20:10:47 lispm: and the chine-ual? 20:11:05 *drewc* bets lispm has them all! 20:11:06 the PDF on ANSI's site is a scanned copy of the printout 20:11:08 http://www.cl-http.org:8002/lispdocuments/chinual_4thEd_Jul81.pdf 20:11:19 heh... i new it! :) 20:11:28 but why would you want to REMOVE all the easy of use of the hyperspec? 20:11:32 ease 20:11:33 Lisp Machines in ten documents 20:11:34 http://lispm.dyndns.org/news?ID=NEWS-2009-04-07-1 20:11:52 Common Lisp in ten documents 20:11:53 http://lispm.dyndns.org/news?ID=NEWS-2009-02-22-1 20:12:04 rahul: no kidding... the hyperspec kicks ass as a reference.. the pdf... not so much. 20:12:20 the pdf reference? 20:12:24 the PDF I posted is not a scan 20:12:56 lispm: texti2pdf from dpans? 20:13:03 yeah, but it's not the final standard :) 20:13:06 something like that 20:13:16 rahul: show me the different words 20:13:49 lispm: I dunno, I've been advised against using it.. shrug... then again, the final standard has plenty of problems 20:14:21 the last draft is basically the standard 20:15:45 either way, I don't see the point in using a de-hypertexted version of the standard 20:16:06 emacsphan [n=user@plmomi-l10-340.dsl.tds.net] has joined #lisp 20:16:12 it's not like you'd curl up with it in bed and read it :P 20:16:19 superjoe [n=superjoe@149-169-112-63.nat.asu.edu] has joined #lisp 20:16:27 (well, I would... but I don't think there are many others who would) 20:16:36 what is #\SPACE ? 20:16:44 dv_ [n=dv@83-64-248-68.inzersdorf.xdsl-line.inode.at] has joined #lisp 20:16:44 a reference to a function? 20:17:05 clhs #\ 20:17:05 http://www.lispworks.com/reference/HyperSpec/Body/02_dha.htm 20:17:18 clhs #' 20:17:21 -!- billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has quit [] 20:17:26 http://www.lispworks.com/reference/HyperSpec/Body/02_dhb.htm 20:17:27 thanks 20:17:37 mije [n=JME@tal33-5-88-181-16-209.fbx.proxad.net] has joined #lisp 20:17:43 -!- ZabaQ` [n=johnc@playboxgames.com] has quit [Read error: 110 (Connection timed out)] 20:17:46 hi 20:17:53 lispm: thanks for the links, very interesting 20:18:08 rahul: I would also love to curl up in winter with a nice copy of CLHS :) 20:18:30 sykopomp: well, I learned lisp largely from the CLHS and c.l.l 20:18:37 i'd like to install lisp on windows with asdf and all, which distribution do you think is the easiest to set up ? 20:18:39 from c.l.l? 20:18:45 rahul, the second one, "not so much..." 20:18:45 the first book I got was PAIP 20:18:50 myst: you're welcome 20:19:03 minion, tell mije about CCL 20:19:04 mije: please look at CCL: OpenMCL is now called Clozure Common Lisp (CCL). http://www.cliki.net/CCL 20:19:22 mije: I am not an expert but CCL and SBCL are good choices 20:19:23 back around 2001, it wasn't a bad way to learn lisp 20:19:35 lots of great posts 20:19:37 CCL is descended from Macintosh Common Lisp, but it runs on Windows (and Linuxes) too 20:20:02 minion: yep i tried it, but i have a few problems uncompressing tarballs dowloaded with asdf-install 20:20:02 what is ``it''? 20:20:04 mije: sbcl isn't that great of an option on windows 20:22:27 kjbrock [n=kevinbro@173-11-106-193-SFBA.hfc.comcastbusiness.net] has joined #lisp 20:22:42 -!- rajesh [n=rajesh@nylug/member/rajesh] has quit ["leaving"] 20:23:00 *myst* loves SBCL 20:24:19 -!- mije [n=JME@tal33-5-88-181-16-209.fbx.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 20:24:40 lazy SBCL developers don't want to port it to windows.. 20:24:53 *ziga`* is joking 20:25:09 -!- rread [n=rread@nat/sun/x-hjaeddftklrmuqep] has quit [Read error: 110 (Connection timed out)] 20:25:09 -!- rread_ is now known as rread 20:25:14 SBCL the greatest lisp implementation on planet earth 20:25:22 -!- b4|hraban [n=b4@a83-163-41-120.adsl.xs4all.nl] has quit [Read error: 113 (No route to host)] 20:25:32 ziga`: nyef is anything but lazy :) 20:25:47 but even his genius isn't enough to make the port easy 20:26:04 b4|hraban [n=b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 20:26:05 rahul: I agree - I look often at planet sbcl and there's a lot going on 20:26:44 who cares about windows, anyways? No one wants to port to obscure, useless platforms 20:26:51 billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has joined #lisp 20:27:00 sykopomp: +1 20:27:10 rahul: #'1+* 20:27:14 ;D 20:27:24 heh 20:27:36 sykopomp: indeed, we just have to wait for all windows users to see and change to real OSs 20:27:36 so what exactly is the difference between delegation and copying? 20:27:47 ziga`: people still use windows? 20:27:50 changes made to the parent object's slots show up in the child object? 20:28:02 rahul: correct. 20:28:06 what about changes made to the child object's slots? 20:28:09 ehh I wouldn't say it's like that 20:28:25 sykopomp: hint: look outside academia world 20:28:28 sykopomp, that makes it sound as though child objects are updated when parents are modified 20:28:35 ziga`: I'm no academic. 20:28:44 Adlai: you can implement it that way 20:28:50 ziga`: I looked at ITA software, and couldn't find any windows machines on my floor 20:28:55 sykopomp, you can also implement Sheeple on top of Unlambda. 20:29:02 ziga`: but maybe the airline industry is too academic :) 20:29:10 although there's a caveat: things changed directly in the child cannot be overridden by ancestors. 20:29:30 Adlai: well, that's the only thing my implementation doesn't do 20:29:33 lucky guys 20:29:40 Adlai: it's conceiveable that if you want to make -very little- use of dynamic delegation, you have ancestors automatically cascade changes down to descendants. 20:29:44 sykopomp: so it's a copy-on-write in that sense 20:29:47 it's expensive, but it's a tradeoff. 20:30:17 I can use formulate to have that cascade work lazily :D 20:30:30 yup, that's another way to handle it. 20:30:52 it all depends on how much you expect to use various things, I guess. It's the kind of tradeoff you want actual applications to gather data from. 20:31:02 -!- spec[away] is now known as mrSpec 20:31:40 hmm, and then you've got a -> b -> c and you change a slot in b 20:31:51 c should see the changes in b going forward, not the changes in a 20:31:58 (to that specific slot) 20:32:10 rahul, what do you mean by going forward? 20:32:23 after the setf slot-value on b 20:32:31 -!- HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Read error: 60 (Operation timed out)] 20:32:34 here's how I think about delegation 20:32:46 I can't imagine how V8 makes this any faster 20:32:51 a -> b -> c, then you ask c what the value of slot foo is 20:33:04 It has 8 cylinders, how could it be slower? 20:33:18 *rahul* stuffs foom into a cylinder 20:33:22 c checks whether slot foo is set directly. if it is, it returns it, if not, it asks b what the value of b's slot foo is. 20:33:26 foom: smaller cylinders 20:33:41 rullie: more weight 20:33:47 then b repeats, then a, and since a has no parents in this example, then there could be an unbound slot condition. 20:33:52 smaller cylinders can actually make an engine faster 20:34:07 better burning of the fuel 20:34:20 I'm actually not sure whether V8 deals with this at all, because Javascript isn't too heavy on dispatch 20:34:29 rahul: assuming the cylinder is a high compression one 20:34:32 What's the tradeoff, then? Less torque? 20:34:40 Adlai: so I don't see how this tecnhnique is an optimization 20:34:57 (This discussion of V8 is making me thirsty...) 20:35:08 nyef: well, the obvious one is shorter stroke length 20:35:16 HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 20:35:36 rahul, I think this optimization is for direct property lookup 20:35:56 I am however tired so I might start speaking blub and nonsense 20:37:30 Adlai: so you'd subclass on setf of slot-value 20:37:59 but on slot-value, you'd cascade up the object inheritance hierarchy 20:38:05 ... if the slot is missing 20:38:08 wait, what do you mean by subclass? 20:38:20 create a new backend class? 20:38:48 -!- fiveop [n=fiveop@g229083067.adsl.alicedsl.de] has quit ["humhum"] 20:39:07 the backend class optimization aka "maps" is distinct from delegation 20:41:00 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 20:41:34 yep 20:41:40 that's what I mean 20:41:47 rahul: this is kind of confusing to talk about. 20:41:51 is this Sheeple useful to anyone? 20:41:59 sykopomp, we just have to keep maps and delegation distinct 20:42:05 ziga`: It's useful to me. 20:42:09 ziga`: in 20 years you will be taxing it! 20:42:19 it doesn't help at all that Sheeple's backend datastructure mixes both a tiny bit 20:42:27 sykopomp: are you the author ? :D 20:42:35 ziga`: yup. 20:42:42 great :) 20:42:42 well, *an* author, at this point. 20:42:44 ziga`, sykopomp is the visionary and I am the slave who actually wrote the damn thing 20:42:53 *Adlai* ducks 20:42:57 Adlai: 1 ON 1 20:43:03 *sykopomp* throws his gloves off. 20:43:21 how does it work - hashtables? 20:43:30 or CLOS? 20:43:33 neither 20:43:52 you can think of them as hash tables conceptually. 20:44:10 think of them as glorified hash tables with delegation. 20:44:17 and roles 20:44:23 oh yes, and roles. 20:44:33 lhz [n=shrekz@c-b9aa72d5.021-158-73746f34.cust.bredbandsbolaget.se] has joined #lisp 20:44:34 how fast is them 'method dispatch' compared to CLOS? 20:44:43 it looks nice, simple 20:44:49 ziga`: right now? Fairly slow. 20:44:52 sheeple's reply dispatch is unfortunately slow right now 20:44:56 but property access is fast 20:45:04 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 20:45:05 Specially since we just disabled caching while we speed up other parts (and debug) 20:45:06 aha 20:45:16 uhh we disabled caching because it's broken 20:45:21 shhh >_> 20:45:24 <_< 20:45:29 :D 20:45:30 *Adlai* facepalm 20:45:47 Adlai: Who's the one with the degree in advertising? 20:45:53 I saw this http://nklein.com/2009/11/playing-with-sheeple-based-gui-atop-cl-opengl/ 20:46:00 is code available anywhere? 20:46:01 as the slave, I'd say the brokenness is Adlai's fault 20:46:04 WHOA! 20:46:09 thoawhlrp.,'yp 20:46:17 sykopomp, people are actually USING sheepel? 20:46:24 oh god that poor man 20:46:36 Adlai: he e-mailed me about it, I didn't think he would -blog-! D: 20:46:54 rahul, the caching code is 100% sykopomp 20:47:16 sykopomp, btw, did you relay to him my sentiments wrt CREATE? 20:47:29 Adlai: oh no, urrite, I should've done that. Let me cook up an e-mail right now. 20:47:33 SandGorgon [n=OmNomNom@122.173.249.152] has joined #lisp 20:47:34 I would be interested in understanding to what extent you can integrate your prototype-based objects with CLOS 20:47:48 sykopomp: see this is what happens when you take pity on your slaves 20:47:55 and to what extent existing clos implementation strategies can help with making your stuff fast 20:48:05 Krystof: mine are 100% integrated :D 20:48:17 and I think I just implemented delegation 20:48:42 I should probably start testing it now that it's bigger than 4 forms 20:49:10 segv_ [n=mb@p4FC1C5E6.dip.t-dialin.net] has joined #lisp 20:49:35 Krystof, there are problems integrating CLOS with the way Sheeple's equivalent of generic functions works 20:50:17 Adlai: generic functions and classes are completely separate parts of CLOs 20:50:20 emacspha` [n=user@plmomi-l10-340.dsl.tds.net] has joined #lisp 20:50:29 so you can pick and choose 20:50:31 however, I think that the message/reply system is the least developed part of Sheeple right now, so that may change 20:51:15 rahul, I'm talking specifically about the dispatch mechanisms used, and how they don't really map from one object system to the other 20:51:28 or at least I can't see cleanly right now how they could 20:51:46 basically, you'd need to use the prototype-delegate as the superclass when you determine applicable methods... so it might not be too hard 20:52:50 francogrex [n=user@38.36-244-81.adsl-dyn.isp.belgacom.be] has joined #lisp 20:52:52 -!- segv [n=mb@p4FC1DF7A.dip.t-dialin.net] has quit [Read error: 60 (Operation timed out)] 20:52:52 -!- segv_ is now known as segv 20:53:50 Krystof: I've thought about that a bit. It seems to me the only way is to autobox CLOS classes and assign replies to -those- boxed types. 20:53:53 I'm getting used to the gdb (the c debugger) and I find quite cool that you can step into a code at break points and see and set values etc 20:54:10 it's slightly awkward to translate to CLOS because of the divide between instances and classes. 20:54:18 I'm less excited though about CL debuggers that I've seen so far 20:54:33 sykopomp, it's not the only way, but we need a much broader definition of messages and replies than we have currently 20:54:42 yeah :\ 20:54:47 francogrex: Funny, some of us are -horrified- by gdb. 20:55:13 francogrex, CL debuggers are as powerful as the handlers and restarts which -you- establish in your code 20:55:49 Adlai: I think you're missing the comprehensive debug data that C compilers tend to output that can be (and often is) given less attention in CL compilers. 20:55:51 guys ok; but how can you step into a code line by line (so to speak)? 20:56:30 nyef: kinda like when I get a DIVIDE-BY-ZERO error in SBCL, I get two foreign functions and something to do with SAP in the backtrace. Love that 20:56:31 >_> 20:56:40 francogrex: form-by-form? Typically, you need to compile your code with a high debug optimization setting. 20:56:41 cvanduse` [n=user@12.185.80.194] has joined #lisp 20:56:48 *sykopomp* should've probably pumped up the debug 20:56:54 nyef, yeah, I'm probably confused right now 20:56:54 nyef: I'm happy with gdb; it lets you see the value of a var, it's address etc ,, real monitoring in real time 20:57:15 -!- HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- cmm- [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- cvandusen [n=user@12.185.80.194] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- Madsy [n=Madsy@fu/coder/madsy] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- elanonimo [n=eldragon@84.79.67.254] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- Xof [n=crhodes@158.223.51.79] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- rlonstein [i=lonstein@ohno.mrbill.net] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- erg [n=erg@li13-154.members.linode.com] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- retupmoca` [n=retupmoc@adsl-76-235-169-202.dsl.klmzmi.sbcglobal.net] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- _deepfire [n=deepfire@80.92.100.69] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- colin__ [n=colin@118-169-33-97.dynamic.hinet.net] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- esden [n=esdentem@repl.esden.net] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- foom [n=jknight@ita4fw1.itasoftware.com] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- koollman [n=samson_t@ns301422.ovh.net] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- koning_robot [n=aap@88.159.108.233] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- rullie [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has quit [sendak.freenode.net irc.freenode.net] 20:57:15 -!- fnordus [n=dnall@70.70.0.215] has quit [sendak.freenode.net irc.freenode.net] 20:57:48 sykopomp: Yeah, well. SBCL and debugging is kindof tricky anyway, as the debug stuff gets less attention than the compiler, largely due to many of the maintainers preferring "format debugging" and the Feynman method. 20:57:49 francogrex: sldb lets you crawl through the backtrace, recompile code, try again, etc 20:58:13 nyef: can you maybe give an example 20:58:20 nyef: what's the feynmann method? 20:58:20 what's the Feynman method? 20:58:23 :D 20:58:25 first 20:58:42 And, on x86oids, it doesn't help that SBCL doesn't even have a data type to correspond to the FPU internal register format (long-float). 20:58:50 ziga`: Thinking hard 20:59:02 HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 20:59:02 Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has joined #lisp 20:59:02 slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has joined #lisp 20:59:02 cmm- [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has joined #lisp 20:59:02 guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has joined #lisp 20:59:02 Madsy [n=Madsy@fu/coder/madsy] has joined #lisp 20:59:02 elanonimo [n=eldragon@84.79.67.254] has joined #lisp 20:59:02 Xof [n=crhodes@158.223.51.79] has joined #lisp 20:59:02 rlonstein [i=lonstein@ohno.mrbill.net] has joined #lisp 20:59:02 erg [n=erg@li13-154.members.linode.com] has joined #lisp 20:59:02 retupmoca` [n=retupmoc@adsl-76-235-169-202.dsl.klmzmi.sbcglobal.net] has joined #lisp 20:59:02 _deepfire [n=deepfire@80.92.100.69] has joined #lisp 20:59:02 colin__ [n=colin@118-169-33-97.dynamic.hinet.net] has joined #lisp 20:59:02 fnordus [n=dnall@70.70.0.215] has joined #lisp 20:59:02 rullie [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has joined #lisp 20:59:02 koollman [n=samson_t@ns301422.ovh.net] has joined #lisp 20:59:02 koning_robot [n=aap@88.159.108.233] has joined #lisp 20:59:02 foom [n=jknight@ita4fw1.itasoftware.com] has joined #lisp 20:59:02 esden [n=esdentem@repl.esden.net] has joined #lisp 20:59:04 The Feynman method: 1. Write down the problem. 2. Think real hard. 3. Write down the solution. 20:59:21 -!- erg [n=erg@li13-154.members.linode.com] has quit [Remote closed the connection] 20:59:25 sykopomp: if the instance/class division is an issue, don't use instances... dispatch on the prototype, a method on make-instance that errors, and there are no instances. 20:59:31 -!- guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has quit [Remote closed the connection] 20:59:31 erg [n=erg@li13-154.members.linode.com] has joined #lisp 20:59:32 -!- spilman [n=spilman@ARennes-552-1-126-110.w92-139.abo.wanadoo.fr] has quit ["Quitte"] 20:59:34 guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has joined #lisp 20:59:35 sykopomp: ok; I don't use slime, maybe you have some snapshots posted etc? 21:00:04 rullie_ [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has joined #lisp 21:00:05 drewc, Sheeple doesn't use -any- CLOS right now 21:00:05 btw., feynman was very near Lisp programming 21:00:08 snapshots as in screenshots? 21:00:20 -!- elanonimo [n=eldragon@84.79.67.254] has quit [SendQ exceeded] 21:00:21 -!- rlonstein [i=lonstein@ohno.mrbill.net] has quit [Remote closed the connection] 21:00:21 -!- retupmoca` [n=retupmoc@adsl-76-235-169-202.dsl.klmzmi.sbcglobal.net] has quit [SendQ exceeded] 21:00:21 minion, tell francogrex about slime-video 21:00:22 francogrex: please look at slime-video: slime.mov: "using SLIME" video by Marco Baringer, http://common-lisp.net/project/movies/movies/slime.mov 21:00:24 rlonstein [i=lonstein@ohno.mrbill.net] has joined #lisp 21:00:34 Feynman and The Connection Machine 21:00:36 -!- sellout [n=greg@static-72-85-235-154.bstnma.east.verizon.net] has quit [] 21:00:36 http://www.longnow.org/essays/richard-feynman-connection-machine/ 21:00:45 drewc: what adlai said. The issue is more integrating a system that doesn't really do much at all with CLOS, and making the class hierarchies that you set up make sense. 21:00:50 Connection machines and something to do with the interconnection between processors, wasn't it? 21:01:22 sykopomp: CLOS is not the only object system that can be implemented via the MOP, it's only the standard one. 21:01:29 initially it was a coprocessor machine to a Lisp Machine with (expt 2 16) mini processors 21:01:34 a SIMD machine 21:02:01 lispm: did it actually have 64k physical processors? 21:02:07 yes 21:02:19 cant you force your way down to sbcl's LDB and from there do more "raw" stuff, and safely return? 21:02:21 but more than one on a chip, if you mean that 21:02:21 The early CM had 1-bit processors. 21:02:32 drewc: the initial goal would be to make standard classes work. It's not a terribly big goal of mine to get full clos/sheeple interop working, though, and I'm yet to be convinced that using CLOS to implement sheeple is either possible or a good idea. 21:02:44 pkhuong: they were 1-bit processors, tho 21:02:51 yeah 21:02:51 but I'm no MOP expert :) 21:02:58 lhz: Yes, by calling the runtime monitor. But I see little point, as you can do most of it in Lisp anyway. 21:03:03 16 processors per chip 21:03:04 lispm: ISTR a multiplexing scheme, at least on later models. 21:03:13 i must not understand what sheeple is then... 21:03:13 pkhuong: probably better to view it as an FPGA 21:03:17 I think that a possible approach to integrate them is to define a method combination which can deal with Sheeple objects, and a reply combination which can deal with CLOS classes 21:03:31 drewc, I think you may be confused between Sheeple and rahul's experimnet 21:03:38 drewc: you could ask minion. He'll clarify ;) 21:03:39 (... what happens if you call stop_for_gc() from lisp?) 21:03:43 oh god 21:03:49 *sykopomp* giggles. 21:03:50 i've read the sheeple source code, fwiw. 21:03:50 4 kbits of RAM per processor 21:03:51 *Adlai* placefams 21:03:53 -!- slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Connection reset by peer] 21:04:18 slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has joined #lisp 21:04:29 drewc: I just don't know how you would make the whole thing work properly on top of the MOP, or whether you would want to. 21:04:37 drewc, when did you read the Sheeple source? It's had a complete upheaval quite recently 21:04:44 that, too 21:04:54 -!- rullie [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has quit [Connection reset by peer] 21:05:04 with the cm2 they added FP processors, 2048 of them, max 21:05:11 Sheeple actually used to be rooted in CLOS, until we decided to try another approach which -seems- to be working so far 21:05:15 marioxcc [n=user@201.132.137.19] has joined #lisp 21:05:57 -!- rullie_ is now known as rullie 21:06:31 -!- p0a [n=user@athedsl-385153.home.otenet.gr] has quit ["bye"] 21:06:44 Adlai: well, it used CLOS so it could have a CLOS-based MOP. 21:06:58 no, because you were lazy... :P 21:07:00 so it used clos at a "meta" level. 21:07:05 -!- emacsphan [n=user@plmomi-l10-340.dsl.tds.net] has quit [Read error: 110 (Connection timed out)] 21:07:48 Adlai: well, not entirely. I still had to write lots of code. It was interesting because AMOP mentions how a MOP doesn't have to use the same object system. 21:08:19 right 21:08:29 very true 21:08:40 lazy people write less code and get more functionality :) 21:09:14 er, I mean not true 21:09:41 see, I wrote 4 forms and created an optimized python object system 21:10:15 11 definitions and I have delegation 21:10:22 -!- SandGorgon [n=OmNomNom@122.173.249.152] has quit [Connection timed out] 21:10:25 sykopomp: you need to be more ambitious -- imagine you have full control over the implementation 21:10:30 -!- cmatei [n=cmatei@95.76.26.166] has quit [Read error: 110 (Connection timed out)] 21:10:40 or imagine I have full control over the (CLOS) implementation, if you prefer :) 21:10:44 :P 21:10:56 -!- foom [n=jknight@ita4fw1.itasoftware.com] has quit [Connection timed out] 21:10:58 I don't know. I'm not entirely sure what entry points sheeple would necessarily need. 21:11:31 foom [n=jknight@ita4fw1.itasoftware.com] has joined #lisp 21:11:46 One possibility would be to make it possible to flag certain molds as class-equivalent, and then CLOS method combination would treat them as classes in terms of dispatch 21:12:03 retupmoca` [n=retupmoc@adsl-76-235-169-202.dsl.klmzmi.sbcglobal.net] has joined #lisp 21:12:16 "molds" are what we call the basic unit of the backend class structure, since we couldn't call them maps because (defstruct map ...) chokes 21:12:25 Adlai: one thing that comes to mind is having a metaobject with special behavior that represents an "instance", and another that represents a "class" 21:12:28 no. someone else clearly went down this road, though; in PCL as of whatever that release was (Sept 92), as well as class and eql specializers there's class-eq (which is something special) and prototype 21:12:44 there is absolutely no code to go along with prototype specializers, but... 21:12:50 Adlai: why should the slots that happen to be in the object define how dispatch works? 21:13:04 -!- colin__ [n=colin@118-169-33-97.dynamic.hinet.net] has quit [Connection timed out] 21:13:18 Adlai: the inheritance of methods should not be based on who happend to set what slots, but rather on who inherits from which other objects 21:13:19 Krystof: my personal inclination would be to implement CLOS on top of Sheeple, which seems easier, to me (provided Sheeple ever gets a MOP) 21:13:21 colin__ [n=colin@118-169-33-97.dynamic.hinet.net] has joined #lisp 21:13:25 rahul, Sheeple's mold structure is a bit more complicated than that 21:13:26 -!- Wombatzu` [n=user@216-31-242-4.static-ip.telepacific.net] has quit [Read error: 104 (Connection reset by peer)] 21:13:58 Krystof: as far as adding the same sort of behavior to CLOS if you have full implementation control... 21:14:31 Krystof: I'd need to think about that more. I've not been in Sheeple mode for a couple of weeks. 21:14:34 Krystof, wait, just to clarify something (because I'm tired and confused), you're not suggesting that class-prototype has something to do with this, are you? 21:14:50 beauty [n=beauty@83.231.12.205] has joined #lisp 21:15:08 night 21:16:34 ahaas [n=ahaas@c-71-59-145-125.hsd1.or.comcast.net] has joined #lisp 21:16:56 Wombatzu` [n=user@216-31-242-4.static-ip.telepacific.net] has joined #lisp 21:17:19 sykopomp, implementing CLOS on top of Sheeple could be problematic 21:17:42 -!- esden [n=esdentem@repl.esden.net] has quit [sendak.freenode.net irc.freenode.net] 21:17:42 -!- koollman [n=samson_t@ns301422.ovh.net] has quit [sendak.freenode.net irc.freenode.net] 21:17:42 -!- koning_robot [n=aap@88.159.108.233] has quit [sendak.freenode.net irc.freenode.net] 21:17:42 -!- Xof [n=crhodes@158.223.51.79] has quit [sendak.freenode.net irc.freenode.net] 21:17:42 -!- fnordus [n=dnall@70.70.0.215] has quit [sendak.freenode.net irc.freenode.net] 21:17:42 -!- cmm- [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has quit [sendak.freenode.net irc.freenode.net] 21:17:42 -!- HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [sendak.freenode.net irc.freenode.net] 21:17:42 -!- Madsy [n=Madsy@fu/coder/madsy] has quit [sendak.freenode.net irc.freenode.net] 21:17:42 -!- _deepfire [n=deepfire@80.92.100.69] has quit [sendak.freenode.net irc.freenode.net] 21:17:42 -!- Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has quit [sendak.freenode.net irc.freenode.net] 21:17:45 -!- segv [n=mb@p4FC1C5E6.dip.t-dialin.net] has quit [Read error: 104 (Connection reset by peer)] 21:17:50 Adlai: implementing CLOS is problematic. (implementing Sheeple too) 21:17:54 segv [n=mb@p4FC1C5E6.dip.t-dialin.net] has joined #lisp 21:18:45 it's -possible- that I guess you could implement a prototype object system if you carried around anonymous classes with every instance. 21:19:17 and every method would need to be eql-specialized, with some sort of mechanism for delegating? 21:19:26 esden [n=esdentem@repl.esden.net] has joined #lisp 21:19:31 Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has joined #lisp 21:19:35 I think that's silly 21:19:39 koollman [n=samson_t@ns301422.ovh.net] has joined #lisp 21:21:01 -!- kjbrock [n=kevinbro@173-11-106-193-SFBA.hfc.comcastbusiness.net] has quit [] 21:21:17 ntd [n=user@daneel.cc.gt.atl.ga.us] has joined #lisp 21:21:29 HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 21:21:29 cmm- [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has joined #lisp 21:21:29 Madsy [n=Madsy@fu/coder/madsy] has joined #lisp 21:21:29 Xof [n=crhodes@158.223.51.79] has joined #lisp 21:21:29 _deepfire [n=deepfire@80.92.100.69] has joined #lisp 21:21:29 fnordus [n=dnall@70.70.0.215] has joined #lisp 21:21:29 koning_robot [n=aap@88.159.108.233] has joined #lisp 21:21:55 cmm [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has joined #lisp 21:21:57 -!- fnordus [n=dnall@70.70.0.215] has quit [SendQ exceeded] 21:22:22 how do you make a alist out of 2 lists? 21:22:26 -!- cmm is now known as Guest35829 21:22:27 hmm 21:22:28 one is key one is value 21:22:40 rullie, use a mapcar 21:22:42 rullie: (mapcar #'cons keys values) 21:22:54 ok 21:23:22 -!- kiuma [n=kiuma@93-35-255-1.ip57.fastwebnet.it] has quit ["Leaving"] 21:23:48 (defun transpose (matrix) (apply #'mapcar #'list matrix)) 21:23:56 rahul: c'mon dude. 21:24:02 -!- Jasko [n=tjasko@174.59.195.12] has quit [Read error: 104 (Connection reset by peer)] 21:24:08 (mapcar #'cons keys values)?! 21:24:13 PAIRLIS! 21:24:15 (transpose (list keys values)) is also an interesting way to do it 21:24:17 heh 21:24:25 fnordus [n=dnall@70.70.0.215] has joined #lisp 21:24:36 you know, I learned something today 21:24:43 rullie: (pairlis keys values) 21:24:45 Xach: don't shake your cane at me like that, old man! 21:24:52 -!- dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [] 21:25:02 *Xach* makes like Alan Pairlis and quips 21:25:05 no matter how many crusty outdated operators you find in ANSI CL, there'll still be more 21:25:07 heh 21:25:10 Adlai: no, class-prototype is something completely separate 21:25:17 Xach: aha, that's what i was looking for :) i remember seeing it in hyperspec somewhere 21:25:29 Krystof, ok, just trying to guage my level of confusion :) 21:25:31 rullie: it's probably in the conses dictionary 21:25:38 Krystof: what are you talking about then? I'm not terribly familiar with the ins and outs of PCL :\ 21:25:48 sykopomp, class-prototype is described in AMOP 21:25:59 Adlai: ...I totally missed it ;\ 21:26:08 well it only has about 4 lines to it 21:26:32 it gives you a "sample" object of a class, which might have uninitialized slots 21:26:45 and the consequences are undefined if you mess with it too much 21:27:06 page 214 for the 4 lines of gory detail 21:27:20 Jasko [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 21:27:27 koning_r1bot [n=aap@88.159.108.233] has joined #lisp 21:28:50 knobo [n=user@ti100710a080-1351.bb.online.no] has joined #lisp 21:28:59 arnee [n=arnee@mail.kono.de] has joined #lisp 21:30:33 rvirding [n=chatzill@h92n3c1o1034.bredband.skanova.com] has joined #lisp 21:32:28 -!- koning_robot [n=aap@88.159.108.233] has quit [Connection timed out] 21:34:11 -!- cmm- [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has quit [Read error: 110 (Connection timed out)] 21:35:17 legumbre_ [n=leo@r190-135-57-106.dialup.adsl.anteldata.net.uy] has joined #lisp 21:35:39 tcr [n=tcr@host146.natpool.mwn.de] has joined #lisp 21:36:01 Geralt [n=Geralt@p5B32EF7C.dip.t-dialin.net] has joined #lisp 21:40:01 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 21:41:09 fjs [n=chatzill@ppp-93-104-107-198.dynamic.mnet-online.de] has joined #lisp 21:41:24 -!- fjs [n=chatzill@ppp-93-104-107-198.dynamic.mnet-online.de] has quit [Client Quit] 21:41:53 Guthur [n=Michael@host81-131-243-232.range81-131.btcentralplus.com] has joined #lisp 21:42:15 -!- grouzen [n=grouzen@91.214.124.2] has quit [Read error: 145 (Connection timed out)] 21:42:43 jmbr [n=jmbr@214.33.220.87.dynamic.jazztel.es] has joined #lisp 21:42:54 manuel_ [n=manuel@pD9E6B629.dip.t-dialin.net] has joined #lisp 21:43:23 -!- colin__ [n=colin@118-169-33-97.dynamic.hinet.net] has quit [Read error: 104 (Connection reset by peer)] 21:43:38 -!- porcelina [n=quassel@c-174-51-110-214.hsd1.co.comcast.net] has quit [Remote closed the connection] 21:44:30 I'm looking for a good definition of "programming language" to put in a procedure at work, but i don't want to use "computer" in the defintion. any ideas? 21:44:52 "plan calculus"? 21:44:55 francogrex: "academic wankery" <-- how's that sound? 21:45:30 dnolen [n=dnolen@pool-70-107-147-129.ny325.east.verizon.net] has joined #lisp 21:45:30 algorhythmic (sic!) notation 21:45:31 sykopomp: quite bad 21:45:36 nyef: ? 21:45:43 Adlai: notation!1 21:45:52 Euralgorythms! 21:46:16 Ural-Go Rthyms 21:46:23 francogrex: It's a translation from the German, I think. Something to do with a Konrad Zuse? 21:47:16 hmm; ok let me put more in context (sorry that it's off the lisp topic, but i'll tell you why later) here's what i have so far: 21:47:16 francogrex: Why don't you want to use computer? 21:47:32 schme: too much SICP lecture. 21:47:41 schme: no; but wait here is what i have: 21:47:48 I've got it 21:47:51 An Analysis Code is defined as a set of detailed, unambiguous and ordered instructions developed to describe the processes necessary to produce the desired output from a given input. An Analysis Code can be presented as either an algorithm written in plain English or in a programming language.... 21:47:55 buh 21:48:06 -!- fe[nl]ix [n=algidus@88.149.210.77] has quit [Read error: 145 (Connection timed out)] 21:48:07 bgs100 [n=ian@unaffiliated/bgs100] has joined #lisp 21:48:08 An artificial language used to write instructions that can be translated into machine language and then executed by a ... device that computes, especially a programmable electronic machine that performs high-speed mathematical or logical operations or that assembles, stores, correlates, or otherwise processes information. 21:48:16 class-prototype is one thing, but what I'm talking about ("prototype" specializers) is to do with dispatch 21:48:34 Krystof: how do those work? 21:48:37 Krystof, yes, that makes sense. 21:48:38 I should say, though, that there was no actual _code_ to go with those specializers 21:48:39 so I don't know 21:48:41 sykopomp, they're not standard 21:48:53 schme: hmm not bad 21:48:54 in fact I don't think there's much been done with custom specializers 21:49:02 Adlai: it sounds like they're not even written :P 21:49:19 -!- dv_ [n=dv@83-64-248-68.inzersdorf.xdsl-line.inode.at] has quit ["Verlassend"] 21:49:25 francogrex: I just looked up the definition of "programming language" and it mentioned "computer" so I looked the def up for that and pasted that in. freedictionary.com, oh yeah 21:49:44 well it's a way to "inform" CLOS about Sheeple 21:49:46 reason I want to avoid "computer" word in all my procedure because i don't want IT to "claim their patent" and put their heavy hand into it 21:49:46 not much has been done with custom specializers, but sbcl does support them 21:50:07 hmmm 21:50:09 francogrex: IT? who? what? 21:50:15 this got so confusing I need a shower 21:50:35 fe[nl]ix [n=algidus@88-149-211-217.dynamic.ngi.it] has joined #lisp 21:50:36 information tech guys 21:50:46 so for example I can dispatch on the value of a pathname-type of a pathname 21:50:47 francogrex: wat 21:50:55 informaticians at work 21:51:06 the CS department 21:51:06 -!- legumbre [n=leo@r190-135-4-137.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 21:51:14 Krystof, is this documented somewhere? SBCL Manual? 21:51:16 francogrex: programming languages are used for computers. Seems silly to avoid the computer. 21:51:19 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #lisp 21:51:49 Krystof: oh. You could dispatch on sheeple while respecting the hierarchies if you just wrote a special EQL-specializer that searched the object's hierarchy-list if EQL wasn't enough. 21:52:11 that would pretty much do the trick wrt hooking up CLOS to Sheeple. 21:52:14 ltriant [n=ltriant@lithium.mailguard.com.au] has joined #lisp 21:52:51 schme: welcome to the absurd legal/regulatory world 21:53:11 -!- arnee [n=arnee@mail.kono.de] has quit [] 21:53:11 Adlai: not exactly. It's in my paper at ELS 2009 21:53:14 francogrex: do I smell IP? 21:53:19 sykopomp, I'd call it an (ancestorp proto) specializer, because the test would be (ancestorp proto ) 21:53:32 francogrex: yeah it sure sounds like some crazy world you live in where you can't use the word 'computer' for fear of the CS department having some patent on the word? 21:53:52 and I wrote up the pathname-type example for a paper I submitted last month 21:54:03 Adlai: if you're talking about dispatching, you would need to check each object in the hierarchy list on dispatch failure. 21:54:13 (or some optimization thereof) 21:54:56 -!- leo2007 [n=leo@soup.linux.pwf.cam.ac.uk] has left #lisp 21:55:06 sykopomp, doesn't #'sheeple:ancestorp do that? 21:56:00 Adlai: sure, I guess if you know all the possible objects that could be applicable ancestors of the object you're currently dispatched on... 21:56:39 well, the idea is to make it possible to integrate Sheeple with CLOS methods 21:57:05 so you could do something like (defmethod frob ((bar (ancestorp proto)) ...) ...) 21:57:31 example: what if you want dispatch on your first argument to be sheeple-style and your second to be a standard-class-style? 21:57:32 -!- dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Read error: 110 (Connection timed out)] 21:58:29 dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 21:58:38 nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has joined #lisp 21:58:40 (defmethod frob ((bar (ancestorp proto)) (baz someclass)) ...) 21:58:42 demmeln [n=Adium@dslb-094-216-199-227.pools.arcor-ip.net] has joined #lisp 21:58:48 Adamant: right, that's the idea 21:58:58 whoops 21:59:03 :) 21:59:04 that was meant to be addressed to Adlai 21:59:12 grouzen [n=grouzen@91.214.124.2] has joined #lisp 21:59:16 Krystof: like it wasn't obvious :P 21:59:17 nor do I know if it makes any sense -- maybe I should go to sleep while I'm not too far behind 21:59:19 Adlai: mkay 21:59:40 yay, I'm not the only tired and confused one 21:59:45 Krystof: I think it makes sense 22:00:05 everyone who needs it, get some sleep :P 22:00:12 yeah, it does make sense, though. I'll look in detail at the specializer stuff at some point 22:00:26 -!- slash_ [n=Unknown@whgeh0250.cip.uni-regensburg.de] has quit [Client Quit] 22:00:35 schme: not that, but i'm writing my own (department) light QC procedure for simple analyses codes/programs written just for us; we don't want the UT/CS deprtment to push prevent us from doing this by pushing us to adhere to their heavy-handed procedures which will cause a lot of delays and excessive uncessary worj for what small things we do 22:00:53 Adlai: it's not very clearly defined in AMOP how they work, either 22:00:56 Sikander [n=soemraws@oemrawsingh.xs4all.nl] has joined #lisp 22:01:01 rahul, s/very clearly // 22:01:04 Hi 22:01:04 Sikander, memo from LiamH: I found the error, without even having the correct version of GSL. The "scale" function takes a complex scalar second argument: int gsl_vector_complex_scale (gsl_vector_complex * a, const gsl_complex x); I will fix tomorrow. This by the way is inconsistent with the rest of the scale functions, which all take doubles for the scalars, even the integer types. 22:01:11 colin__ [n=colin@118-169-41-203.dynamic.hinet.net] has joined #lisp 22:01:11 Adlai: right, it's only defined that they exist 22:01:26 Sikander: it's fixed now, do a fresh pull 22:01:36 LiamH: Yeah, I saw it earlier today. great! 22:01:38 Adlai: there's no actual protocol for manipulating their impact on method selection 22:02:18 Sikander: I think I can start making tests next. 22:02:21 LiamH: Does this mean that to elt* or elt/ etcetera, you need to always use a (complex) float? 22:02:23 Adlai: really, all you want to do in this case is override what the class-precedence-list is 22:02:28 francogrex: you're crazy 22:02:53 Adlai: but I wouldn't override that, because that may screw up slot inheritance of the backend classes 22:02:58 am I? 22:02:59 Sikander: For the time being, yes. I hope to address that soon, but I'd like to get the tests in. 22:03:08 LiamH: in other words, you'd have to coerce any number by hand into the type of the vector? 22:03:11 LiamH: Ok, sounds good 22:03:16 rahul, Sheeple doesn't use CLOS classes for the "backend classes" 22:03:21 Adlai: what they really need is a specializer-precedence-list 22:03:46 SIkander: No. Oddly enough, all the real vectors (integer or float) take a double for the scalar. But the complex ones take a complex. 22:03:49 Adlai: yeah, so you can't even get to that point :) 22:03:58 LiamH: I understand 22:04:04 LiamH: Weird 22:04:12 Long live GSL consistency 22:04:21 Adlai: the entire existing method applicability and ordering machinery is inaccessible once you define a new type of specializer :( 22:04:31 Adlai: you wrote too much! I've had to read it all :( 22:04:34 I was going to ask the GSL list why this is, but then I figured, it is what it is, live with it. 22:04:36 you stole my time 22:04:37 -!- cvanduse` [n=user@12.185.80.194] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:04:38 rahul, well, let's see how SBCL handles it :) 22:04:56 LiamH: what? You're wondering why *complex* vectors are scaled by complexes? 22:05:00 LiamH: Wait, even the single-float vectors require a double-float scalar? That's also weird 22:05:01 pavelludiq [n=quassel@83.222.175.184] has joined #lisp 22:05:03 madnificent, to mine and sykopomp's great surprise, people actually showed some interest in Sheeple tonight 22:05:03 Adlai: you'll need to write a completely customized compute-applicable-methods 22:05:21 Adlai: sheeple is cool! I like it (but give me the mop) 22:05:28 pkhuong: I'm wondering why the scalars don't always match the element type of the vector. 22:05:50 Why do they have double float scalars for integer vectors? 22:06:02 madnificent, sykopomp has this crazy idea that Sheeple itself should work before we add a MOP to it. Isn't that silly? 22:06:03 also double-float for single-float vectors? 22:06:23 in case you have that combination of types 22:06:25 *sykopomp* froths at the mouth with insanity. 22:06:27 Adlai: MOP MOP MOP MOP MOP MOP MOP MOP 22:06:29 I blame Cthulhu. 22:06:40 Is this Sheeple thing going to replace CLOS at a certain moment? 22:06:47 LiamH: because it's useful to scale integers by fractional values before rounding/truncating. Doubles for single float vectors, both could be useful. 22:06:51 *Sikander* wonders if he has to jump on the bandwagon at a certain point 22:06:54 Sikander: no, it will not... but it is very nice to work in 22:07:00 Sikander: Yes. Prior to my lobbying to have them add complex scalar math, all scalars were always double floats, no matter what the array type. When they added the complex arrays, I thought the scalars would be double too, but I was wrong. 22:07:26 madnificent, watch it, that quote is going to be the next "I don't see why anybody would need more than 640kb of memory" 22:07:30 Sikander: Ideally, it wouldn't. I think they both have their place, and I use both. 22:07:31 madnificent: Maybe I should try it on a rainy day... 22:07:36 Sikander: personally, I find myself less troubled when writing code in it. You may like it because of what it is, but it probably won't fully replace CLOS any time soon 22:07:44 LiamH: only offering a real scale factor for complex vectors would be weird. 22:07:45 LiamH: ok. well, it works now :) 22:07:50 pkhuong: I guess I see the logic. 22:07:55 Sikander, you should be aware that Sheeple currently doesn't generate a lot of garbage 22:08:09 in the bad sense 22:08:13 ah 22:08:16 Adlai: cauch cauch 22:08:24 ie, if you use it wrong, you'll get a memory leak 22:08:28 like madnificent did 22:08:30 I understand 22:08:31 Sikander: Note my hackaround for GSL <1.12, because I am running Debian stable on most of my computers, with 1.11. 22:08:32 the current sheeple implementation is certainly not something I would recommend for very very serious code. 22:08:35 I would hope that an object system doesn't generate much garbage 22:08:39 it is not wrong! You had a mold leak! :P 22:08:52 was it black mold? 22:08:53 rahul: it keeps too many things around, is the problem. 22:09:02 rahul: hashtable mold! 22:09:03 LiamH: Yeah. I also saw you kept the insanely insane test function that I quickly pushed. 22:09:06 *Adlai* grumbles about sykopomp's dispatch cache 22:09:07 heh 22:09:22 that's why you don't use global hashtables for this stuff 22:09:26 Sikander: which is that? forward-backward-inverse? 22:09:28 one of the reasons I didn't use CLOS is that getting things to actually be garbage collected is a bit tricky when dispatch requires you keep stuff around. 22:09:30 rahul: the molds stay in a hash-table... that's where the space went :) 22:09:31 actually, that's why you use WEAK hashtables 22:09:41 OmniMancer [n=OmniManc@122-57-16-129.jetstream.xtra.co.nz] has joined #lisp 22:10:07 rahul: the current issue, apart from my own personal retardation with caching, is that it's tricky to figure out when molds are no longer useful. 22:10:28 sykopomp, it's not that hard 22:10:38 LiamH: test-fft-noise. It's a bit ugly, no? 22:10:39 Adlai: but we don't have it yet :P 22:10:47 sykopomp: when all their instances have been collected 22:11:02 rahul: basically, yeah, but that involves a lot of weak pointers :( 22:11:11 sykopomp: yep. 22:11:20 so it's a little nasty. 22:11:27 the issue is that we were trying to get a proof-of-concept implementation of molds, so we just hacked together a very rough prototype, and then we went all tag-happy and decided it was a release. 22:11:28 but certainly there on the drawing board... 22:11:51 Adlai: -you- wrote a prototype because I was too lazy, and then -I- went tag-happy because of the talk :P 22:11:51 Sikander: maybe, I think it's useful though. I think when I make tests, they will call test-*-fft-noise directly, so test-fft-noise is for users. 22:11:54 Adlai: which isn't too bad, as it made me feel comfortable enough to use it for some stuff 22:12:02 the nice thing is that all of a sudden people are complaining about our memory leaks, as opposed to just ignoring them \o/ 22:12:12 *madnificent* complains 22:12:17 a lot 22:12:28 LiamH: Ok, makes sense 22:12:33 madnificent, as you saw, it's actually possible to not trigger it at all if you don't make "infinite" dispatch hierarchies 22:12:55 actually, I don't complain that much... You're just too slow on implementing my whishes... I mean, 24 hours is more than enough to hack me a mop... cut me some slack dudes 22:12:56 infinite? 22:13:00 *rahul* 's head spins 22:13:11 Adlai: mine wasn't infinite... 22:13:27 LiamH: I also noticed that there's a lot of :stride stride in there. For the test functions it seems to be sufficient to make it the (only) optional argument. But that wouldn't be consistent. What do you think? 22:13:28 Sikander: I think I'll break out that hacked division-by-scalar into a separate function. It doesn't need to be that complicated (the else part of the if always works) but I want to keep it as a teaching tool. 22:13:35 Adlai: it created a tree when the algorithm ran, and threw the data away later :) 22:13:49 rahul, madnificent had some weird thingy where he was delegating repeatedly to delegated stuff or something 22:14:00 *Adlai* is trying to read Krystof's paper 22:14:03 Adlai: but the bug stayed afterwards too! 22:14:12 LiamH: Sounds good 22:14:16 Adlai: boggling how it's possible to specify that 22:14:17 madnificent, no she di'nt! 22:14:17 Sikander: I'm not sure, I can see advantages either way. I'm not that picky about API for test functions, they're sort of internal. 22:14:18 -!- dlowe [n=dlowe@ita4fw1.itasoftware.com] has quit ["Leaving."] 22:14:30 Adlai: wasn't madnificent's bug actually because of my retarded caching? 22:14:37 whenever you use defobject and throw the object away later, then you have some garbage... 22:14:42 sykopomp, no, it was because he was using defobject instead of clone 22:14:54 why the hell was defobject causing a leak? 22:14:56 LiamH: Ok, well, I'm not bothered by it either, really. It's just that noticed. 22:14:58 really it was because I haven't pulled create together yet 22:15:03 but I think madnificent isn't ready for create :P 22:15:17 ohhh, I get it. 22:15:23 Adlai: which is A) not necessarily bad, as it was semantically correct and B) the leak kept existing even _after_ I removed the needless defobjects 22:15:41 how did you remove them? 22:15:55 rahul: garbage collector came along 22:15:55 rahul: (setf *my-objects* nil) 22:15:57 ;D 22:16:05 LiamH: Something completely different: Is there a way to load/save arrays from/to ascii files? (Yes, amazingly, I want to use GSLL!) 22:16:10 who needs free when you've got NIL? 22:16:12 madnificent: garbage collecting doesn't delete all your functions or variables either 22:16:15 sykopomp: it's just the mold staying in memory, not that big :) 22:16:16 free()* 22:16:26 rahul: it should delete your objects though :) 22:16:27 madnificent: right. 22:16:30 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp 22:16:36 madnificent: defobject is like defclass 22:16:42 no it's not 22:16:43 madnificent: clone is like make-instance 22:16:48 conceptually 22:16:49 no it's not 22:16:51 :| 22:16:58 sykopomp: I'm not going to discuss create anymore before I've actively used it btw 22:17:01 rahul, have you looked at Sheeple yet? 22:17:05 LiamH: Currently, I have my own function that reads the file into a list of lists of floats, and passes that to make-marray... Don't know if that's the best way to do it though, and if you have something better. 22:17:11 doesn't defobject define a sort of named prototype? 22:17:19 no, that's defproto 22:17:23 defobject is crusty and horrible 22:17:24 oh 22:17:26 Sikander: No, not yet. My other project is a way to deal with arrays consistently (for multiple kinds of arrays), and eventually I hope it does read/write, but I don't have anything pushed yet. 22:17:26 (imo) 22:17:42 Sikander: That sounds good. 22:17:43 I can't even figure out where it would fit in the model of such a system 22:17:51 defobject creates an object that dispatches on certain other objects (which turns out to be really nice) 22:17:51 LiamH: So I will continue using my function until you pushed something. 22:17:55 and even defproto isn't as much like defclass as you claim: it really only just binds a regular object to a variable, and takes care of reinitializing it when you re-evaluate the form. 22:18:02 defproto is just sugar. 22:18:09 Sikander: Yes, that's a good idea. 22:18:15 sykopomp: that's basically what defclass does. 22:18:26 defobject, on the other hand, is just crud. 22:18:30 agreed 22:18:36 defobject is there because we don't have CREATE yet :\ 22:18:39 Sikander: There are GSL routines for reading and writing which are not ported, but I believe they are binary only. 22:18:42 sykopomp, yes! 22:18:52 *Adlai* goes back to reading the paper 22:18:56 *sykopomp* does, too. 22:19:05 Sikander: I wasn't sure how to access C streams through CFFI, or if there even was a way. 22:19:07 defobject allowed the routing system to get superflexible powers though 22:19:28 sykopomp: defclass binds an object to a name in the class namespace or reinitializes it if it already exists 22:19:38 LiamH: cffi fopen/fclose? Ugly... 22:19:58 Sikander: Exactly. 22:20:05 kpreid [n=kpreid@216-171-189-244.northland.net] has joined #lisp 22:20:11 LiamH: And it wouldn't work with the ubiquitous with-open-file 22:20:32 rahul: it binds a *class* 22:20:51 this deals with objects that are -no different- from all other objects. 22:20:51 LiamH: We could mimic the read/write functions, right? I mean, implement them directly into lisp... Not important now, but just hypothetically... 22:20:51 -!- dnolen [n=dnolen@pool-70-107-147-129.ny325.east.verizon.net] has quit [Read error: 110 (Connection timed out)] 22:20:58 sykopomp, a class is an instance of the metaobject class standard-class 22:21:01 dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has joined #lisp 22:21:04 Adlai: I am aware. 22:21:10 sykopomp: which is an object 22:21:16 Right. They have both binary and formatted forms; see http://www.gnu.org/software/gsl/manual/html_node/Reading-and-writing-vectors.html 22:21:19 Yes, but it's an object in a different sense. 22:21:20 the difference, imo, is that defproto doesn't make an instance of anything 22:21:22 while defclass does 22:21:29 sykopomp: so the type of object created is different, but it DOES the same thing, conceptually 22:21:36 -!- Paraselene__ [n=None@79-68-173-7.dynamic.dsl.as9105.com] has quit [Connection timed out] 22:21:39 is there a quick summary of why CLOS isn't good? 22:21:47 rahul: it does a -similar- thing. 22:21:50 Guthur: I think not 22:21:50 Guthur, no. 22:21:51 Adlai: defproto doesn't create any objects to store the information? 22:21:55 Guthur: no 22:21:55 clostrophobia 22:22:05 Guthur: CLOS is considered to be really really good, wrt class-based object systems 22:22:05 Sikander: The advantage of doing via GSL is that if you want to communicate values from a non-GSLL GSL application, you could use this. 22:22:07 LiamH: I remember. For me, though, binary is less interesting, since I obtain data from my experiments in a flat csv-type format. I also think it's nicer to keep the data readable 22:22:09 Adlai: defproto creates an object. 22:22:10 hehe to you mean it is a long summary 22:22:16 to/dp 22:22:18 do* 22:22:21 Adlai: if defproto doesn't do anything then it might as well not exist... 22:22:23 http://home.pipeline.com/~hbaker1/CLOStrophobia.html 22:22:30 rahul, Sheeple doesn't have such a concept as instantiation 22:22:30 rahul: perhaps it would be wise to use sheeple first, then share your insights? 22:22:55 Guthur: you could watch my hour-and-a-half-long talk on why I like Sheeple, though :P 22:23:04 Sikander: Indeed. Recalling the old Fortran style of programming, you used binary for two reasons: save space, and to insure you got the *exact* number back the same, with out read/write rounding errors. 22:23:05 Adlai: that is irrelevant 22:23:05 LiamH: I see, that's true. But I guess you could get the magic via cffi, and then just binary write it with lisp routines, right? I mean, the file format would be the same 22:23:12 Adlai: you're saying that it allocates no memory... 22:23:15 although claiming that CLOS isn't good would be wrong, imo :) 22:23:21 objectively (ohohoho) 22:23:24 sykopomp: might do actually] 22:23:39 -!- kpreid [n=kpreid@216-171-189-244.northland.net] has quit [Client Quit] 22:23:45 rahul, ok, we're misunderstanding eachother. I'm just referring to the fact that Sheeple doesn't have the class/instance distinction. 22:23:49 Sikander: I think so. In an early incarnation of GSLL, I tried to port the read/write routines, but I never tested them. 22:23:56 amaron [n=amaron@cable-89-216-181-46.dynamic.sbb.rs] has joined #lisp 22:24:07 Adlai: of course, that's the point 22:24:25 LiamH: Binary format is nice when doing simulations and so on, and staying within one program/library. But not when you want to share data with others that use less intelligent programs *cough*excel*cough* 22:24:32 Sikander: but I dropped that when I rewrote all the array support, figuring it needed to be better thought out if I was going to port it at all. 22:24:45 Adlai: but you have things that act kind of like classes in that they are associated with a name and get updated when they are redefined 22:24:58 Adlai: so defproto is your analog of defclass 22:25:11 Sikander: Oh, no question, text is much better for most purposes, but I do see the advantage of binary in some cases. 22:25:35 LiamH: Well, at least I can read/write the marrays with my own (slow?) functions as flat ascii. Next, plotting, if I can ever get gtkairo to do my bidding... 22:25:43 Heh. Excel. One of the applications known to express phone numbers in terms of a base and exponent. 22:25:48 rahul, overall, yes, it's similar 22:25:49 Sikander: how do you write files from within lisp that look acceptable in Excel? 22:26:13 madnificent: CSV files, of course. 22:26:15 Sikander: Ah yes, plotting, the other great scientific programming task. 22:26:17 disclaimer: I do NOT use excell 22:26:24 excel does not read CSV files well 22:26:35 *LiamH* uses gnumeric, but not for sci/eng stuff 22:26:38 Just one space separated 22:26:38 it messes them up a lot 22:26:44 you can have (defobject (some-object =some-proto=) ...) though... which expresses how similar classes and prototypes are 22:26:45 *Sikander* uses gnuplot 22:27:00 nyef, just recently it stored bank account numbers in float. they were... about right. 22:27:07 for us, that is 22:27:09 nyef: it doesn't always automatically read that correctly :) 22:27:10 gnuplot, gnu plotutils, ... so many three-quarters useful packages 22:27:21 LiamH: I want to write an mcclim plotting program, with clickable objects. Have some of it working already, but can't rotate text on the y-axis (d'oh!) 22:27:30 attila_lendvai: you should see what it does to CUSIPs 22:27:41 attila_lendvai: Yeah, a couple years ago I had to deal with someone storing credit card numbers in excel. 22:27:49 Sikander: do you know about scigraph? 22:27:56 dnolen [n=dnolen@pool-70-107-155-144.ny325.east.verizon.net] has joined #lisp 22:28:01 LiamH: Yes, never got it to compile 22:28:14 *madnificent* goes to bed 22:28:22 Sikander: Rats, that was one of the things I wanted to look at. 22:28:24 Ended up having to dump the information from excel to csv, then use a perl script to line it up with the master card transaction data from the website... 22:28:31 you import a CSV file with "0533E10" and you end up with 533000000 22:28:36 LiamH: My grand master plan is to make an mcclim plotting package, that can export to TikZ (-> TikZ backend for mcclim) 22:28:52 and yes, the quotes ARE in the CSV file 22:29:00 LiamH: Please look at it anyway, if you get it to compile you can tell me how :) 22:29:02 well, we just sent some exports after we changed the internal representation of the account numbers (so the export didn't contain the '-' chars). but the money transfer was almost based on that... 22:29:02 Sikander: Oooh, sign me up! I just discovered TikZ, and wanted that as a backend. 22:29:03 you need to actually quote the value twice for excel to respect the quoting 22:29:16 TikZ rocks 22:29:20 LiamH: can you explain why text would be much better as a format as opposed to a well specified binary format? 22:29:40 Sikander: Yes, but it's hard to program. 22:29:53 hypno: so dumb perl programmers can use your files :) 22:29:53 hypno: portability, human-readability 22:30:10 rahul: or spreadsheet users... 22:30:21 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 22:30:21 How cool would it be to make a plot within mcclim with interactor and mouse, and eventually dump the whole thing to TikZ, straight into your next Nature paper? ;) 22:30:23 -!- Vonunov [n=jack@99-58-1-192.lightspeed.rcsntx.sbcglobal.net] has quit [Read error: 145 (Connection timed out)] 22:30:27 rahul: It's hard to really highlight the differences because of how similar a lot of sheeple is. 22:30:29 LiamH: spreadsheet users will have their files mangled beyond recognition either way 22:30:30 rahul: heh, probably. :) 22:30:53 I vote human readability, grep/awk/sedability 22:30:54 in essence, while defclass is a -critical- part of CLOS, defproto is reduced to a simple convenience wrapper. Sheeple didn't have defproto for quite a while. 22:30:55 Sikander: That's EXACTLY what I want. When will it be ready please? 22:31:02 (or is it sedibility?) 22:31:05 sykopomp: correct 22:31:22 sykopomp: it's mostly a convenience so that when thinking in classes makes sense, you can emulate that 22:31:31 exactly 22:31:33 LiamH: :( I need to get gtkairo working, and then make a tikz backend... This will take... some time... 22:31:46 and in reality, you end up using that 'pattern' a lot when you code prototype-based stuff. 22:31:57 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has quit ["Leaving."] 22:32:05 Sikander: Of course. 22:32:10 *LiamH* waits patiently 22:32:22 sykopomp: yes, because a little consistency makes coding easier :) 22:32:28 On the topic of the gtkairo backend for mcclim, is this currently being maintained by someone? 22:32:43 LiamH: I'm glad that my insane pet projects are not that insane :) 22:32:54 Sikander: are you on the mcclim mailing list? 22:32:56 Or at least, that there are others that are interested 22:32:58 LiamH: Yes 22:33:12 rahul: http://github.com/sykopomp/until-it-dies This is a full-fledged Sheeple app. You could basically translate most of that stuff to classes. 22:33:23 but it was quite nice, particularly while developing it, for them to be prototypes. 22:33:28 mcclim for the win, regardless of what kenny says... 22:33:30 I've weakly followed the discussions, and have the vague impression that gtkairo is not really being pursued. 22:33:42 Yes, that's what I thought. 22:33:56 Sikander: you can now use a cells-like thing in mcclim :) 22:33:58 Cairo has some awesome drawing capabilities, though, and great backends as well 22:34:00 Maybe beach knows? 22:34:01 formulate.clim-ui 22:34:12 rahul: Insane! I'll have a look! 22:34:21 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 22:34:44 Sikander: :ext:common-lisp.net/project/rjain-utils/cvsroot module formulate 22:34:46 I see a copy-list function. Is there a copy-hash function? 22:35:17 superjoe: there is in alexandria 22:35:24 hmm ok 22:35:31 LiamH: Probably... I promised beach also that I would work on a curses backend for mcclim. Since I want it as well, and since I want to dive into backends as well, I figured what the hell 22:35:31 can you copy-hash portably? 22:35:43 I don't know that there's an accessor to tell you the equality predicate 22:35:49 hash-table-test 22:35:56 oh ok :) 22:35:58 LiamH: So you see, my projects list is getting very long... 22:36:06 it won't obviously implementation-dependent properties 22:36:07 Sikander: Neat. You are very ambitious, which I applaud. 22:36:09 +copy 22:36:17 sure, like weakness 22:36:31 *Sikander* just keeps quiet about his ideas of a vi implemented in CL. 22:36:53 Sikander: as long as it gets VI naysayers to shut up about SLIME. 22:37:01 s/VI/vi/ 22:37:18 sykopomp: vi with slime, wouldn't that be awesome? 22:37:26 heheh 22:37:30 only in the sense that it would shut people up :) 22:37:33 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 22:37:35 hahah 22:37:52 *rahul* points at his ideas for CLIM command-keybiding-multiple-inheritance 22:38:03 ruediger [n=quassel@213-33-31-42.adsl.highway.telekom.at] has joined #lisp 22:38:25 rahul: Could you write an asdf:who-depends-on? 22:38:47 *nyef* suggests, in jest, asdf:who-cares? 22:38:51 heh 22:38:57 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 22:39:04 nyef: that could list the current people who have asdf-installed the package :P 22:39:17 tcr: it might be tricky... 22:39:31 That's why I asked you! 22:39:43 you'd have to look at methods on ASDF:PERFORM 22:39:50 -!- Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Read error: 113 (No route to host)] 22:39:55 as well as ASDF:IN-ORDER-TO 22:41:23 http://common-lisp.net/cgi-bin/viewcvs.cgi/CLIM-extensions/generic-commands/classes.lisp?rev=1.1.1.1&root=rjain-utils&view=auto 22:41:24 -!- emacspha` [n=user@plmomi-l10-340.dsl.tds.net] has quit [Read error: 54 (Connection reset by peer)] 22:41:24 -!- grouzen [n=grouzen@91.214.124.2] has quit [Read error: 104 (Connection reset by peer)] 22:41:37 that file is the superset of vi and emacs commands for clim 22:42:27 unholy mother of god 22:42:29 ayrnieu [n=_ayrnieu@69.171.164.17] has joined #lisp 22:42:30 what IS that code 22:42:51 (defmethod compute-args ((command generic-command)) 22:42:54 yikes. 22:43:03 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 22:43:19 Let's hope you learned better meanwhile :-) 22:43:54 -!- joga [i=joga@unaffiliated/joga] has quit [Remote closed the connection] 22:44:11 oh, it's probably not bad, just not abstracted too well 22:45:01 the idea for making vi and emacs the same is that you have modes in vi and multi-key sequences in emacs 22:45:23 a "mode" in emacs would be locking down the beginning of a multi-key sequence 22:45:39 like a C-c lock comparable to caps lock 22:45:57 cmm [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has joined #lisp 22:46:17 and there we go. the GUT of text editors. vi and emacs are just different sides of the same coin. 22:46:32 -!- Guest35829 [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has quit [Read error: 104 (Connection reset by peer)] 22:46:38 no questions please. I'll be available for autographs at the table by the wine. 22:46:51 rahul: is there a demo somewhere for formulate.clim-ui? 22:47:04 grouzen [n=grouzen@91.214.124.2] has joined #lisp 22:47:22 Sikander: in the examples, there are some defclass forms you can eval before running the UI 22:47:33 and you can instantiate them when you get into the UI 22:47:55 -!- Sumpen [n=Sumpen@78-72-33-106-no46.tbcn.telia.com] has quit [Client Quit] 22:47:56 http://common-lisp.net/project/rjain-utils/formulate.png 22:48:32 rahul: I'd suggest trying to unify both vi modes and emacs hand destruction into 'gestures'. 22:48:41 rahul: I see, thanks 22:49:02 Zhivago: gestures that can be composed 22:49:07 -!- kejsaren1 [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 22:49:22 Sure, gestures normally are. 22:49:25 Zhivago: in fact my generic-commands have a full inheritance tree 22:49:40 both the functionality and keystroke fragments are inherited 22:49:41 -!- acrid [n=mckay@204.126.146.202] has quit ["leaving"] 22:50:04 so the idea is that you can combine move-forward and sexp-movement into move-forward-sexp 22:50:20 LiamH: regarding the fft's, what do you need me to work on? 22:50:24 the C-f of move-forward combines with the M- of sexp-movement to give C-M-f 22:50:58 -!- nha [n=prefect@31-174.4-85.fix.bluewin.ch] has quit [Remote closed the connection] 22:51:04 or in vi fashion, the l of move-forward combines with the M- (or C-... whatever you want to assign) of sexp-movement to give M-l 22:51:10 Sikander: Nothing, I just need to generate tests. Then I'll want your comment. 22:51:27 Well, as in vi fashion, you'd want the reverse -- 'sexp' and 'move forward'. 22:51:36 -!- knobo [n=user@ti100710a080-1351.bb.online.no] has quit [Read error: 60 (Operation timed out)] 22:51:36 Sikander: and I want to look at the non-noise tests as well; how hard would those be to port? 22:51:39 LiamH: Ok, so you will be implementing the other tests? 22:51:50 LiamH: I don't think they are hard at all. 22:52:11 Sikander: I'll take a crack at it, then you can take a look at it. 22:52:13 Zhivago: either way, they are both considered fragments and are combined 22:52:36 Sikander: or if you want to do it, by all means go ahead 22:52:37 Well, the trick with fragments is working out when they're actionable. 22:52:37 of course, sometimes you get conflicts and incompatbility, which needs to be detected dynamically 22:53:01 Which is why you have c and C in vi for change. 22:53:43 -!- mrSpec [n=Spec@unaffiliated/mrspec] has quit [] 22:54:02 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 22:54:13 LiamH: If I look in test.c, I only see the functions that do real, complex radix2 and non-radix2 noise tests, as well as the bit-reverse test. If I understand correctly, that's actually the only one we haven't implemented yet, is that correct? 22:54:42 I thought there was at least a pulse test? 22:54:44 Zhivago: I would compute the entire table ahead of time and create a normal keystroke mappings 22:55:01 schoppen2auer [n=css@unaffiliated/schoppenhauer] has joined #lisp 22:55:28 Oh, wait, there's also a trap test or something... is that the one you mean? 22:55:36 Zhivago: since only certain combinations make sense... movement commands (udlr) have to combine with a movement space (expr, char, word) 22:55:47 anyway, I need to get ready to go 22:56:07 later. good discussions, all. 22:56:16 Sikander: I don't have my expanded source on this computer, so I'm going from memory, but I thought they had a pulse test in there. 22:56:23 LiamH: in main, I see two loops (one dealing with radix2 and one with non-radix2), and two calls to test_trap 22:56:32 -!- demmeln [n=Adium@dslb-094-216-199-227.pools.arcor-ip.net] has quit ["Leaving."] 22:56:38 LiamH: Ok, for some reason, I don't see it in the main function of test.c 22:56:47 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 22:58:44 -!- lhz [n=shrekz@c-b9aa72d5.021-158-73746f34.cust.bredbandsbolaget.se] has quit ["Leaving"] 22:58:45 LiamH: Don't worry, I'll find some way to entertain myself (like with the test_trap function). 22:59:32 -!- kami [n=user@unaffiliated/kami-] has quit [sendak.freenode.net irc.freenode.net] 23:00:46 gruseom [n=daniel@S0106001217057777.cg.shawcable.net] has joined #lisp 23:00:59 -!- HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit ["This computer has gone to sleep"] 23:01:57 Sikander: OK, I can find it when I get home, but I think you'll be in bed by then (in a couple hours). If I find it, I'll leave a memo. 23:02:52 kami [n=user@unaffiliated/kami-] has joined #lisp 23:03:18 LiamH: Ok, thanks 23:03:40 LiamH: I think I'm actually turning in early today (it's midnight now). 23:03:47 Good (late) evening. 23:04:06 Sikander: OK. 23:04:21 Hmm... Ideal time to ask about gtkairo...? 23:04:30 beach: Is there someone working on gtkairo backend? 23:04:33 I am now convinded that flyspell mode has some quadratic algorithm in it. 23:04:51 Sikander: Not that I know of. 23:05:10 beach: Is that because the current backend is considered to work? (It doesn't for me...) 23:05:13 Sikander: The task is all yours! 23:05:17 D'oh! 23:05:41 ... nuts? 23:05:47 Hmmm... 23:05:49 Donuts... 23:05:52 Sikander: No, that is probably more likely because the person who worked on it moved on to something else. 23:06:18 So now I get to fix the gtkairo backend, AND write an ncurses and TikZ backend... :( 23:06:31 Sikander: Take over if you feel like you want to. This is what free software is about! 23:06:38 :( 23:06:47 Sikander: this is your opportunity to achieve CLIM fame and stardom! 23:07:00 *beach* agrees 23:07:10 the adoring masses await your pronouncements (and code)! 23:07:12 starting a backend from scratch may be less trouble than fixing the complicated gtk/cairo backend 23:07:33 I mean, the ncurses and TikZ backends 23:07:43 not starting gtkairo from scratch of course... 23:07:49 the TikZ backend sounds good too, and still confers CLIM fame 23:07:52 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit ["Verlassend"] 23:07:55 But... you don't start a backend from scratch, you start it from an existing backend. 23:07:56 -!- schoppen2auer [n=css@unaffiliated/schoppenhauer] has quit ["Verlassend"] 23:07:58 Sikander: If you think that will yield a better result, go ahead! 23:08:10 nyef: Yeah, I start from Null or so :) 23:08:22 ugh... 23:08:34 *Sikander* cowers in the face of the tasks that lie ahead. 23:09:17 Ok, that's what I needed to know before turning in. Thanks 23:09:18 Sikander: you weren't wanting to, like, get a degree or anything, were you? 23:09:34 LiamH: Luckily, I have my degree :) 23:09:37 -!- davazp [n=user@156.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 23:09:39 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 23:09:44 LiamH: I'm just struggling to get tenure or so 23:10:01 Sikander: Oh good, then plenty of time to work on free software! 23:10:11 Hahaha! 23:10:42 Well, if it serves a purpose like making nice plots for papers, while having barrels of fun coding, why not... 23:11:22 -!- morphling [n=stefan@gssn-5f7577b7.pool.mediaWays.net] has quit [Remote closed the connection] 23:11:31 nyef: Aside from Null, what would you consider a good backend to start writing from? 23:11:33 Sikander: Exactly. 23:11:36 emacsphan [n=user@plmomi-l10-340.dsl.tds.net] has joined #lisp 23:11:49 I wanted to write the TikZ backend starting from the postscript one. But that directory seems empty! 23:12:01 -!- saikatc [n=saikatc@98.210.192.23] has quit [Read error: 131 (Connection reset by peer)] 23:12:39 Oh, wait, d'oh, why is there a postscript and PostScript directory? 23:12:52 *Sikander* hates camel-case so much, he doesn't even see it any more. 23:13:11 saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has joined #lisp 23:13:12 *Sikander* has some problems with python code because of that... 23:14:03 Sikander: I used a program written for the Lisp machine that was kind of similar to what (I think) scigraph does. It was really nice, written by a coworker but never distributed. To the extent that Dynamic Windows is similar to CLIM, it might have some useful ideas if I can retrieve the source. 23:14:57 LiamH: Sounds interesting. If you find it, and I can have a look at the ideas/code, that would be great. 23:15:11 could someone who uses abbrev mode in Emacs share their lisp-mode abbrevs? I would like some inspiration in defining my own 23:15:16 if scigraph does not work with McCLIM, then it should be fixed 23:15:26 I think I tried it once and it worked for me 23:15:35 Sikander: It dates from the early 90s, so I'm not sure the archives are still around 23:15:44 I never got it to compile and run the demo even 23:15:47 -!- amaron [n=amaron@cable-89-216-181-46.dynamic.sbb.rs] has quit [Read error: 145 (Connection timed out)] 23:16:05 Sikander, that's bit rot 23:16:14 I know 23:16:23 maybe some McCLIM wizard can help to get it going again 23:16:26 It also seems rather extensive 23:16:44 the main problem is that Scigraph uses a compatibility layer 23:16:47 (not the bit rot, scigraph itself) 23:17:06 -!- segv [n=mb@p4FC1C5E6.dip.t-dialin.net] has quit [] 23:17:11 I've once removed much from CLIM 1 and DW support from Scigrpah 23:17:15 Scigraph 23:17:17 Instead of going through all that, I thought to simply "roll my own" 23:17:36 and made it working on Genera & CLIM 23:17:37 -!- legumbre_ is now known as legumbre 23:17:40 I mean... 23:17:46 Famous last words: How hard can it be? 23:17:47 CLIM 2 23:17:47 Sorry, I couldn't find anything for 2. 23:18:03 lispm: Do you have code somewhere? 23:18:14 on my Lisp Machine 23:18:20 ;-) 23:18:24 o_O 23:18:36 All the cool kids have lisp machines! 23:18:47 not all 23:19:08 Is that right reserved for the lisp gods? 23:19:25 for old bearded hackers 23:19:48 the McCLIM scigraph had already changes for McCLIM 23:19:54 which my version does not have 23:20:04 *nyef* never had a lisp machine, but has a machine that runs lisp and an emulator that simulates lisp machine hardware. 23:20:19 nyef: 50% 23:20:22 dreish [n=dreish@minus.dreish.org] has joined #lisp 23:20:36 ? 23:20:52 that's about 50% of a real machine 23:20:55 Do you know how you got scigraph working under McCLIM recently? 23:20:57 Ah. 23:21:18 And are these brave attempts chronicled somewhere? 23:21:35 Sikander, it was months ago, I don't even have a recent McCLIM now 23:21:55 Ok, I just did what the readme told me to 23:21:57 Sikander, would you be interested to use my, half cleaned up version of Scigraph 23:22:15 I'd definately would like to have a look 23:22:50 (that was a weird sentence) 23:22:56 I can see in the next days what I have 23:23:23 I can send you a link then - mail? 23:23:40 soemraws@xs4all.nl 23:24:18 okay noted 23:24:21 Encouragement for my attempts at achieving McCLIM stardom are also appreciated ;) 23:24:45 -!- varjag [n=eugene@103.80-202-117.nextgentel.com] has quit ["Leaving"] 23:24:50 Ok, thanks 23:25:01 what attempts? 23:25:08 Go, Sikander, go! 23:25:10 Exactly :( 23:25:45 lispm: there was talk of an ncurses and TikZ backend, as well as cleaning up the gtkairo backend... 23:25:57 heroic 23:26:06 what is TikZ ? 23:26:10 Undoubtedly, I will fail miserably 23:26:18 but learn a lot 23:26:18 TikZ ist kein Zeichenprogram 23:26:27 aha 23:26:30 ziga`` [n=user@BSN-143-132-73.dial-up.dsl.siol.net] has joined #lisp 23:26:33 It's not a drawing program for LaTeX 23:26:37 nice acronym 23:26:50 -!- prip [n=_prip@host135-123-dynamic.36-79-r.retail.telecomitalia.it] has quit [Read error: 110 (Connection timed out)] 23:26:50 it's basically what pstricks should have been 23:26:58 pstricks? 23:27:05 Dude! LaTeX? 23:27:27 Drawing fancy stuff in LaTeX! 23:28:14 http://www.texample.net/tikz/examples/ 23:28:47 Anyway, if I am to attempt all this, I need to get some sleep first... 23:28:52 Goodnight! 23:28:57 jesus 23:29:03 where? 23:29:05 graphics \draw 23:29:18 Well, ok, goodnight 23:29:21 -!- Sikander [n=soemraws@oemrawsingh.xs4all.nl] has quit ["Time to sleep"] 23:29:55 -!- francogrex [n=user@38.36-244-81.adsl-dyn.isp.belgacom.be] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 23:30:48 boy, my Scigraph code looks unfinished 23:30:48 Sikander will have fun 23:31:36 but the present.lisp file went down from 33kbytes to 18.9kbytes 23:32:31 minion: scigraph? 23:32:32 Sorry, I couldn't find anything in the database for ``scigraph''. 23:32:59 lispm: any chance that's in a repository somewhere? 23:33:16 http://lispm.dyndns.org/lisp/pics/scigraph.jpg 23:33:30 serichsen, scigraph in MCL CLIM 23:33:49 LiamH not yet, but Sikander offered to have a look at the code 23:34:20 lispm: Right, if he starts making changes, it would be good to keep the history. 23:34:23 I just tried to make Scigraph going in CLIM on my Lisp Machine, and tried to remove the old Dynamic Windows support 23:34:48 lispm: that's interesting screen shot, what is the backend? 23:35:07 Macintosh Common Lisp with the commercial CLIM 23:35:24 ah, commercial CLIM 23:35:51 how does this compare with gnuplot? 23:36:12 serichsen, it is written in Lisp and you can click on things 23:36:31 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp 23:36:55 I should have done more on my Lispm version, though 23:36:59 ah, so you can do some analysis too? 23:37:10 interactive analysis even 23:37:11 you see the menu? 23:37:26 you can zoom, annotate, lookup the data, etc 23:37:27 yeah 23:38:01 all the dots and lines are presentations 23:38:09 can you export images with scientific formulae? 23:38:32 export to what? 23:38:46 any image format 23:39:10 well, CLIM can generate postscript 23:39:50 but I guess one has to write the export code... 23:42:21 -!- saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has quit [] 23:42:28 -!- ziga` [n=user@89.142.60.139] has quit [Read error: 110 (Connection timed out)] 23:43:21 redblue [i=star@ppp103.108-253-207.mtl.mt.videotron.ca] has joined #lisp 23:43:29 this looks interesting 23:46:03 what? 23:46:19 dreish_ [n=dreish@minus.dreish.org] has joined #lisp 23:48:02 dwim is loaded 23:49:15 -!- tcr [n=tcr@host146.natpool.mwn.de] has quit ["Leaving."] 23:49:19 -!- dreish [n=dreish@minus.dreish.org] has quit [Read error: 110 (Connection timed out)] 23:49:29 -!- johnthesavage [n=jahnthes@cpe-76-180-175-226.buffalo.res.rr.com] has quit [] 23:49:31 hey, there is a (save-sample-graph) in "running the demo", which writes to a postscript file 23:50:27 -!- carlocci [n=nes@93.37.213.226] has quit ["eventually IE will rot and die"] 23:52:07 -!- spacebat_ [n=akhasha@ppp118-210-221-199.lns20.adl6.internode.on.net] has quit [Read error: 60 (Operation timed out)] 23:52:49 spacebat [n=akhasha@ppp118-210-65-236.lns20.adl2.internode.on.net] has joined #lisp 23:53:01 ok 23:53:17 it loads on the Lispm 23:55:18 I'm just dreaming of writing plot "scripts" in Lisp instead of the inane gnuplot syntax 23:56:28 serichsen: Doesn't that just call for an arbitrary-lispy-syntax to gnuplot compiler? 23:57:21 jmbr_ [n=jmbr@214.33.220.87.dynamic.jazztel.es] has joined #lisp 23:58:09 nyef: well, there are some more things I'd like to teach gnuplot 23:58:13 serichsen: you may be interested in vecto 23:58:25 -!- Xof [n=crhodes@158.223.51.79] has quit [sendak.freenode.net irc.freenode.net] 23:58:25 -!- Madsy [n=Madsy@fu/coder/madsy] has quit [sendak.freenode.net irc.freenode.net] 23:58:25 -!- _deepfire [n=deepfire@80.92.100.69] has quit [sendak.freenode.net irc.freenode.net] 23:58:28 minion: vecto? 23:58:29 vecto: Vecto is a graphics library that uses cl-vectors and ZPNG to draw vector graphics to PNG files. http://www.cliki.net/vecto 23:58:41 -!- jmbr [n=jmbr@214.33.220.87.dynamic.jazztel.es] has quit [Read error: 104 (Connection reset by peer)] 23:59:54 http://lispm.dyndns.org/lisp/pics/lispm-clim-scigraph-1.png