00:00:05 Well, no not the body. 00:00:28 sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has joined #lisp 00:00:30 ((lambda (&whole w a1 a2) w) 1 2) --> (nil 1 2) 00:00:48 (defun f (&whole w a1 a2) w) (f 1 2) --> (f 1 2) 00:00:55 could be useful. 00:01:05 -!- sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has quit [Remote host closed the connection] 00:01:21 Actually, I don't think so ;P 00:01:29 stassats: now, write a CDR. 00:01:40 i'd rather take (1 2) 00:01:46 -!- BrianRice [~water@c-98-246-165-205.hsd1.or.comcast.net] has quit [Quit: BrianRice] 00:01:49 Hexstream: it would allow people to get the name of the function, it's often asked for. 00:01:58 but, that'd be inconsistent 00:02:08 It's consistent with &whole in macros. 00:02:12 pjb: "it's often asked for" doesn't always equal "it would be useful". 00:02:41 It's foolishly consistent with &whole in macros. 00:02:49 what's with (funcall 'foo 1 2)? 00:02:56 Then don't call it &whole. 00:03:00 &tail. 00:03:03 &all-arguments 00:03:17 &entire 00:03:18 But you could use that anywhere in the lambda list. 00:04:20 is there a free blog site in lisp? 00:04:34 powered by hunch ro soemsuch? 00:05:28 -!- elliottcable is now known as ec|jaculated 00:05:30 pnq [~nick@ACA2478C.ipt.aol.com] has joined #lisp 00:05:33 -!- ec|jaculated is now known as elliottcable 00:06:07 elliottcable: That sounds like "ejected"... Just sayin'. 00:06:10 -!- borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has quit [Read error: Connection reset by peer] 00:06:30 can I collect values into two separate lists within the same loop, and then finally return (values list1 list2)? something like "collect x into list1" 00:06:40 yes 00:06:59 -!- cheezus [~Adium@76-10-136-155.dsl.teksavvy.com] has quit [Quit: Leaving.] 00:07:01 mind giving me the syntax? 00:07:06 (loop collect a into as collect b into bs finally (return (values as bs))) 00:07:12 beelike: collect x into list 1 00:07:14 all kinda haskell web frameworks busting out 00:07:16 -!- billitch [~billitch@87-231-48-244.rev.numericable.fr] has quit [Ping timeout: 264 seconds] 00:07:20 s/list 1/list1/ 00:07:29 oh gods my detached name is still ejaculated 00:07:37 damnit, IRC hijinks 00:07:51 i tried exactly that, must have had an error elsewhere 00:08:09 sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has joined #lisp 00:08:15 beelike: Well, likely you'll need a FOR clause first. 00:10:46 -!- pdelgallego_ [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Read error: Operation timed out] 00:10:51 (loop for number from 1 to 3 collect number into numbers collect (- number) into negative-numbers finally (return (values numbers negative-numbers))) 00:11:41 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Ping timeout: 258 seconds] 00:11:56 -!- ramus [~ramus@adsl-99-23-146-93.dsl.chcgil.sbcglobal.net] has quit [Read error: Operation timed out] 00:12:22 -!- sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has quit [Ping timeout: 246 seconds] 00:12:48 -!- Euthydemus [~euthydemu@vaxjo3.208.cust.blixtvik.net] has quit [Quit: leaving] 00:13:27 I'm considering (multiple-value-map 'mapcar (lambda (number) (values number (- number))) '(1 2 3)) as a replacement ;) 00:13:30 ramus [~ramus@adsl-108-76-77-177.dsl.chcgil.sbcglobal.net] has joined #lisp 00:13:47 -!- Nshag [~none@AClermont-Ferrand-551-1-76-211.w92-143.abo.wanadoo.fr] has quit [Read error: Connection reset by peer] 00:14:15 I mean: (multiple-value-map 2 'mapcar (lambda (number) (values number (- number))) '(1 2 3)) 00:14:30 i had error elsewhere, no idea where. works great now. :) (loop for c across "abcd1234" if (digit-char-p c) collect c into digits else collect c into other finally (return (list digits other))) 00:15:00 rukubites [~rukubites@d211-30-65-14.meb9.vic.optusnet.com.au] has joined #lisp 00:15:02 where is partition when you need it? 00:15:09 why alexandria has no partition function? 00:15:22 *stassats* had to write his own today 00:15:30 beelike: You could even have the actual numbers by using the value returned by DIGIT-CHAR-P. 00:15:44 Euthydemus [~euthydemu@vaxjo3.208.cust.blixtvik.net] has joined #lisp 00:16:15 -!- Euthydemus [~euthydemu@vaxjo3.208.cust.blixtvik.net] has quit [Read error: Connection reset by peer] 00:17:18 Euthydemus [~euthydemu@vaxjo3.208.cust.blixtvik.net] has joined #lisp 00:17:49 stassats: (ql:global-apropos "partition") 00:18:05 Hexstream: (pipes (let* ((x (from-list '(1 2 3))) (_ y (to-list x)) (_ z (to-list (- x))))) (values y z)) 00:18:05 Hexstream i'm not sure how? 00:18:10 but i don't use quicklisp! 00:18:30 stassats: good, because that doesn't work yet :( 00:18:32 beelike: (loop for c across "abcd1234" if (digit-char-p c) collect it into digits else collect c into other finally (return (list digits other))) 00:18:34 beelike: multiple-value-map doesn't exist yet, if that's what you're asking... 00:18:46 => ((1 2 3 4) (#\a #\b #\c #\d)) 00:18:58 sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has joined #lisp 00:19:09 -!- Euthydemus [~euthydemu@vaxjo3.208.cust.blixtvik.net] has quit [Read error: Connection reset by peer] 00:19:10 and i don't trust anything besides alexandria 00:19:15 wait, how did you do that? 00:19:30 "anaphora". I really hate that kind of thing personally... 00:19:49 BrianRice [~water@c-98-246-165-205.hsd1.or.comcast.net] has joined #lisp 00:19:49 beelike: i replaced C after the first collect by IT 00:20:03 In LOOP, IT refers to the value of the test of the last conditional, basically. 00:20:08 Hexstream: it's there, let's use it and abuse it! 00:20:24 xinming_ [~hyy@115.221.14.140] has joined #lisp 00:21:12 ah, had no idea IT even exists. 00:21:24 (awhen anaphora (use it)) 00:21:48 It's a relatively obscure feature, I think. You really have to know it exists to know it exists, you wouldn't divine its existence... 00:22:17 Euthydemus [~euthydemu@vaxjo3.208.cust.blixtvik.net] has joined #lisp 00:22:18 -!- xinming [~hyy@115.221.13.78] has quit [Ping timeout: 240 seconds] 00:22:30 -!- pirxs [~pirx@195.225.69.9] has quit [Quit: Konversation terminated!] 00:22:33 -!- rukubites [~rukubites@d211-30-65-14.meb9.vic.optusnet.com.au] has quit [Quit: Colloquy for iPhone - http://colloquy.mobi] 00:22:34 well, yes, you wouldn't know loop without knowing loop 00:22:44 pirxs [~pirx@195.225.69.9] has joined #lisp 00:23:53 stassats: I mean, there are lots of questions newbies ask of LOOP, "Isn't there a way to do X and Y", and it turns out there is. But I don't imagine someone would come asking: "Isn't there a way to refer to the value of a LOOP test without having to save it explicitly into a variable first?" 00:24:45 their loss! 00:25:03 drl [~lat@110.139.230.142] has joined #lisp 00:25:17 georgek [~george@184-77-70-234.war.clearwire-wmx.net] has joined #lisp 00:25:19 -!- gffa [~gffa@unaffiliated/gffa] has quit [Quit: sleep] 00:25:31 You better enjoy LOOP while you still can!! ;P 00:26:09 -!- SegFaultAX [~mkbernard@209.119.73.178] has quit [Quit: leaving] 00:26:15 -!- peddie [~peddie@18.181.2.107] has quit [Ping timeout: 258 seconds] 00:26:53 -!- Euthydemus [~euthydemu@vaxjo3.208.cust.blixtvik.net] has quit [Ping timeout: 252 seconds] 00:27:18 Euthydemus [~euthydemu@87.96.150.208] has joined #lisp 00:28:53 -!- sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has quit [Ping timeout: 276 seconds] 00:29:01 -!- urandom__ [~user@84.138.111.186] has quit [Remote host closed the connection] 00:29:16 sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has joined #lisp 00:29:36 -!- pirxs [~pirx@195.225.69.9] has quit [Remote host closed the connection] 00:30:26 -!- Euthydemus [~euthydemu@87.96.150.208] has quit [Client Quit] 00:31:01 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 00:31:43 Anyone using conditions extensively for things other than error handling? One flash I had recently, not sure how well that would work, but this would make for a freakishly flexible event-based code-walker, right? Your walker just throws tons of conditions about everything like before it visits a node, while visiting the node, and after it visits the node... And you could have a restart to tell the walker not to descend anymore on 00:32:44 I most recently used non-error conditions to implement the progress bar in Quicklisp's HTTP client. 00:33:28 Cool! Makes sense :) 00:33:32 Xach: were you just teasing or is there really a ql:global-apropos ? 00:33:40 zomgbie [~jesus@85-127-171-8.dynamic.xdsl-line.inode.at] has joined #lisp 00:33:48 gigamonkey: i thought maybe if i told stassats about it, he would implement it for me 00:34:09 sabalaba [~sabalaba@c-24-11-171-16.hsd1.mi.comcast.net] has joined #lisp 00:34:50 anything up with common-lisp.net? 00:34:59 georgek: See topic. 00:35:01 What would the semantics of global-apropos be? Like the equivalent of loading every Quicklisp project in existence and then running apropos? (without actually doing that, of course) 00:35:19 nothing's up, everything's down 00:35:31 Hexstream: something like that. 00:36:27 Xach: By the way, when preparing a new Quicklisp release do you really like, try to load all the projects at once to see what the conflicts are??... 00:37:05 I'm not sure how much memory 500+ projects would take... 00:37:35 neoesque [~neoesque@210.59.147.232] has joined #lisp 00:37:43 -!- aperturefever [20164@ninthfloor.org] has quit [Quit: aluve] 00:37:53 memory is cheap nowadays 00:38:31 Hexstream: I load them one at a time in separate instances. 00:38:42 it takes about 4500 seconds. 00:39:03 They can't be all loaded even with infinite memory due to package conflicts. 00:39:22 (infinite memory is only $45 on newegg.com) 00:39:31 -!- rvirding [~chatzilla@h134n5c1o1034.bredband.skanova.com] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110319135224]] 00:39:44 Xach: how much gigabytes is infinite? 00:40:14 Hum. Will Quicklisp have conflicts-with metadata then? 00:41:09 -!- xinming_ [~hyy@115.221.14.140] has quit [Quit: leaving] 00:41:25 Hexstream: I'd like to gather that info. 00:41:41 it's all a simple matter of programming. 00:41:49 what isn't? 00:41:56 The halting problem. 00:42:03 Like quantum dynamics, the simple fact of observing conflicts might make them disappear. 00:42:21 If that doesn't work, threats and intimidation might 00:42:29 quantum mechanics I mean. Or whatever it's called. 00:42:35 gigamonkey: it's even simpler, you just wait and see 00:43:04 -!- sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has quit [Read error: Connection reset by peer] 00:45:15 -!- Bike [~arm@69.166.35.237] has quit [Quit: leaving] 00:47:10 sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has joined #lisp 00:47:22 BountyX [~erhan@76.243.198.28] has joined #lisp 00:48:04 longfin [~longfin@124.198.53.194] has joined #lisp 00:48:43 McMAGIC--Copy [debian-tor@gateway/tor-sasl/mcmagic--copy] has joined #lisp 00:49:34 is there a way to collect in loop macro into a hash-table or keyworded list instead of the regular list? 00:50:01 -!- bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has quit [Ping timeout: 258 seconds] 00:50:03 manually into a hashtable 00:50:16 by keyworded list i assume you mean a plist? 00:50:34 yes 00:51:00 NCONC or NCONCING is much like collect but can collect multiple elements (a list). 00:51:33 collect can collect multiple elements 00:51:46 Beware that the tail of each such collected list will be destructively modified as if by NCONC so you must make sure it's "fresh"... 00:51:48 yeah, collect (list arg arg2), which is what I'm doing now 00:51:51 beelike: there's no built-in support for these, but you can do it by hand easily 00:52:09 beelike: stassats meant collect arg collect arg2 00:52:25 i am not really sure how to do it without getting sloppy. this is what I have now. 00:52:26 -!- mark__ [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has quit [Read error: Connection reset by peer] 00:52:35 nconc (list arg arg2) would have the same effect. 00:52:54 mark__ [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has joined #lisp 00:53:04 beelike: With LOOP, everything is sloppy ;P 00:53:20 (loop with plist for (key value) in list do (incf (getf plist key 0) value)) 00:53:30 -!- gigamonkey [~user@adsl-99-24-219-24.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 240 seconds] 00:54:23 (loop with plist for (key value) in '((:a 10) (:b 20) (:a 30) (:b 40) (:c 23)) do (incf (getf plist key 0) value) finally (return plist)) => (:C 23 :B 60 :A 40) 00:54:23 Hum. Wouldn't that be on list by #'cddr?... 00:54:34 no 00:54:38 xxxyyy [~xyxu@58.41.12.183] has joined #lisp 00:55:05 let me paste what i have while I'm parsing that, but at the first glance in doesn't help me 00:55:07 Oh, a cadr-valued alist. Nevermind then. 00:55:56 peddie [~peddie@18.181.2.107] has joined #lisp 00:56:54 http://ideone.com/2XeKu 00:57:04 bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has joined #lisp 00:57:11 I would prefer to have flags sorted into hash table or plist. I guess hash table would be more appropriate 00:58:35 Trystam [~Tristam@cpe-72-226-124-205.nycap.res.rr.com] has joined #lisp 00:58:53 can i do that without doing everything manually in do 00:59:52 quasisane [~sanep@c-76-24-80-97.hsd1.nh.comcast.net] has joined #lisp 01:01:14 -!- Trystam [~Tristam@cpe-72-226-124-205.nycap.res.rr.com] has quit [Client Quit] 01:01:59 -!- tritchey [~tritchey@70-35-37-146.static.wiline.com] has quit [Quit: tritchey] 01:02:19 -!- Jasko [~tjasko@70-35-37-146.static.wiline.com] has quit [Quit: Leaving] 01:05:02 you can, but i don't think it would look better 01:05:38 -!- drdo` is now known as drdo 01:06:04 well as long as it does what i want, I'm getting flag/value pair as a list instead of hash table key/value pair 01:06:41 nothing stops you from putting it into a hashtable 01:07:40 -!- Mococa [~Mococa@187.58.12.208] has quit [Ping timeout: 246 seconds] 01:08:08 Mococa [~Mococa@187.58.12.208] has joined #lisp 01:08:43 -!- The_Fellow [~storm2@glida.mooo.com] has quit [Read error: Operation timed out] 01:09:57 The_Fellow [~storm2@glida.mooo.com] has joined #lisp 01:10:30 redline6561 [~user@c-66-56-55-169.hsd1.ga.comcast.net] has joined #lisp 01:11:01 i'm trying to understand when to use a method v reg fun. if i have a point, then 'distance' can be a fun since no other class will use it 01:11:28 but 'clone' would be a method, since my rect class would also need it? 01:13:27 -!- Evious [~n_a@s64-180-62-209.bc.hsia.telus.net] has quit [Disconnected by services] 01:13:29 -!- Zeiris is now known as Evious 01:13:57 Reviou [~n_a@s64-180-62-209.bc.hsia.telus.net] has joined #lisp 01:14:13 is it possible to redirect the standard output to a buffer? 01:14:32 what's a buffer? 01:14:44 (setf *standard-output* wherever) 01:14:45 -!- peddie [~peddie@18.181.2.107] has quit [Ping timeout: 260 seconds] 01:15:10 If you mean an emacs buffer, then I don't know. 01:15:19 asher9 [~asher@c-24-91-59-62.hsd1.ma.comcast.net] has joined #lisp 01:15:23 italic: It should be a generic function if it is reasonable to extend it in some way, otherwise a regular function is fine 01:15:31 italic: use methods whenever you fill like it might be extended 01:16:09 s/fill/feel/ 01:16:23 extended meaning used by another class? 01:16:39 italic: A fairly standard way would be to have a copy-FOO function and a copy-BAR function. No need for a method just because you have two analogous functions. 01:16:45 italic: classes don't use generic functions 01:17:13 Are you trying to do operator overloading? That's not very cool 01:17:37 i, for one, welcome our new operator overloads! 01:17:46 *|3b|* would think in terms of whether it was meaningful for other things rather than 'use by class' or 'extension' 01:17:54 i guess i don't understand the benefits of having clone-point and clone-rect vs defining separate clone methods on both classes 01:18:01 <|3b|> like 'distance' sounds like it applies to anything with a location, not just 'point' 01:18:38 I'm confused by this message by Pascal Costanza http://groups.google.com/group/comp.lang.lisp/msg/36af0645460948d3 As I understand it, declaring dynamic-extent on something and then passing that something out of the function is a violation of what was promised with dynamic-extent. Is Costanza saying that one should protect against the mistakes of 3rd parties? 01:19:06 <|3b|> (that location might be implemented as a slot holding a point, but the user might not need to know that if all the 'location' based operations know about it) 01:19:09 italic: It depends if you expect "cloning" to be a well-defined protocol that will be used on some objects without necessarily knowing the exact type of object we're dealing with in advance. 01:19:16 I had the same reaction as Tobias in that message. 01:21:10 -!- Landr [Landr@78-21-55-104.access.telenet.be] has quit [] 01:22:31 If you have several types of objects that just happen to coincidentally be using the same protocol, it's probably better to have separate functions. And note that the concept of "cloning" is not well-defined in general... (shallow cloning VS deep cloning and such). 01:23:34 xale: (with-output-to-string (*standard-output*) (princ 'hello)) 01:23:40 asher9: yes, that's what he's advocating 01:23:53 so here's an example from xach i'm looking at: https://github.com/xach/geometry/blob/master/point.lisp 01:24:19 written in haste, unpolished! 01:24:43 sorry, just trying to figure out basics 01:25:07 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Read error: Operation timed out] 01:25:13 So all lispers everywhere should never assume a &rest list is safe? Instead, declare dynamic-extent on it, copy it, then use it. 01:25:38 'add' and 'distance' would be methods because they could conceivably be used by other classes as well 01:25:39 <|3b|> asher9: depends on what you want to do with it 01:25:56 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Quit: Adamant] 01:25:57 <|3b|> asher9: never modify an &rest list, never return a dynamic-extent &rest 01:26:00 asher9: no, you just shouldn't use dynamic-extent unless you know what you're doing 01:26:31 <|3b|> also that, dynamic extent seems tricky from what i've read 01:27:11 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 252 seconds] 01:27:46 My question can be summarized as this: Is a &rest list safe to store, assuming that nobody screwed up (beyond my control)? 01:27:47 italic: Don't worry too much about "could conceivably be used by other classes as well". It's bad for health. 01:28:01 asher9: Yes, as long as you don't try to modify it. 01:28:07 <|3b|> it should be safe to store if it isn't dynamic extent 01:28:14 right -- just storing, not modifying 01:28:30 right, and of course I don't call dynamic extent on it. 01:28:54 I think you can even safely do (setf list (cdr list)), for instance. That doesn't modify the list, only the binding. 01:29:12 Hexstream: it seems like i'm worrying about that most when choosing between a method or not 01:29:16 paste.lisp.org is still broken. 01:29:17 <|3b|> right, you can do whatever you want to bindings :) 01:29:41 <|3b|> xale: yeah, server upgrade went bad, presumably being worked on 01:29:48 |3b|: Except LOOP bindings I think... 01:30:22 |3b|: that is why common-lisp.net is down? 01:30:24 <|3b|> Hexstream: true, messing with bindings managed by something else can be bad, so possibly i was a bit too general 01:30:25 italic: I'd use a function by default. 01:30:29 <|3b|> asher9: right 01:31:35 Hexstream: and just preface it like clone-point, since i know i'll need clone-rect? 01:32:12 <|3b|> clone-point and clone-rect are reasonable operations to have 01:32:13 I'd go with copy-point, there's more precedent for that in CL... but yes. 01:32:31 <|3b|> generic clone is reasonable as well, having both sets is also reasonable 01:32:55 generic clone is tricky 01:32:55 <|3b|> it depends on how you are using things, what sort of performance requirements you have, etc 01:33:00 if the protocols of clone-rect and clone-point are the same, that is 01:33:20 copying can mean different things even for the same data structure 01:33:22 <|3b|> right, defining what the generic clone should do might be challenging 01:33:44 Yes, you could have copy-point, copy-rect and copy (or some other less-clashy name), with copy just calling out to the functions. 01:34:03 what's wrong with just having copy-point, copy-rect, etc? 01:34:03 <|3b|> especially once you get to non-GCable resources like OpenGL texture, network connections, etc 01:34:10 ddp [~ddp@58.137.63.55] has joined #lisp 01:34:13 ok, so add-point and add-rect are reasonable, but just add isn't because then i run into someone passing (add sprite) which doesn't make sense 01:34:14 imitate? 01:34:16 -!- ddp [~ddp@58.137.63.55] has left #lisp 01:34:23 <|3b|> drdo: you might want to copy things without knowing their type 01:34:26 You might call copy-point when you know in advance you're dealing with a point, making the code more explicit, and use copy when you don't know nor care if you're acting on a point or a rect. 01:34:49 |3b|: I can't remember ever wanting to do that 01:34:53 <|3b|> italic: just because there are things that you shouldn't call it on doesn't mean it is bad 01:35:19 copying stuff is not something you do a lot 01:35:24 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 01:35:25 <|3b|> drdo: think a generic scene graph full of all sorts of shapes, procedurally generated stuff, etc 01:35:26 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 01:35:55 <|3b|> and an interactive editor where you want to copy things around or whatever 01:36:04 Shouldn't packages be distributed without nicknames? I guess people don't know that one can locally add a nickname with rename-package? 01:36:10 "you're in a maze of twisty little rectangles, all wanting to be copied" 01:36:34 <|3b|> asher9: ideally we would have package local nicknames or something, but since we don't we end up with shipping them by default 01:36:38 |3b|: then those shapes could share a base class and you could have a generic copy-shape 01:36:41 asher9: It's perhaps less of a mess if everyone uses the same nickname... 01:36:57 <|3b|> asher9: adding them with rename-package would get ugly if libraries started doing it on their dependencies for example 01:37:18 Hexstream: wouldn't it clash if every package used the same nicknames? 01:37:22 <|3b|> drdo: or you could drop the base class, and just share a 'copy' protocol 01:37:33 stassats: If it hurts, don't do that? 01:37:39 |3b|: But it might not make sense for other types of object 01:37:50 Hexstream: _i_ don't 01:37:51 You cross your fingers and pray God to have mercy. 01:37:59 <|3b|> drdo: then they shouldn't define a method on it, and they shouldn't add themselves to the scene graph :) 01:38:04 ask Xach about nicknames 01:38:10 He could probably just use copy-instance 01:38:18 *|3b|* agrees that nicknames is a significant problem 01:38:32 dmiles [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has joined #lisp 01:38:59 fucking rain... 01:39:21 in my case i'm thinking scene-graph, so there's point, rect, node, sprite, etc 01:39:45 *|3b|* maintains one of the packages (cl-opengl) which would really be better off with package local nicknames, and regularly uses conflicting libs from one of the other sets (json libs) 01:40:22 drl [~lat@110.139.230.142] has joined #lisp 01:40:42 -!- dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has quit [Ping timeout: 240 seconds] 01:41:53 -!- bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has quit [Ping timeout: 240 seconds] 01:42:06 There seems to be a dilemma when it comes to packaging. Either (1) short exported names + short package name (or nickname) => USE/IMPORT-FROM not necessary, or (2) longer exported names + longer package name => USE/IMPORT-FROM is safer. 01:42:53 <|3b|> import-from is generally safe, just verbose 01:43:23 i use (3) don't :use or import-from, fully qualify symbols 01:43:41 I mean that IMPORT-FROM with a short name would be confusing, hence longer names would pair with IMPORT-FROM. 01:44:22 <|3b|> right, but you can choose for specific names to avoid conflicts 01:44:47 cl lacks an incomprehensible module system which solves all world problems 01:45:35 <|3b|> package-local nicknames would solve my (package name conflict related) problem 01:46:12 |3b|: You would call (com.gigamonkeys.foo:bar ...) throughout your code? That doesn't seem realistic. 01:46:14 *|3b|* would really like to be able to use gl: for 2 different packages in different contexts for example (one for desktop GL and one for WebGL through parenscript) 01:46:41 <|3b|> asher9: i use short nicknames, and just don't load conflicting packages (or force a rename when i have to) 01:46:47 -!- Bahman [~Bahman@2.144.245.203] has quit [Quit: Leaving] 01:47:24 <|3b|> if com.gigamonkeys.foo was the only name, i might use that though 01:48:08 <|3b|> (that might be long enough that i'd do something about it if i had to call it a lot, but i use alexandria: most of the time) 01:48:08 bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has joined #lisp 01:48:21 |3b|: But short nicknames just foist the problem on someone else. It seems local nicknames are the best solution, if they existed. 01:48:40 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 258 seconds] 01:49:03 <|3b|> right, supplying short nicknames with the package causes problems, but i'd expect general use of global renaming to be worse 01:49:46 <|3b|> if some sort of package-local nicknames were commonly available i'd probably add a #+local-nicknames or whatever to the (:nicknames ...) in cl-opengl 01:50:16 <|3b|> there are a few libraries that add something like that, but none seem particularly common :( 01:50:24 http://ideone.com/SToKe <- as far as I can tell this should work, yet (gethash "--foo" flags) returns nil 01:50:32 there are a lot of cll posts about this; conduits, etc. In the end we still have to fend for ourselves, though. 01:50:39 <|3b|> yep :( 01:50:52 can I not mix IF and DO like that? 01:51:20 <|3b|> beelike: don't make a new hash table every iteration 01:51:39 ah ok 01:52:07 should I put it in let above loop, or is there a loop syntax for single assignment 01:52:11 <|3b|> WITH 01:52:23 thanks works 01:52:35 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 01:56:37 -!- drl [~lat@110.139.230.142] has quit [Remote host closed the connection] 02:01:13 At the top of a file I want to say (use-nickname :very-long-name :nick) and at the bottom say (end-nickname :nick). Are these functions really impossible given the way the CL reader works? 02:01:32 (or macros) 02:04:57 -!- EarlGray [~dmytrish@inherent.puzzler.volia.net] has quit [Remote host closed the connection] 02:05:19 -!- pdlogan [~patrick@c-76-27-203-101.hsd1.or.comcast.net] has quit [Ping timeout: 252 seconds] 02:05:26 EarlGray [~dmytrish@inherent.puzzler.volia.net] has joined #lisp 02:06:07 you can define a package which re-exports all symbols from another package, and delete it afterwards 02:07:09 pdlogan [~patrick@c-76-27-203-101.hsd1.or.comcast.net] has joined #lisp 02:07:15 -!- pdlogan [~patrick@c-76-27-203-101.hsd1.or.comcast.net] has left #lisp 02:07:41 -!- zomgbie [~jesus@85-127-171-8.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 276 seconds] 02:13:36 xan_ [~xan@206.111.142.135.ptr.us.xo.net] has joined #lisp 02:14:34 zomgbie [~jesus@85-127-168-53.dynamic.xdsl-line.inode.at] has joined #lisp 02:14:59 lifeng [~lifeng@155.69.43.70] has joined #lisp 02:18:12 stassats: if that simulates local package names then what is the decade-worth of fuss on cll about? Could there be complications with that solution? 02:18:30 If we can simulate local package names then all problems are solved, I think. 02:18:35 it wouldn't work in slime 02:18:42 asher9: If there's any change to the original package, these won't be picked up by the "alias" package. 02:18:53 -!- xan_ [~xan@206.111.142.135.ptr.us.xo.net] has quit [Quit: leaving] 02:18:57 ah ok 02:19:04 mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #lisp 02:19:12 What would be nice would be to be able to hook into the package system. 02:19:15 Hexstream: if it's only read at compile time 02:19:40 Yeah, additional potential problems left to the reader ;P 02:20:00 you can add special support to slime, like for named-readtables 02:20:37 but, i don't think that file-local package nicknames are that useful, i'd rather see package-local nicknames 02:21:57 realitygrill [~realitygr@adsl-76-226-130-114.dsl.sfldmi.sbcglobal.net] has joined #lisp 02:22:52 -!- sylecn [~sylecn@cpe-70-112-211-195.austin.res.rr.com] has quit [Quit: rcirc on GNU Emacs 23.2.1] 02:23:07 I guess a potential solution would be to make your editor transparently transliterate your fake package nicknames into the real names. Like, you'd write mylib:foo and it would actually write my-longly-named-lib:foo into the file. 02:23:45 dnolen [~davidnole@184.152.69.75] has joined #lisp 02:23:52 It might make for fun debugging and indentation problems and stuff. 02:23:55 can i write in perl and my editor would save lisp code into a file? 02:23:57 slyrus [~chatzilla@adsl-75-36-231-87.dsl.pltn13.sbcglobal.net] has joined #lisp 02:24:23 Yeah I was going to mention indentation for others. It depends on whether you care about people suspecting that you are mildly retarded. 02:24:27 I stopped reading after "in perl". 02:24:56 damn your preconceptions! 02:25:35 superflit [~superflit@c-71-196-128-246.hsd1.co.comcast.net] has joined #lisp 02:26:17 It would be hard to find two languages that have a philosophy about syntax as different as Lisp and Perl. But of course they're similar languages in that they both look unreadable to outsiders. 02:26:18 perl is a perfectly fine example of an unreadable language, so, you write in perl, but read in lisp, voilą, problem of unreadability solved 02:26:32 -!- nefo [~nefo@unaffiliated/nefo] has quit [Remote host closed the connection] 02:27:41 I'm not convinced that Perl with a Lisp syntax would be readable. For one thing, you'd need someone proficient with both Perl and Lisp to read it. 02:28:00 i am! 02:28:01 So the consensus is to go with full package-qualified symbols with short package nicknames? 02:28:14 or, i was proficient with perl, at one point in time 02:28:40 I think the consensus is that there's no consensus. 02:29:11 Hexstream: i disagree 02:29:12 That's what I would prefer, except that since the nicknames are not local, I could be screwing everyone else. 02:29:25 stassats: What's the consensus then? 02:29:34 -!- Yuuhi [benni@p5483B19D.dip.t-dialin.net] has quit [Ping timeout: 246 seconds] 02:29:36 I see no solution at all. It's bad either way. 02:30:19 Hexstream: if there's no consensus, i shouldn't be agreeing with you, so i'm disagreeing 02:31:04 Yuuhi [benni@p54839C05.dip.t-dialin.net] has joined #lisp 02:31:36 fght figth!!! 02:31:42 -!- BrandLeeJones [~BrandLeeJ@84.114.246.246] has quit [Quit: BrandLeeJones] 02:31:43 There can be a consensus on the fact that there's no consensus. It's like a variant of agreeing about disagreeing. Anyway, I'm out. 02:31:52 republican_devil: Where that? I want to watch! 02:32:29 Hexstream: that's too reasonable 02:32:48 stassats: The story of my life. 02:32:49 -!- Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has left #lisp 02:32:51 It's certainly possible to for there to be no consensus about the fact that there's no consensus, though. 02:33:05 s/to for/for 02:33:59 taking my meds ssh 02:34:30 154 for doc visit to say i dotn have strep throat 02:34:35 I think the wnaker is wrong 02:34:40 $154 02:34:43 for liek 15min work 02:34:44 wow 02:34:50 thats 600 an hour 02:35:00 and I got over the counter advil as my only meds 02:35:07 I do need a snot reducer 02:35:10 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 246 seconds] 02:35:19 A halfway solution is to have a public registry of nicknames on common-lisp.net or somewhere 02:35:21 I think I am guna try n get rich by making computer programs for hospitals 02:35:35 inefficiency is rife 02:35:41 -!- BountyX [~erhan@76.243.198.28] has quit [Remote host closed the connection] 02:35:50 in lisp, i hope 02:36:19 of course 02:36:28 I guess I left that bit out 02:36:35 FAIL 02:36:57 any suggestions how to do this cleanly? if (length args) > 0 I want to use (with-open-file (in (nth args 0)), otherwise (let (in nil)) 02:36:59 medical service prices are simply way too big 02:37:06 needs to be downward pressure 02:37:35 sounds like a job for or 02:38:27 beelike: why do you need that? 02:38:30 -!- sabalaba [~sabalaba@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Quit: Leaving] 02:39:16 stassats I want to read from stdin if filename path wasn't passed to my program 02:41:38 (if args (with-open-file (in (car args)) (do-stuff in)) (do-stuff *standard-input*)) 02:45:11 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 02:45:13 not sure i like stuffing all of my code into do-stuff function just for that 02:45:46 no, all of your code should be split evenly between many functions 02:46:58 yeah, but if I have more than one function call in if/else I'll be copy/pasting the code 02:47:38 that's why you don't 02:47:48 would macro be appropriate for this? with-open-file-default or something 02:48:09 where passed default will be used if args is nil 02:48:52 putting your stuff into do-stuff is completely no-brainer 02:49:27 i can't see why would you be compelled to even consider defining a macro for it 02:50:15 it's a common enough idiom, many programs read from stdin if no filename was supplied 02:50:46 the solution i showed you handles it perfectly 02:51:02 -!- em is now known as emma 02:51:43 would you make do-stuff local if that's the only time i'd call it? 02:51:54 shaq [~5d8a6fb8@ns1.smartcall.bg] has joined #lisp 02:52:06 that depends 02:52:15 -!- Mococa [~Mococa@187.58.12.208] has quit [Ping timeout: 252 seconds] 02:54:12 agoldson [~abg3x@unaffiliated/apot] has joined #lisp 02:55:41 cheezus [~Adium@76-10-136-155.dsl.teksavvy.com] has joined #lisp 02:56:14 -!- superflit [~superflit@c-71-196-128-246.hsd1.co.comcast.net] has quit [Ping timeout: 276 seconds] 02:58:33 -!- asher9 [~asher@c-24-91-59-62.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 02:58:37 -!- emporas [~emporas@athedsl-168289.home.otenet.gr] has quit [Ping timeout: 246 seconds] 03:01:42 gko [~gko@111.81.71.104] has joined #lisp 03:01:52 makks [~max@p5DE8FCA3.dip.t-dialin.net] has joined #lisp 03:03:02 -!- makks_ [~max@p5790F859.dip.t-dialin.net] has quit [Read error: Operation timed out] 03:03:18 pedo_bear [~erhan@adsl-76-243-198-28.dsl.bcvloh.sbcglobal.net] has joined #lisp 03:04:27 azaq231 [~derivecto@unaffiliated/azaq23] has joined #lisp 03:04:34 -!- azaq23 [~derivecto@unaffiliated/azaq23] has quit [Ping timeout: 246 seconds] 03:05:18 Mococa [~Mococa@187.58.12.208] has joined #lisp 03:07:45 What's a good lisp dialect to get started with 03:08:35 Common Lisp 03:08:49 and it's a good to end up with 03:09:08 ok ty 03:09:23 _KY_ [YKY@unaffiliated/-ky-/x-0649748] has joined #lisp 03:10:43 <_KY_> What is the best way to link Java, Lisp, OCaml, all together? 03:11:00 _KY_: JSON? 03:11:26 <_KY_> But that's just for data sharing, right? 03:11:41 <|3b|> abcl + ocaml-java ? 03:11:54 <_KY_> Yes I'm already using ABCL 03:11:55 -!- hugod_ [~hugod@bas1-montreal50-1279440083.dsl.bell.ca] has quit [Ping timeout: 246 seconds] 03:12:01 the best way is not to 03:12:11 *|3b|* uses that strategy 03:12:16 <_KY_> Can ABCL work with OCaml-java simultaneously? 03:13:16 *|3b|* has no idea, but assumes so... what's the point of running on the jvm if you can't interact with other jvm languages 03:13:31 <_KY_> Thanks... I'll have a try 03:14:07 <_KY_> We have a project where people have different preferences... and we just want to play around with prototyping.. it's not production code 03:15:07 <|3b|> in that case the obvious solution would be to implement ocaml in cl :) 03:15:20 rme_ [~rme@pool-70-104-103-13.chi.dsl-w.verizon.net] has joined #lisp 03:16:18 -!- rme [rme@clozure-4F0AAF25.chi.dsl-w.verizon.net] has quit [Ping timeout] 03:16:19 -!- rme_ is now known as rme 03:16:49 -!- rme [~rme@pool-70-105-81-212.chi.dsl-w.verizon.net] has quit [Ping timeout: 246 seconds] 03:16:49 -!- rme_ is now known as rme 03:16:54 hugod_ [~hugod@bas1-montreal50-1279442149.dsl.bell.ca] has joined #lisp 03:17:42 <_KY_> That sounds like much more work... 03:18:04 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 264 seconds] 03:18:24 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 03:19:58 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 240 seconds] 03:21:08 zomgbie_ [~jesus@85-127-168-190.dynamic.xdsl-line.inode.at] has joined #lisp 03:21:50 -!- longfin [~longfin@124.198.53.194] has quit [Remote host closed the connection] 03:23:49 -!- zomgbie [~jesus@85-127-168-53.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 246 seconds] 03:30:24 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 03:31:02 xcv [~xcv@dsl-225-28.hive.is] has joined #lisp 03:35:05 gigamonkey [~user@adsl-99-24-219-24.dsl.pltn13.sbcglobal.net] has joined #lisp 03:37:20 Spion__ [~spion@77.29.248.64] has joined #lisp 03:41:17 -!- Spion_ [~spion@unaffiliated/spion] has quit [Ping timeout: 276 seconds] 03:44:31 -!- agoldson [~abg3x@unaffiliated/apot] has left #lisp 03:47:38 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 240 seconds] 03:48:15 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 03:48:39 longfin [~longfin@124.198.53.194] has joined #lisp 03:49:06 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 240 seconds] 03:50:25 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 03:51:05 -!- gko [~gko@111.81.71.104] has quit [Remote host closed the connection] 03:54:01 -!- bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has quit [Ping timeout: 258 seconds] 03:54:35 -!- astoon [~chatzilla@nat121-249-205-109.tvoe.tv] has quit [Remote host closed the connection] 03:54:41 -!- cheezus [~Adium@76-10-136-155.dsl.teksavvy.com] has quit [Quit: Leaving.] 03:55:51 stassats` [~stassats@wikipedia/stassats] has joined #lisp 03:57:01 -!- kpreid [~kpreid@128.153.214.194] has quit [Quit: Offline] 03:58:45 cesarbp_ [~chatzilla@189.247.100.75] has joined #lisp 03:58:45 tritchey [~tritchey@74-93-1-121-SFBA.hfc.comcastbusiness.net] has joined #lisp 03:58:53 rien_ [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 04:01:40 fmu` [UNKNOWN@an9iex1i.u10r.net] has joined #lisp 04:01:45 -!- azaq231 [~derivecto@unaffiliated/azaq23] has quit [Ping timeout: 252 seconds] 04:02:38 myu2_ [~myu2@v051158.dynamic.ppp.asahi-net.or.jp] has joined #lisp 04:02:52 Jasko [~tjasko@74-93-1-121-SFBA.hfc.comcastbusiness.net] has joined #lisp 04:03:36 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [*.net *.split] 04:03:36 -!- Mococa [~Mococa@187.58.12.208] has quit [*.net *.split] 04:03:36 -!- stassats [~stassats@wikipedia/stassats] has quit [*.net *.split] 04:03:36 -!- cesarbp [~chatzilla@189.247.100.75] has quit [*.net *.split] 04:03:37 -!- myu2 [~myu2@v051158.dynamic.ppp.asahi-net.or.jp] has quit [*.net *.split] 04:03:37 -!- La0fer [~Laofers1@64.120.233.114] has quit [*.net *.split] 04:03:37 -!- fmu [UNKNOWN@unaffiliated/fmu] has quit [*.net *.split] 04:03:42 -!- cesarbp_ is now known as cesarbp 04:04:04 -!- McMAGIC--Copy [debian-tor@gateway/tor-sasl/mcmagic--copy] has quit [Ping timeout: 246 seconds] 04:04:29 nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has joined #lisp 04:04:29 -!- nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has quit [Changing host] 04:04:29 nefo [~nefo@unaffiliated/nefo] has joined #lisp 04:05:39 xan_ [~xan@206.111.142.135] has joined #lisp 04:05:40 bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has joined #lisp 04:07:05 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 04:10:05 Mococa [~Mococa@187.58.12.208] has joined #lisp 04:10:42 spradnyesh [~pradyus@nat/yahoo/x-bwyjwhyxmjalipob] has joined #lisp 04:11:30 cfy [~cfy@122.228.131.67] has joined #lisp 04:11:38 -!- cfy [~cfy@122.228.131.67] has quit [Changing host] 04:11:38 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 04:12:49 bike [~aeshtaer@71-38-154-233.ptld.qwest.net] has joined #lisp 04:17:01 -!- pnq [~nick@ACA2478C.ipt.aol.com] has quit [Ping timeout: 258 seconds] 04:17:33 McMAGIC--Copy [debian-tor@gateway/tor-sasl/mcmagic--copy] has joined #lisp 04:17:37 -!- tritchey [~tritchey@74-93-1-121-SFBA.hfc.comcastbusiness.net] has quit [Quit: tritchey] 04:18:11 -!- emma is now known as em 04:18:58 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 04:28:42 -!- Jasko [~tjasko@74-93-1-121-SFBA.hfc.comcastbusiness.net] has quit [Read error: Connection reset by peer] 04:29:14 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 04:29:36 -!- bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has quit [Ping timeout: 260 seconds] 04:30:43 bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has joined #lisp 04:32:23 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Ping timeout: 260 seconds] 04:38:50 Jasko [~tjasko@74-93-1-121-SFBA.hfc.comcastbusiness.net] has joined #lisp 04:39:19 -!- bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has quit [Quit: leaving] 04:39:19 -!- rien_ [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 252 seconds] 04:39:19 -!- fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has quit [Ping timeout: 252 seconds] 04:40:09 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 04:42:07 mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has joined #lisp 04:42:07 -!- mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has quit [Changing host] 04:42:07 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 04:42:40 Hun^27 [~Hunden@e180103134.adsl.alicedsl.de] has joined #lisp 04:43:13 asher9 [~asher@c-24-91-59-62.hsd1.ma.comcast.net] has joined #lisp 04:43:35 Hun^34 [~Hunden@e180103134.adsl.alicedsl.de] has joined #lisp 04:44:37 -!- setheus [~setheus@cpe-70-116-140-134.tx.res.rr.com] has quit [Ping timeout: 248 seconds] 04:46:30 -!- Hunden [~Hunden@85.180.100.53] has quit [Ping timeout: 260 seconds] 04:46:31 -!- Hun^34 is now known as Hunden 04:47:23 -!- Hundenn [~Hunden@e180100053.adsl.alicedsl.de] has quit [Ping timeout: 276 seconds] 04:48:39 -!- elliottcable is now known as ec|detached 04:50:54 -!- ec|detached is now known as elliottcable 04:52:11 -!- stassats` [~stassats@wikipedia/stassats] has quit [Ping timeout: 240 seconds] 04:53:55 -!- cesarbp [~chatzilla@189.247.100.75] has quit [Ping timeout: 246 seconds] 04:54:10 -!- sid3k` is now known as sid3k 04:54:52 gravicappa [~gravicapp@ppp91-77-175-208.pppoe.mtu-net.ru] has joined #lisp 04:56:08 -!- pedo_bear [~erhan@adsl-76-243-198-28.dsl.bcvloh.sbcglobal.net] has quit [Remote host closed the connection] 04:57:04 (defun foo (x) (flet ((bar (a) ... ) ~~verses~~ (defun foo (x) (flet ((bar (a x) ... ). In the latter case foo's x is passed explicitly into bar, and this turns out to be faster than the former case. I guess the binding of x carries baggage which slows down optimization. 04:57:14 -!- mornfall [~mornfall@kde/developer/mornfall] has quit [Read error: Operation timed out] 04:57:18 mornfall [~mornfall@anna2.fi.muni.cz] has joined #lisp 04:57:21 -!- mornfall [~mornfall@anna2.fi.muni.cz] has quit [Changing host] 04:57:21 mornfall [~mornfall@kde/developer/mornfall] has joined #lisp 04:57:47 Depends on how stupid your compiler is. 04:57:50 Is there a general rule regarding flets? Should the be "as if" they could stand alone, or is including the environment bindings the norm? I guess it doesn't really matter. 04:58:03 setheus [~setheus@cpe-70-116-140-134.tx.res.rr.com] has joined #lisp 04:58:03 <|3b|> depends on what you are doing 04:58:05 I presume that non-escaping function closures are implemented efficiently. 04:58:15 gaidal [~gaidal@113.109.133.118] has joined #lisp 04:58:17 <|3b|> if you want a closure, closing over the environment would be pretty important 04:58:25 <|3b|> if you don't want one, it would be a bad idea 04:58:39 Write the code in the simplest way for humans to read -- write another version if your profiler tells you to. 04:58:47 <|3b|> if you don't care, then you need to find some other criteria to decide on 04:59:13 jjong [~user@203.246.179.177] has joined #lisp 04:59:16 In any given implementation, should I assume that a reference-free flet is just as fast as a regular defun? They should be basically equivalent, right? 04:59:46 Do you mean "without free variables"? If so, yes. 04:59:50 I do have a few bottlenecks, and I'd like to know a general rule of thumb if there is one. 04:59:52 Possibly faster. 05:00:07 The rule of thumb should be "write pretty code". 05:00:09 I just mean the flet doesn't reference anything inside the defun. 05:00:54 How could the flet be possibly faster? 05:00:59 <|3b|> yeah, write for easy modification first 05:01:14 <|3b|> because the compiler knows more about how it is called, if you don't pass it out of the function 05:01:38 <|3b|> while a global function might be called from anywhere, or passed to other functions, etc 05:02:01 <|3b|> a local function might be inlined, or use special optimized calling conventions if possible 05:02:49 <|3b|> (some of those could be used by calls to normal functions within a 'compilation unit' as well though) 05:05:01 *|3b|* agrees that writing clear code should be first priority though, especially if you are just learning 05:05:42 -!- xcv [~xcv@dsl-225-28.hive.is] has quit [Remote host closed the connection] 05:08:17 Which is clearer? Implicit use of x (former case), or explicit use of x (latter case)? It's more a question of lisp culture. In the latter case, the bar is just a utility function which could be a defun. 05:09:00 But if bar is only used by foo, is the norm to make it a flet or a defun? 05:11:23 *|3b|* would probably close over X if it is a local function (and not pass it as an arg) 05:11:50 -!- Mococa [~Mococa@187.58.12.208] has quit [Remote host closed the connection] 05:11:50 <|3b|> if you are going to pass it, either flet or defun sounds reasonable 05:12:18 <|3b|> (assuming you can name it well enough that if you get a name conflict later the new function is probably doing the same thing and you can get rid of one) 05:15:11 For actual, measurable bottlenecks, the explicit passing makes sense because of cache hits, I suppose. When x is bound inside flet, there are different "copies" of it running at once. With the explicit pass, there's only one bar. (misuse of terminology I'm sure) 05:15:28 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Ping timeout: 246 seconds] 05:15:55 <|3b|> i'd avoid trying to draw conclusions unless you know the specific compiler 05:15:55 ramkrsna [~ramkrsna@nat/redhat/x-wpyqfomjnuzbsffv] has joined #lisp 05:15:55 -!- ramkrsna [~ramkrsna@nat/redhat/x-wpyqfomjnuzbsffv] has quit [Changing host] 05:15:55 ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has joined #lisp 05:16:38 <|3b|> it could easily be something else, like differences due to assignments, or type propagation, etc 05:18:20 asher: No. There aren't copies. 05:18:26 asher: That's not how lexical closure works. 05:18:38 <|3b|> or maybe some other problem is slowing it down and just happens to affect the different cases differently, and properly optimized they would be the same or the other way around 05:19:00 asher: (a) Write pretty code. (b) Use a profiler to tell you when to provide ugly alternatives. <- It is as simple as this. 05:19:20 <|3b|> (in other words, for useful optimization advice, show us real code :) 05:19:50 sigh. I know there aren't copies. That's why it's in quotes. I said it was a misuse of terminology. There's baggage due to the binding, where different calls to bar make the cache hits worse. 05:19:52 <|3b|> and don't rely on tests of other code to decide how to write future code, test it when you need to optimize it 05:19:52 Is Movitz dead? 05:20:23 asher: There need not be any such baggage. 05:20:54 asher: Consider the case for a non-escaping closure -- it can directly use the same storage in the same way as the enclosing function. 05:21:17 asher: Again, write code for humans to read. Forget about the machine, because the machine changes rapidly. 05:21:37 When the machine is too slow, write alternatives for it that are functionally equivalent to the pretty code. 05:22:27 *|3b|* wonders what you would do that flet call overhead is an issue in the first place 05:23:43 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 258 seconds] 05:24:31 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 05:25:25 -!- georgek [~george@184-77-70-234.war.clearwire-wmx.net] has quit [Ping timeout: 246 seconds] 05:26:07 But that's my question -- what's pretty? Passing the x or not? 05:26:32 What is the lisp culture of pretty in this regard? 05:26:48 <|3b|> show us real code for real answers, if you don't like the ones so far 05:27:00 Not passing something is generally prettier, if you have sensible names. 05:27:15 It reduces the number of variables in play. 05:28:32 Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has joined #lisp 05:29:17 -!- longfin [~longfin@124.198.53.194] has quit [Remote host closed the connection] 05:29:45 longfin [~longfin@124.198.53.194] has joined #lisp 05:34:31 -!- zomgbie_ [~jesus@85-127-168-190.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 252 seconds] 05:34:55 Triplefault [~caleb@adsl-145-219-93.asm.bellsouth.net] has joined #lisp 05:35:50 -!- naryl [~weechat@213.170.70.141] has quit [Read error: Operation timed out] 05:36:30 -!- macrocat [~marmalade@142.177.212.89] has quit [Remote host closed the connection] 05:44:18 markskilbeck [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has joined #lisp 05:44:23 -!- markskilbeck [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has quit [Changing host] 05:44:23 markskilbeck [~markskilb@unaffiliated/markskilbeck] has joined #lisp 05:45:35 -!- homie [~levgue@xdsl-78-35-161-36.netcologne.de] has quit [Read error: No route to host] 05:46:20 homie` [~levgue@xdsl-78-35-133-140.netcologne.de] has joined #lisp 05:46:21 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 05:46:37 -!- mark__ [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has quit [Ping timeout: 246 seconds] 05:47:02 gaidal [~gaidal@113.109.133.118] has joined #lisp 05:47:12 Salamander_ [~Salamande@ppp118-210-142-47.lns20.adl6.internode.on.net] has joined #lisp 05:47:26 mishoo__ [~mishoo@79.112.237.103] has joined #lisp 05:47:27 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 05:48:01 gaidal [~gaidal@113.109.133.118] has joined #lisp 05:48:39 -!- Salamander [~Salamande@ppp118-210-185-174.lns20.adl6.internode.on.net] has quit [Read error: Operation timed out] 05:50:45 naryl [~weechat@213.170.70.141] has joined #lisp 05:53:52 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 05:53:53 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 05:54:24 gaidal [~gaidal@113.109.133.118] has joined #lisp 05:54:30 pchrist [~spirit@gentoo/developer/pchrist] has joined #lisp 05:55:28 There doesn't seem to be a consensus on alexandria -- some packages use it, other include their own (usually duplicated) utilities. alexandria -- good or bad? 05:55:29 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 05:56:00 gaidal [~gaidal@113.109.133.118] has joined #lisp 05:57:27 good 05:58:53 tcr1 [~tcr@217-162-131-235.dynamic.hispeed.ch] has joined #lisp 05:58:57 <|3b|> good 05:59:45 -!- lbc_ [~quassel@1908ds1-aboes.0.fullrate.dk] has quit [Remote host closed the connection] 06:00:44 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 06:01:01 let : let* :: flet : labels. Why the heck wasn't labels called flet*? 06:02:48 they are not the same. 06:02:49 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 06:03:27 <|3b|> let* bindings can only see previous bindings, labels bindings can see all bindings in the same form 06:03:28 gaidal [~gaidal@113.109.133.118] has joined #lisp 06:03:34 <|3b|> (also, historical reasons) 06:04:35 -!- TippenEin [~chatzilla@c-24-245-21-197.hsd1.mn.comcast.net] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 4.0/20110318052756]] 06:04:56 -!- nefo [~nefo@unaffiliated/nefo] has quit [Remote host closed the connection] 06:06:28 mark__ [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has joined #lisp 06:06:47 jewel [~jewel@196-215-88-68.dynamic.isadsl.co.za] has joined #lisp 06:07:35 -!- xan_ [~xan@206.111.142.135] has quit [Ping timeout: 260 seconds] 06:08:19 -!- markskilbeck [~markskilb@unaffiliated/markskilbeck] has quit [Ping timeout: 246 seconds] 06:11:21 Any news on when/if c-l.net will be back up? 06:11:23 -!- madsenz [~madsenz@n11z181l194.static.ctm.net] has left #lisp 06:17:44 xan_ [~xan@206.111.142.135.ptr.us.xo.net] has joined #lisp 06:17:55 *|3b|* has not seen any 06:17:56 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 06:18:08 Alright. 06:18:12 -!- asher9 [~asher@c-24-91-59-62.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 06:18:30 gaidal [~gaidal@113.109.133.118] has joined #lisp 06:18:57 <|3b|> (doesn't help that the mailing list that would have info runs on c-l.net :) 06:18:58 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 06:19:19 iaindalton [~user@host-72-174-169-102.cdc-ut.client.bresnan.net] has joined #lisp 06:21:00 gaidal [~gaidal@113.109.133.118] has joined #lisp 06:21:27 bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has joined #lisp 06:22:40 flip214 [~marek@2001:858:107:1:7a2b:cbff:fed0:c11c] has joined #lisp 06:22:40 -!- flip214 [~marek@2001:858:107:1:7a2b:cbff:fed0:c11c] has quit [Changing host] 06:22:41 flip214 [~marek@unaffiliated/flip214] has joined #lisp 06:25:34 -!- myu2_ [~myu2@v051158.dynamic.ppp.asahi-net.or.jp] has quit [Remote host closed the connection] 06:27:36 -!- gnooth [~gnooth@ip98-176-79-151.sd.sd.cox.net] has quit [Remote host closed the connection] 06:27:38 bsod1 [~sinan@85.100.72.59] has joined #lisp 06:29:30 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 06:29:40 good morning 06:29:48 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 06:32:03 -!- Salamander_ is now known as Salamander 06:32:04 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 06:32:24 gaidal [~gaidal@113.109.133.118] has joined #lisp 06:32:37 -!- cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has quit [Ping timeout: 246 seconds] 06:33:31 -!- BullShark [debian-tor@gateway/tor-sasl/nanomachine] has quit [Ping timeout: 246 seconds] 06:33:47 cmm [~cmm@79.183.205.247] has joined #lisp 06:35:26 -!- drdo [~user@91.205.108.93.rev.vodafone.pt] has quit [Remote host closed the connection] 06:35:33 -!- mishoo__ [~mishoo@79.112.237.103] has quit [Remote host closed the connection] 06:35:44 mishoo__ [~mishoo@79.112.237.103] has joined #lisp 06:35:59 drdo [~user@91.205.108.93.rev.vodafone.pt] has joined #lisp 06:37:16 -!- _KY_ [YKY@unaffiliated/-ky-/x-0649748] has left #lisp 06:37:34 -!- tcr1 [~tcr@217-162-131-235.dynamic.hispeed.ch] has quit [Quit: Leaving.] 06:38:22 -!- bike [~aeshtaer@71-38-154-233.ptld.qwest.net] has quit [Quit: Leaving.] 06:40:01 basho__ [~basho__@dslb-188-108-146-079.pools.arcor-ip.net] has joined #lisp 06:40:52 -!- cmm [~cmm@79.183.205.247] has quit [Quit: leaving] 06:40:52 -!- mishoo__ [~mishoo@79.112.237.103] has quit [Ping timeout: 246 seconds] 06:41:15 cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has joined #lisp 06:41:25 bubo [~bubo@178-191-149-154.adsl.highway.telekom.at] has joined #lisp 06:41:36 BullShark [debian-tor@gateway/tor-sasl/nanomachine] has joined #lisp 06:41:57 e-user [~akahl@nat/nokia/x-qowmgfvfraponshp] has joined #lisp 06:42:58 -!- jewel [~jewel@196-215-88-68.dynamic.isadsl.co.za] has quit [Ping timeout: 246 seconds] 06:43:00 -!- cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has quit [Client Quit] 06:43:20 cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has joined #lisp 06:44:07 -!- xan_ [~xan@206.111.142.135.ptr.us.xo.net] has quit [Ping timeout: 240 seconds] 06:44:22 xan_ [~xan@206.111.142.135.ptr.us.xo.net] has joined #lisp 06:46:22 superjudge [~mjl@195.22.80.141] has joined #lisp 06:46:23 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 06:46:59 varjag [~eugene@122.62-97-226.bkkb.no] has joined #lisp 06:47:04 gaidal [~gaidal@113.109.133.118] has joined #lisp 06:50:31 -!- cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has quit [Read error: Operation timed out] 06:51:58 cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has joined #lisp 06:52:28 -!- xan_ [~xan@206.111.142.135.ptr.us.xo.net] has quit [Quit: leaving] 06:56:53 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 06:57:55 -!- gravicappa [~gravicapp@ppp91-77-175-208.pppoe.mtu-net.ru] has quit [Ping timeout: 252 seconds] 06:59:01 -!- shaq [~5d8a6fb8@ns1.smartcall.bg] has quit [Quit: CGI:IRC (EOF)] 07:02:00 chrnybo [~user@76.23.213.193.static.cust.telenor.com] has joined #lisp 07:02:44 Any ParenScript users here? I'm trying it out, and (cond ((> a b) c) (t d)) doesn't put return statements in the resulting JS. Is that intentional? 07:04:21 <|3b|> ps does fancy stuff depending on context, so might depend on where it is 07:05:55 <|3b|> maybe try putting it in a function, or wrapping it with (return ...) 07:06:27 Harag [~Harag@dsl-242-248-115.telkomadsl.co.za] has joined #lisp 07:08:57 Alright, putting it in a function does it. 07:10:27 gravicappa [~gravicapp@ppp91-77-183-25.pppoe.mtu-net.ru] has joined #lisp 07:10:36 tcr1 [~tcr@217-162-207-164.dynamic.hispeed.ch] has joined #lisp 07:10:36 Athas [~athas@130.225.165.35] has joined #lisp 07:10:50 -!- italic [~italic@cpe-67-242-144-94.buffalo.res.rr.com] has quit [Quit: leaving] 07:11:56 jdz [~jdz@193.206.22.97] has joined #lisp 07:13:36 Also, the manual doesn't say how to define properties on an object's prototype (Math.prototype.hypot = function () {...}). (setf (@ *math prototype hypot) (lambda () ...)) doesn't work ("Math.prototype is undefined"). Is there a way? 07:15:02 Probably because Math doesn't have a prototype ... 07:15:03 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 07:15:29 <|3b|> when compiling it in ps or running in browser? 07:15:30 gaidal [~gaidal@113.109.133.118] has joined #lisp 07:15:40 Ever. 07:15:48 *|3b|* means the error 07:15:53 You probably mean Math.constructor.prototype ... 07:16:03 There is no error. 07:16:11 His code is working as it should. 07:16:15 <|3b|> i meant what was complaining 07:17:07 <|3b|> and arguably /his/ code isn't working in that case, it is the browser or whatever that is working as it should 07:17:10 Oops, that's right. Math doesn't have a prototype. I was using that to test, but it's right that it doesn't work. 07:18:39 *|3b|* should probably update to recent parenscript one of these days, wonder if i still need any of the hacks in my fork... 07:21:38 -!- realitygrill [~realitygr@adsl-76-226-130-114.dsl.sfldmi.sbcglobal.net] has quit [Read error: Connection reset by peer] 07:22:31 realitygrill [~realitygr@adsl-76-226-119-17.dsl.sfldmi.sbcglobal.net] has joined #lisp 07:23:28 rme_ [~rme@pool-70-105-83-34.chi.dsl-w.verizon.net] has joined #lisp 07:24:21 -!- rme [rme@clozure-A331B99A.chi.dsl-w.verizon.net] has quit [Ping timeout] 07:24:22 -!- rme_ is now known as rme 07:24:40 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Ping timeout: 264 seconds] 07:25:07 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 07:25:19 -!- chrnybo [~user@76.23.213.193.static.cust.telenor.com] has quit [Ping timeout: 246 seconds] 07:25:19 -!- rme [~rme@pool-70-104-103-13.chi.dsl-w.verizon.net] has quit [Ping timeout: 246 seconds] 07:25:19 -!- rme_ is now known as rme 07:26:46 -!- bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has quit [Ping timeout: 258 seconds] 07:27:57 bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has joined #lisp 07:29:53 arbscht [~arbscht@60-234-133-173.bitstream.orcon.net.nz] has joined #lisp 07:31:17 -!- ltriant [~ltriant@110-174-168-43.static.tpgi.com.au] has quit [Quit: Computer has gone to sleep] 07:33:40 -!- arbscht [~arbscht@60-234-133-173.bitstream.orcon.net.nz] has quit [Client Quit] 07:34:22 arbscht [~arbscht@60-234-133-173.bitstream.orcon.net.nz] has joined #lisp 07:34:22 -!- arbscht [~arbscht@60-234-133-173.bitstream.orcon.net.nz] has quit [Changing host] 07:34:22 arbscht [~arbscht@unaffiliated/arbscht] has joined #lisp 07:35:18 c_arenz [~arenz@nat/ibm/x-hbvzgnnotepyinfv] has joined #lisp 07:35:31 Salamander_ [~Salamande@ppp121-45-134-126.lns21.adl2.internode.on.net] has joined #lisp 07:36:04 -!- Salamander [~Salamande@ppp118-210-142-47.lns20.adl6.internode.on.net] has quit [Ping timeout: 252 seconds] 07:36:19 -!- homie` [~levgue@xdsl-78-35-133-140.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:41:40 would it be possible to create a reader macro that will automatically escape \ in the string literal? #foo"\w \b" => "\\w \\b" 07:42:08 I guess not since string it already escaped before it reaches macro 07:42:12 is* 07:42:30 not 07:42:45 -!- Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 248 seconds] 07:42:57 beelike: see cl-interpol (i think that was the library) 07:43:03 homie [~levgue@xdsl-78-35-133-140.netcologne.de] has joined #lisp 07:45:03 Beetny [~Beetny@ppp118-208-31-39.lns20.bne1.internode.on.net] has joined #lisp 07:45:04 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 07:45:27 gaidal [~gaidal@113.109.133.118] has joined #lisp 07:45:45 beelike: if you make your own reader macro, and do not use CL's READ (or friends) to read the string, then the backslashes won't be treated specially 07:47:11 beelike: note also that your reader macro will be #f, and you'd have to process the "oo" after that yourself 07:48:24 The harder problem will involve handling #fo 07:48:50 relcomp [~chatzilla@nat.rz.uni-karlsruhe.de] has joined #lisp 07:48:56 The CL reader kind of sucks. 07:49:32 #/foo/ has been suggested as a word-dispatching facility 07:49:53 I think it can be found in iolib 07:51:38 markskilbeck [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has joined #lisp 07:51:38 -!- markskilbeck [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has quit [Changing host] 07:51:38 markskilbeck [~markskilb@unaffiliated/markskilbeck] has joined #lisp 07:54:01 -!- mark__ [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has quit [Ping timeout: 246 seconds] 07:57:28 Joreji [~thomas@78-120.eduroam.RWTH-Aachen.DE] has joined #lisp 07:57:28 I'm getting this error: Evaluation aborted on # do you know why? 07:58:08 Presumably it can't find a package. 07:58:10 <|3b|> your package can't be found 07:58:23 Arrange for the defpackage to happen first. 07:58:28 <|3b|> look at the backtrace for more info 07:58:57 <|3b|> actually, i guess in that case it might not have a backtrace, maybe scroll back instead 07:58:57 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 07:59:09 insomniaSalt [~milan@port-92-204-1-9.dynamic.qsc.de] has joined #lisp 07:59:30 gaidal [~gaidal@113.109.133.118] has joined #lisp 07:59:32 <|3b|> probably either a typo on a package name, or loading things in the wrong order as Zhivago suggested 08:00:47 morphling [~stefan@gssn-5f755eb0.pool.mediaWays.net] has joined #lisp 08:03:02 -!- insomnia1alt [~milan@port-92-204-126-34.dynamic.qsc.de] has quit [Ping timeout: 276 seconds] 08:03:15 The ParentScript manual mentions (new ), but doesn't give the syntax. How do you make an instance? (new foo) and (new (foo)) don't work. 08:03:18 naeg [~naeg@194.208.239.170] has joined #lisp 08:03:57 can anyone help me with this package problem: http://paste.pocoo.org/show/374953/ 08:04:32 Wait, I got it 08:05:07 Salamander__ [~Salamande@ppp121-45-93-137.lns20.adl6.internode.on.net] has joined #lisp 08:05:15 (funcall (new foo) a b c)? 08:05:18 <|3b|> bsod1: looks like you are loading code written for some other lisp 08:06:09 |3b|: I'm writing a code from land of lisp on sbcl. the book uses clisp. is it why this happens? 08:06:16 <|3b|> is it not (new (*foo a b c)) anymore? (assuming Foo in js) 08:06:38 <|3b|> bsod1: yes, people have ported the code to sbcl i think though, google search should find it 08:06:39 mishoo__ [~mishoo@79.112.237.103] has joined #lisp 08:07:07 -!- Salamander_ [~Salamande@ppp121-45-134-126.lns21.adl2.internode.on.net] has quit [Ping timeout: 246 seconds] 08:07:10 pdelgallego_ [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #lisp 08:07:10 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #lisp 08:07:44 <|3b|> bsod1: EXT is the name of a package where clisp puts non-standard extensions... sbcl puts them different places, and has different extensions 08:08:32 |3b|: so is there a way to run this code on sbcl? 08:08:55 parenscript + cl-js is so fun XD 08:09:50 <|3b|> bsod: google search for land of lisp sbcl 08:10:11 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 276 seconds] 08:10:12 <|3b|> bsod1: that should find various examples of how to fix it 08:10:43 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 08:11:50 *|3b|* hasn't read it, and doesn't use clisp much, so anything i said about how to fix it would just be repeating one of those links anyway :) 08:12:58 -!- OliverUv [fuckident@valkyrie.underwares.org] has quit [Read error: Operation timed out] 08:13:04 mark__ [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has joined #lisp 08:13:05 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 08:13:25 gaidal [~gaidal@113.109.133.118] has joined #lisp 08:15:01 -!- markskilbeck [~markskilb@unaffiliated/markskilbeck] has quit [Ping timeout: 246 seconds] 08:15:16 |3b|: http://news.ycombinator.com/item?id=1851948 :) 08:16:52 markskilbeck [~markskilb@unaffiliated/markskilbeck] has joined #lisp 08:17:16 -!- beelike [maln@93-138-111-184.adsl.net.t-com.hr] has quit [] 08:18:12 -!- codetonowhere1 [~Adium@78-105-3-181.zone3.bethere.co.uk] has quit [Quit: Leaving.] 08:18:31 -!- mark__ [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has quit [Ping timeout: 246 seconds] 08:22:09 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Ping timeout: 240 seconds] 08:23:25 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 246 seconds] 08:23:56 slash_ [~unknown@pD955B477.dip.t-dialin.net] has joined #lisp 08:23:59 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 08:24:02 how many print functions in common lisp? I'm new at lisp and having difficult times understanding why there are this many funtions with similiar(or same) purposes. print, princ, prin1, prin1-to-string ... 08:24:17 -!- morphling [~stefan@gssn-5f755eb0.pool.mediaWays.net] has quit [Remote host closed the connection] 08:24:25 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 08:25:54 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.4] 08:26:41 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 240 seconds] 08:26:42 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 08:27:11 gaidal [~gaidal@113.109.133.118] has joined #lisp 08:27:30 OliverUv [fuckident@valkyrie.underwares.org] has joined #lisp 08:28:46 they serve different purposes 08:28:58 <|3b|> bsod1: look at the list of options to write, most of the prin* ones just provide common sets of options (stuff like printing things for the computer to read back later, or printing stuff for people to read) 08:29:26 lbc_ [~quassel@1908ds1-aboes.0.fullrate.dk] has joined #lisp 08:29:31 mark__ [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has joined #lisp 08:29:34 <|3b|> the -to-string are when you want a string for further processing instead of printing it directly 08:31:20 -!- mark__ [~markskilb@host86-137-70-46.range86-137.btcentralplus.com] has quit [Client Quit] 08:31:52 naeg [~naeg@170-18-182-46.nbiserv.com] has joined #lisp 08:32:31 -!- markskilbeck [~markskilb@unaffiliated/markskilbeck] has quit [Ping timeout: 246 seconds] 08:33:40 -!- bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has quit [Quit: leaving] 08:34:11 -!- eli [~eli@winooski.ccs.neu.edu] has quit [Ping timeout: 252 seconds] 08:36:13 -!- drdo [~user@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 260 seconds] 08:37:12 hlavaty [~user@91-65-223-81-dynip.superkabel.de] has joined #lisp 08:40:19 -!- Guest65988 is now known as seejay 08:40:21 -!- seejay [~seejay@plexyplanet.org] has quit [Changing host] 08:40:21 seejay [~seejay@unaffiliated/seejay] has joined #lisp 08:41:25 -!- ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has quit [Ping timeout: 248 seconds] 08:42:00 ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has joined #lisp 08:42:16 nha [~prefect@imamac13.epfl.ch] has joined #lisp 08:42:31 xcv [~xcv@85.197.225.28] has joined #lisp 08:42:32 -!- xcv [~xcv@85.197.225.28] has quit [Remote host closed the connection] 08:45:33 -!- OliverUv [fuckident@valkyrie.underwares.org] has quit [Ping timeout: 260 seconds] 08:46:43 BrandLeeJones [~BrandLeeJ@84.114.246.246] has joined #lisp 08:47:07 OliverUv [fuckident@valkyrie.underwares.org] has joined #lisp 08:52:38 -!- bubo [~bubo@178-191-149-154.adsl.highway.telekom.at] has quit [Ping timeout: 276 seconds] 08:53:43 -!- xxxyyy [~xyxu@58.41.12.183] has quit [Ping timeout: 260 seconds] 08:53:46 bubo [~bubo@178-191-223-161.adsl.highway.telekom.at] has joined #lisp 08:54:15 xxxyyy [~xyxu@58.41.12.183] has joined #lisp 08:56:17 -!- realitygrill [~realitygr@adsl-76-226-119-17.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 08:56:48 gaidal_ [~gaidal@113.109.133.118] has joined #lisp 09:00:17 -!- gaidal [~gaidal@113.109.133.118] has quit [Ping timeout: 240 seconds] 09:03:37 aerique [310225@xs3.xs4all.nl] has joined #lisp 09:03:47 http://paste.debian.net/plainh/33073591 09:03:55 surely this is not my fault?! 09:04:11 Bahman [~Bahman@2.144.245.203] has joined #lisp 09:05:15 debian < archlinux.org 09:05:55 Euthydemus [~euthydemu@vaxjo3.208.cust.blixtvik.net] has joined #lisp 09:06:19 republican_devil: your opinion on linux distributions is offtopic 09:06:23 Deesl [~bsdboy@unaffiliated/deesl] has joined #lisp 09:06:32 Hi all! 09:06:34 <|3b|> xale: hard to say from that 09:08:24 <|3b|> xale: are you doing anything FFI related? (calling C libraries, etc) 09:08:29 no, no. 09:08:33 <|3b|> xale: or setting safety to 0 anywhere? 09:08:48 no, nothing like that. 09:09:09 <|3b|> that suggests not your fault then 09:09:20 mstevens [~mstevens@89.145.84.152] has joined #lisp 09:09:22 agreed 09:09:30 -!- mstevens [~mstevens@89.145.84.152] has quit [Changing host] 09:09:31 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 09:10:23 <|3b|> for best results, helps to say what you were doing to get the error along with the backtrace though 09:10:46 gaidal__ [~gaidal@113.109.133.118] has joined #lisp 09:11:33 <|3b|> (well, could be 'your fault' as in something you did triggered it, but with default safety settings and no FFI, implementations should be harder to crash even if you did do something odd) 09:12:59 <|3b|> oh yeah, were you declaring types for things? some implementations might trust you even if you get it wrong, don't remember if ccl was one of those 09:14:26 it seems ccl has a problem with the way i use displaced arrays. 09:14:38 which isn't anything out of the ordinary, i think. 09:14:44 -!- gaidal_ [~gaidal@113.109.133.118] has quit [Ping timeout: 276 seconds] 09:15:45 Krystof [~csr21@158.223.161.59] has joined #lisp 09:15:47 <|3b|> make sure you didn't pass it to anything that declares it a simple-array or something 09:16:56 -!- rme [~rme@pool-70-105-83-34.chi.dsl-w.verizon.net] has quit [Quit: rme] 09:18:28 <|3b|> have you been messing with *standard-output* or other output stream vars? 09:18:57 <|3b|> sort of odd that it failed in swank code 09:19:30 i'm calling swank functions so that's probably ok. 09:19:39 <|3b|> hmm, i guess that just prints to a string 09:19:53 <|3b|> ah, how are you calling them? 09:20:04 what's really strange is that it does not always happen when running the same code. 09:21:18 <|3b|> it seems to be getting an event that causes an error when printed, so maybe check for broken print-object methods? 09:21:47 surely, something like that would fail every time? and with a different error? 09:22:08 i'm going to try other lisps. 09:28:52 -!- ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has quit [Ping timeout: 264 seconds] 09:29:19 well, sure enough, it does not happen on sbcl. 09:29:22 drl [~lat@110.139.230.142] has joined #lisp 09:29:43 <|3b|> any interesting warnings? 09:29:52 nope. 09:29:58 amirhoshangi [~amir@95.38.52.69] has joined #lisp 09:30:17 hi guys 09:31:01 ive installed emacs and slime in ubuntu, but slime install sbcl , how can i customize emacs to use CLISP ? 09:31:53 (setq inferior-lisp-program "clisp") 09:32:18 <|3b|> we usually advise against letting linux distros install lisp stuff for you, but what xale said should work 09:32:18 amirhoshangi: just out of curiosity -- why do you want exactly clisp? 09:32:24 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 09:32:38 -!- Joreji [~thomas@78-120.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 240 seconds] 09:32:52 *|3b|* has heard clisp doesn't work as well with slime as other lisps recently 09:32:58 you know ive found most lots of projects on it, and im reading a book is based on it 09:33:16 -!- republican_devil [~g@pool-74-111-197-135.lsanca.fios.verizon.net] has quit [Read error: Connection reset by peer] 09:34:16 amirhoshangi: trust me you are better off with SBCL 09:34:42 <|3b|> if you mean land of lisp, most of it should work directly, and the rest has probably been ported by various people around the 'net 09:36:31 myself rather sbcl, (there are some bad design in clisp), but i just wana know is clisp also available in emacs ? 09:36:33 josemanuel [~josemanue@147.1.222.87.dynamic.jazztel.es] has joined #lisp 09:36:54 yes 09:36:56 Question regarding swank backtrace: when a function calls another function in more than one place, how do I see _which_ call is to blame? 09:36:59 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 260 seconds] 09:37:16 <|3b|> flip214: turn up debug and hit v on the frame? 09:37:22 <|3b|> (or maybe the next frame up) 09:37:37 I'd need the swank internals ... currently working on slimv 09:37:44 so that the information is shown 09:37:58 debug should be at 3 already 09:38:01 <|3b|> ah, probably implementation dependent then 09:39:02 frame-source-location returns a filename, but line number 0, and the snippet is just the first lines of the file (known problem with sbcl) 09:39:28 frame-call helps a bit, in that I can see the parameter and try to reason which call it is 09:40:02 but I'd like the line number within the function, or at least the general vicinity (like SBCL shows on errors - LET LET PROGN MAPCAR etc.) 09:40:03 -!- BrandLeeJones [~BrandLeeJ@84.114.246.246] has quit [Quit: BrandLeeJones] 09:40:42 -!- iaindalton [~user@host-72-174-169-102.cdc-ut.client.bresnan.net] has quit [Ping timeout: 240 seconds] 09:41:29 so how can i configure emacs to use clisp ? 09:42:01 <|3b|> first answer you got had instructions 09:42:33 <|3b|> put (setq inferior-lisp-program "clisp") in .emacs 09:43:16 gaidal_ [~gaidal@113.109.133.118] has joined #lisp 09:43:19 let me check 09:44:12 sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has joined #lisp 09:44:29 Is there I can evaluate an expression I read in a particular context? 09:44:33 <|3b|> (and either restart emacs, or evaluate that form) 09:44:52 So, if I read (+ h 13) into foo, how do I evaluate foo in a context where h is, say, 5. 09:44:54 ? 09:45:01 <|3b|> sanjoyd: you can add context to the expression before evaluating it 09:45:05 there is no .emacs in ubuntu there is just .emacs.d 09:45:10 |3b|: how? 09:45:24 Other than "manually" replacing the symbols. 09:45:30 Or is that the only way? 09:45:31 <|3b|> (eval `(let ((h 5)) ,@expression)) ? 09:45:46 rookievoice [~rookie@hoas-fe3ddd00-245.dhcp.inet.fi] has joined #lisp 09:45:47 <|3b|> or i guess ,expression would work better 09:45:56 amirhoshangi: .emacs.d in ubuntu holds plugins etc 09:46:03 workthrick [~mathrick@emp.nat.sdu.dk] has joined #lisp 09:46:06 <|3b|> amirhoshangi: .emacs should work, just create it 09:46:10 you can add .emacs to your home directory 09:46:30 k, making one ... 09:46:52 -!- gaidal__ [~gaidal@113.109.133.118] has quit [Ping timeout: 246 seconds] 09:49:32 drl [~lat@110.139.230.142] has joined #lisp 09:49:50 mcox [~user@124-171-214-107.dyn.iinet.net.au] has joined #lisp 09:49:58 <|3b|> flip214: looks like code-location-source-location is returning something with either (:position xxx) or (:offset yyy zzz) which point to the exact form in the function 09:50:39 and how do I call that via swank? Just direct call? There's no defslimefun for that, is there? 09:50:59 i added setq inferior-lisp-program "clisp" to .emacs but still its sbcl. :( 09:50:59 -!- drl [~lat@110.139.230.142] has quit [Read error: Connection reset by peer] 09:51:08 <|3b|> this is printing out the values in frame-source-function when i hit v in sldb 09:51:15 Is it possible for a macro to know if it is toplevel form? 09:51:27 <|3b|> amirhoshangi: did you restart emacs? 09:51:44 just exited and ran again. 09:52:00 <|3b|> mcox: i suspect not, but possibly with clever eval-when tricks? 09:52:06 |3b|: I have no frame-source-function ... do you mean frame-source-location? 09:52:22 <|3b|> sorry, yeah 09:52:41 |3b|: ok cheers. I was struggling to find a place to start investigating. 09:52:55 <|3b|> mcox: why do you want to know that? 09:54:35 |3b|: do I have to to (setf *debug-swank-backend* t) for that? 09:54:37 <|3b|> flip214: the :snippet part looks accurate as well actually 09:54:53 *|3b|* just added a (print ) around the call :p 09:55:11 |3b|: not for me ... Perhaps I have to set some option? toggle-debug-on-swank-error? 09:55:37 amirhoshangi: http://www.osix.net/modules/article/?id=912 09:56:22 reading... :) 09:56:32 |3b|: I have been thinking of a compiler optimisation for a particular function. If it is a top level form it has to produce thread safe temporary variables, if it isn't there is no point. 09:56:49 gaidal__ [~gaidal@113.109.133.118] has joined #lisp 09:57:36 |3b|: Sorry..function is misleading. An interaction between the compiler-macro for a function and this hypothetical macro. 10:00:11 -!- gaidal_ [~gaidal@113.109.133.118] has quit [Ping timeout: 240 seconds] 10:00:27 amirhoshangi: that article is a bit dated (emacs does create a launch icon in the ubuntu menus in the last 3 or 4 releases) but should give you the basics... 10:00:35 -!- xxxyyy [~xyxu@58.41.12.183] has quit [Quit: Leaving.] 10:00:54 <|3b|> mcox: ok, complicated enough i can't tell if there is some better alternative, so i will trust your judgement :) 10:01:16 -!- spradnyesh [~pradyus@nat/yahoo/x-bwyjwhyxmjalipob] has quit [Ping timeout: 264 seconds] 10:01:17 Hmmm, even after toggle-debug-on-swank-error I get the famous "WARNING: inconsistent form-number-translations" 10:01:23 yup, but i rather console mode. 10:02:13 -!- naeg [~naeg@170-18-182-46.nbiserv.com] has quit [Quit: WeeChat 0.3.2] 10:03:24 spradnyesh [~pradyus@nat/yahoo/x-voeyuafpnzwozpyd] has joined #lisp 10:04:42 gemelen [~shelta@shpd-92-101-132-145.vologda.ru] has joined #lisp 10:05:00 Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has joined #lisp 10:06:45 :( still uses sbcl !! 10:07:37 -!- spradnyesh [~pradyus@nat/yahoo/x-voeyuafpnzwozpyd] has quit [Ping timeout: 240 seconds] 10:07:56 <|3b|> amirhoshangi: if you type M-- M-x slime does it say [no match] or sbcl ? 10:09:03 <|3b|> oops, between slime and 10:09:11 ignas [~ignas@78-60-36-123.static.zebra.lt] has joined #lisp 10:09:54 it says , complete but not uniqe 10:10:04 and then shows all of available lit 10:10:06 -!- rdd [~rdd@c83-250-52-16.bredband.comhem.se] has quit [Read error: Connection reset by peer] 10:10:06 list* 10:10:18 gaidal_ [~gaidal@113.109.133.118] has joined #lisp 10:10:20 <|3b|> on slime? 10:10:32 rdd [~rdd@c83-250-52-16.bredband.comhem.se] has joined #lisp 10:10:36 yeah 10:10:37 <|3b|> hit enter then hit tab again 10:11:17 so it loads slime 10:11:20 <|3b|> should prompt for "Lisp name: " 10:11:35 <|3b|> did you hit M-- before M-x ? 10:12:09 yup 10:12:24 <|3b|> and it didn't give the "lisp name" prompt? 10:12:26 |3b|: didn't know that, that's cool 10:12:54 <|3b|> madnificent: the M-- M-x slime? yeah, nice when you want multiple lisps / versions installed 10:13:03 -!- mcox [~user@124-171-214-107.dyn.iinet.net.au] has left #lisp 10:13:12 |3b|: and I want that! and it has always been a mess 10:13:26 k 10:13:27 <|3b|> (configure with slime-lisp-implementations + slime-default-lisp instead of inferior-lisp-program) 10:13:41 -!- gaidal__ [~gaidal@113.109.133.118] has quit [Ping timeout: 248 seconds] 10:14:14 <|3b|> amirhoshangi: ok, try M-: slime-lisp-implementations 10:14:27 <|3b|> amirhoshangi: and see if it prints NIL or a list at the bottom of the screen 10:14:53 <|3b|> amirhoshangi: (also, how familiar are you with emacs? not sure how much to assume you know what i'm talking about :) 10:15:31 naeg [~naeg@194.208.239.170] has joined #lisp 10:15:48 im vim'er (beasts one :D) but i can get basic emacs 10:15:52 *madnificent* is learning while reading |3b|'s help 10:16:18 -!- Vutral [lmyXBs0lnl@vutral.net] has quit [Ping timeout: 240 seconds] 10:16:40 M- means just alt ? 10:16:48 -!- neoesque [~neoesque@210.59.147.232] has quit [Quit: Bye!] 10:16:50 <|3b|> M-- is alt - 10:17:07 <|3b|> there are 2 - after the M in that one 10:17:15 got it 10:17:22 <|3b|> M- with one - is prefix meaning alt + something else 10:17:44 |3b|: can you give an example configuration for slime-lisp-implementations and slime-default-lisp? 10:17:58 <|3b|> M-- (alt -) is sort of a magic prefix for other command that enables some alternate behavior 10:18:22 <|3b|> madnificent: just a sec, let me find a pastebin 10:18:28 paste.lisp.org 10:18:34 <|3b|> is that back up? 10:18:57 paste.debian.net is pretty good. 10:19:00 |3b|: yes, but don't check it! It may make your computer explode or make me look silly 10:19:00 amirhoshangi: If you're used to vim, you might want to use vim - with the slimv plugin 10:19:14 |3b|: pastie.org 10:19:54 yeah the best solution :) 10:21:03 <|3b|> madnificent: https://gist.github.com/930929 10:21:34 |3b|: thanx for helps, really helpful 10:22:14 -!- lbc_ [~quassel@1908ds1-aboes.0.fullrate.dk] has quit [Read error: Connection reset by peer] 10:22:26 ive wrote years in java,perl ... . but im falling in love with lisp ? 10:22:48 |3b|: ty, trying it out now :) 10:23:38 <|3b|> amirhoshangi: did you try the M-: slime-lisp-implementations ? 10:24:58 |3b|: really makes life easier, great! 10:25:22 i press alt but when i write slime*** nothing happens 10:25:41 Vutral [ss@vutral.net] has joined #lisp 10:25:53 <|3b|> amirhoshangi: alt : then type slime-lisp-implementations then hit enter 10:26:12 *|3b|* wonders if amirhoshangi needs a more readable font for punctuation :) 10:26:23 amirhoshangi: that : must by typed as well, whilst pressing alt (which is what M-: means) 10:27:44 killerboy [~mateusz@smrw-91-193-87-5.smrw.lodz.pl] has joined #lisp 10:28:48 i did nothing happend :( 10:29:20 hi 10:29:37 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Ping timeout: 258 seconds] 10:29:38 amirhoshangi: loot at the bottom of the window, it should say Eval: 10:30:03 also, to shift must be pressed to get the colon 10:30:10 M-: ? 10:30:10 held actually 10:30:22 amirhoshangi: well, press escape a bunch of time until nothing special appears there, then press M-: (on querty that requires you to press Alt+Shift+;) 10:30:34 it's actually M-shift-. 10:30:34 when i press = " alt+shit+: " it says eval: 10:30:50 amirhoshangi: YES! that's what |3b| wanted 10:30:54 yes, that's the prompt where you can eval arbitrary lisp 10:30:58 now enter slime-lisp-implementations and press return 10:31:00 well elisp mostly 10:31:00 were lisp machines von neumann architextures or similar (harvard etc.) or something completely different? 10:31:04 it'll probably say NIL 10:31:24 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 10:31:43 it says : (("sbcl" ("sbcl")) ("clisp" ("clisp"))) 10:32:01 aperturefever [20164@ninthfloor.org] has joined #lisp 10:32:04 so first one is sbcl, second clisp 10:32:06 |3b|: your queue 10:32:23 <|3b|> amirhoshangi: ok, this is why we say not to use distro provided lisp stuff, since we have no idea how they are configured :) 10:32:47 M--M-x slime will start slime and ask for the one to use 10:32:53 <|3b|> add (setq slime-default-lisp "clisp") to .emacs and try again 10:33:09 ive set that but nothing happend 10:33:12 |3b|: you're advising clisp over sbcl? (why?) 10:33:26 madnificent: hes not, amirhoshangi wants it badly 10:33:26 <|3b|> madnificent: the whole goal was to get clisp :p 10:33:34 spradnyesh [~pradyus@nat/yahoo/x-rbgxfxqryswzgtxf] has joined #lisp 10:33:41 zomgbie [~jesus@85-127-5-87.dynamic.xdsl-line.inode.at] has joined #lisp 10:33:47 anyway clisp is free software 10:33:48 amirhoshangi: don't forget to eval (or restart emacs) 10:33:54 <|3b|> amirhoshangi: with slime-default-lisp, as opposed to inferior-lisp-program as was suggested earlier? 10:33:56 |3b|: ah, ok LoL cool :) 10:33:59 -!- lundis [~lundis@dyn56-304.yok.fi] has quit [Quit: Fear not, I will return] 10:34:06 amirhoshangi: and others are not? 10:34:08 <|3b|> amirhoshangi: sbcl is public domain, even freer :p 10:34:09 amirhoshangi: yes the code is free, but the programmer isn't 10:34:23 lol 10:34:39 anyway i rather what Stallman suggest :) 10:34:55 have you ever seen a picture of stallman amirhoshangi? 10:34:56 <|3b|> well, at least it isn't gcl :) 10:34:56 Stallman suggests clisp? 10:34:59 hes baked all the time 10:35:15 yeah 10:35:29 jdz: stallman doesn't like BSD/MIT, so I guess he has to 10:35:31 amirhoshangi: do you have anurl? 10:35:32 makks: he is worse in person... or if you have to room with him 10:35:45 I like him but he must always be high as fuck 10:36:08 pic of him ?!! im his follower :) 10:36:25 -!- BullShark [debian-tor@gateway/tor-sasl/nanomachine] has quit [Ping timeout: 246 seconds] 10:36:25 amirhoshangi: have you tried restarting emacs and M-x slime to see if it gives you a clisp output? 10:36:50 p_l|backup: haha 10:37:08 m doing 10:37:15 p_l|backup: did you have to listen to the free software song? 10:37:29 amirhoshangi: C-u M-x slime clisp <--- should give you clisp 10:37:44 makks: ... no. I prefer OpenBSD ones :P 10:38:13 <|3b|> p_l|backup: yeah, we're trying to get the default configured though :) 10:38:56 <|3b|> (that would have been the next suggestion if it hadn't turned out to be using slime-lisp-implementations) 10:39:08 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Quit: Lost terminal] 10:39:14 BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has joined #lisp 10:39:27 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 10:40:12 hell yeah thats works 10:40:20 what? ecl has threading support? 10:40:35 <|3b|> that's been true for ages, hasn't it? 10:40:35 i used C-u M-x slime clisp 10:40:45 |3b|: I never knew! 10:41:34 madnificent: it has, probably the most portable one, even 10:42:24 ... wasn't it something among the lines of "if it has POSIX api including threads, ECL *will* run on it"? 10:42:46 p_l|backup: sweet, then there's only a speed issue :) 10:43:15 -!- fmu` is now known as fmu 10:44:10 now i have clisp in my emacs , tnx guys 10:44:36 -!- lifeng [~lifeng@155.69.43.70] has quit [Quit: Leaving] 10:45:33 madnificent: well, it's not targeting the place of "the fastest" 10:46:25 -!- gaidal_ [~gaidal@113.109.133.118] has quit [Ping timeout: 260 seconds] 10:48:17 p_l|backup: true 10:49:39 p_l|backup: I was surprised to see that the ruby-intepreter consumed less cycles and less memory than ECL for some trivial scripts 10:51:33 madnificent: 1.8 or 1.9? 10:52:13 p_l|backup: ruby? 10:52:34 1.8.7, it seems, versus ecl 11.1.1 10:53:08 though it was a polling script, so it's a very limited case 10:53:17 *madnificent* just wanted lisp to be superior 10:53:50 madnificent: for certain specific cases, like a trivial script with most of the calls to FFI or things implemented in C, ruby 1.8 will have big speedup on start 10:54:17 because it will just parse and then walk the tree, with all heavy lifting happening in C 10:55:12 jingtao [~jingtaozf@123.120.22.178] has joined #lisp 10:58:28 p_l|backup: ah, it wasn't the initial time that made that much of a difference, it was the actual running 10:58:44 gaidal_ [~gaidal@113.109.133.118] has joined #lisp 10:59:03 p_l|backup: though the script didn't do much more than 'read file, check value, dump output', so it's certainly not the best case for ecl 10:59:29 i don't get it why is maxima's maxima.asd not copied into the dest/src folder 10:59:48 i only see it in the source tree/src folder but not when i install it 10:59:58 dullard [~user@188-223-137-38.zone14.bethere.co.uk] has joined #lisp 11:00:50 madnificent: if it was the size of one liner and mostly called Ruby standard library, there probably wasn't much to do... especially since some I/O functions are basically thin wrappers over syscalls (something I exploited mercilessly when making web interface to maxima) 11:01:35 p_l|backup: yeah, I know... I guess I just wanted more out of it for some reason or another... 11:01:56 p_l|backup: don't get me wrong, I'm happy we have ecl around 11:02:18 -!- BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has quit [Quit: BrandLeeJones] 11:03:15 speaking of "baked", how's cl.net coming along? Been offline official days now. 11:03:16 BullShark [debian-tor@gateway/tor-sasl/nanomachine] has joined #lisp 11:04:16 *|3b|* has still heard nothing official on the topic :( 11:05:51 *JuanDaugherty* would volunteer to help but looks like cl.net would have to be up to do so. 11:06:04 xinming [~hyy@115.221.14.140] has joined #lisp 11:07:13 http://twitter.com/#!/HansHuebner << all I know 11:08:19 nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has joined #lisp 11:08:19 -!- nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has quit [Changing host] 11:08:19 nefo [~nefo@unaffiliated/nefo] has joined #lisp 11:09:03 ist der "ehu"? 11:09:10 xxxyyy [~xyxu@58.41.160.252] has joined #lisp 11:09:21 gaidal__ [~gaidal@113.109.133.118] has joined #lisp 11:10:13 -!- spradnyesh [~pradyus@nat/yahoo/x-rbgxfxqryswzgtxf] has quit [Ping timeout: 260 seconds] 11:11:53 madnificent: have you tried compiling the code? 11:12:02 gaidal [~gaidal@113.109.133.118] has joined #lisp 11:12:45 spradnyesh [~pradyus@nat/yahoo/x-aaqfosklchwxmmmr] has joined #lisp 11:12:49 -!- gaidal_ [~gaidal@113.109.133.118] has quit [Ping timeout: 246 seconds] 11:13:17 p_l|backup: I did that, IIRC 11:13:52 p_l|backup: but it being a wrapper, ruby might've optimized it all out to C, and ecl might've done some conversion here or there 11:14:29 -!- gaidal__ [~gaidal@113.109.133.118] has quit [Ping timeout: 248 seconds] 11:14:36 -!- amirhoshangi [~amir@95.38.52.69] has left #lisp 11:14:38 possibly. Those kind of scripts make for weird, on first look, performance 11:15:28 doesn't help that the Unix API was more about simplicity than versatility and performance (no real async I/O, argh!) 11:15:39 p_l|backup: http://pastie.org/1815022 11:17:05 kpreid [~kpreid@128.153.214.177] has joined #lisp 11:17:56 hmm... I wonder if extra cost wasn't caused by stream setup 11:18:00 p_l|backup: now that I look at it again, perhaps some optimizations could've filtered it out :) 11:18:30 p_l|backup: with-open-file? what's the 'fast' way of reading the first few bytes of a file? 11:18:36 btw, I recommend not using w-o-f *inside the loop - do it outside and just seek back to 0 11:18:44 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 11:19:04 or find if there's a way to nicely replicate pread(2) 11:19:15 p_l|backup: yeah, would've been better, introducing constancs would be good as well 11:19:33 p_l|backup: then again, the script is already more complex here than in ruby, so it may be a waste regardless 11:19:49 -!- Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 246 seconds] 11:19:52 though it's easier to read it now 11:20:05 madnificent: not setting up file access every iteration removes several syscalls on much more costly paths than lseek 11:20:28 p_l|backup: yeah, I think I may try that out, actually :D 11:20:34 in fact, such behaviour was once pointed as an issue with irqbalance daemon 11:20:49 it's less of cpu use, though, but more about laptop use 11:26:40 p_l|backup: can you do a seek in CL? I can't find out how 11:26:51 -!- chr` [~user@148.122.202.244] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:27:18 <|3b|> (file-position foo :start) or something like that 11:27:45 ah thanks 11:29:26 I've got a macro that expands into an `(iter ... (collecting (funcall ,fn ,var))). When calling the macro with #'1+ SBCL complains on compilation that it cannot dump functions into FASLs. 11:30:17 I'd like to pass as #'ref, as I find that good documentation ... what does that macro have to do here? 11:30:45 Can it do anything? perhaps no, because it already gets a function reference, and cannot rewrite that into a symbol, right? 11:31:02 So I have to pass '1+, and use (funcall ',fn ,var) - correct? 11:33:43 neoesque [~neoesque@210.59.147.226] has joined #lisp 11:33:51 Now I still get a compiler note "warning: Asserted type (OR FUNCTION SYMBOL) conflicts with derived type (VALUES CONS &OPTIONAL)" 11:34:09 p_l|backup: will need to leave it running for a few hours to get a meaningful number :) 11:34:09 And I think I cannot pass a (lambda ...) into the macro ... 11:35:24 <|3b|> hmm, not sure what you are doing there just from that, sounds like it should work with #' 11:37:23 <|3b|> possibly iter doing something strange? 11:40:06 <|3b|> doesn't seem to, dunno 11:41:57 agoldson [~abg3x@unaffiliated/apot] has joined #lisp 11:42:08 urandom__ [~user@p548A6D3F.dip.t-dialin.net] has joined #lisp 11:42:13 <|3b|> (lambda ...) should work as well as #', and break the same way if something is somehow evaluating things too soon 11:45:02 |3b|: I think I found my solution, see macro3 in http://paste.debian.net/114582/ 11:45:40 *|3b|* wonders shy paste.debian.net is so hard to resolve 11:45:43 <|3b|> *why 11:46:09 *|3b|* suspects wifi router is being stupid again or something 11:46:42 no, my bad. doesn't compile again - "Objects of type FUNCTION can't be dumped into fasl files." 11:46:44 ;-( 11:48:00 lbc_ [~quassel@1908ds1-aboes.0.fullrate.dk] has joined #lisp 11:48:26 <|3b|> symbol-function is bad there 11:48:52 <|3b|> ''identity or '(function identity) or '#'identity 11:49:17 |3b| yes, your connectivity, came up instantly here. 11:50:30 <|3b|> JuanDaugherty: could also be dns servers or something, since it loads fast once it resolves 11:50:33 -!- longfin [~longfin@124.198.53.194] has quit [Remote host closed the connection] 11:50:38 |3b|: thank you very much! 11:50:47 *|3b|* is too lazy to try to diagnose it though 11:51:01 i meant the load, not just the name resolution 11:51:11 (< 1s) 11:53:01 silenius [~silenus@p549473DA.dip.t-dialin.net] has joined #lisp 11:53:02 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 11:53:26 gaidal [~gaidal@113.109.133.118] has joined #lisp 11:53:47 htierno [~htierno@108-100-16-190.fibertel.com.ar] has joined #lisp 11:53:48 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 11:54:24 gaidal [~gaidal@113.109.133.118] has joined #lisp 11:54:38 spurvewt [~fess@gate113.iba.by] has joined #lisp 11:54:43 -!- htierno [~htierno@108-100-16-190.fibertel.com.ar] has quit [Remote host closed the connection] 11:56:42 splittist [~splittist@AMontsouris-553-1-20-3.w92-151.abo.wanadoo.fr] has joined #lisp 11:57:44 p_l|backup: well, it consumes less cycles now, but it doesn't actually work :( f I reread the character, it keeps returning the old character, instead of reading out the new one. 11:59:21 -!- spradnyesh [~pradyus@nat/yahoo/x-aaqfosklchwxmmmr] has left #lisp 12:01:55 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 12:07:16 morning 12:07:17 -!- gaidal [~gaidal@113.109.133.118] has quit [Read error: Connection reset by peer] 12:07:25 hello splittist 12:14:39 -!- TheRealLongshot [~longshot@180.184.25.97] has quit [Quit: TheRealLongshot] 12:18:56 BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has joined #lisp 12:21:21 -!- rdd [~rdd@c83-250-52-16.bredband.comhem.se] has quit [Read error: Connection reset by peer] 12:21:33 -!- Krystof [~csr21@158.223.161.59] has quit [Ping timeout: 258 seconds] 12:22:45 rdd [~rdd@c83-250-52-16.bredband.comhem.se] has joined #lisp 12:22:55 madnificent: might be related to how stream work... 12:23:10 if you have interface exporting unix api, use open() and pread() 12:27:18 attila_lendvai [~attila_le@adsl-89-132-1-204.monradsl.monornet.hu] has joined #lisp 12:27:18 -!- attila_lendvai [~attila_le@adsl-89-132-1-204.monradsl.monornet.hu] has quit [Changing host] 12:27:18 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 12:27:42 -!- sellout [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 12:29:29 -!- relcomp [~chatzilla@nat.rz.uni-karlsruhe.de] has left #lisp 12:31:43 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 12:32:10 Mococa [~Mococa@187.58.12.208] has joined #lisp 12:32:45 -!- Odin- [~sbkhh@adsl-2-92.du.snerpa.is] has quit [Read error: Connection reset by peer] 12:35:13 -!- Beetny [~Beetny@ppp118-208-31-39.lns20.bne1.internode.on.net] has quit [Ping timeout: 246 seconds] 12:36:23 Odin- [~sbkhh@adsl-2-92.du.snerpa.is] has joined #lisp 12:41:13 -!- Mococa [~Mococa@187.58.12.208] has quit [Ping timeout: 260 seconds] 12:42:13 sellout [~Adium@64.134.240.143] has joined #lisp 12:42:22 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 12:42:38 -!- sellout is now known as Guest38108 12:42:59 -!- Guest38108 is now known as sellout- 12:45:15 mattrepl [~mattrepl@pool-71-191-34-172.washdc.fios.verizon.net] has joined #lisp 12:45:20 bobbysmith007 [~russ@216.155.103.30] has joined #lisp 12:46:17 novaburst [~novaburst@sourcemage/mage/novaburst] has joined #lisp 12:50:28 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Ping timeout: 246 seconds] 12:50:29 -!- pdelgallego_ [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Ping timeout: 248 seconds] 12:54:30 Joreji [~thomas@78-120.eduroam.RWTH-Aachen.DE] has joined #lisp 12:55:20 -!- BullShark [debian-tor@gateway/tor-sasl/nanomachine] has quit [Remote host closed the connection] 12:56:08 p_l|backup: don't know what I should read up on in order to do that. Haven't tried it 12:56:54 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 12:57:28 -!- McMAGIC--Copy [debian-tor@gateway/tor-sasl/mcmagic--copy] has quit [Ping timeout: 246 seconds] 12:58:19 McMAGIC--Copy [debian-tor@gateway/tor-sasl/mcmagic--copy] has joined #lisp 12:58:56 iterate and collecting - Is there a way to get both CONS cells, the start and the end of the collected list? 13:01:24 pnq [~nick@ACA278F1.ipt.aol.com] has joined #lisp 13:04:23 drl [~lat@110.139.230.142] has joined #lisp 13:07:35 does first and last not work for you ? 13:08:13 first would be wrong. 13:08:22 l and (last l) :) 13:10:42 well, I hoped that since it would have to have them anyway I could just get them for faster operations ... last is O(N), sadly 13:11:54 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #lisp 13:11:56 pdelgallego_ [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #lisp 13:14:05 flip214: it's a singly linked list, that's what you get 13:14:24 Krystof [~csr21@158.223.161.59] has joined #lisp 13:14:25 flip214: a vector isn't an option? 13:14:41 madnificent: yes, it's singly linked - but iterate can put cells on either end, so it has to have both cons cells, and that's what I'd like to get 13:15:03 BullShark [debian-tor@gateway/tor-sasl/nanomachine] has joined #lisp 13:15:18 only if I know some maximum element count in advance ... and even then its not practical sometimes. 13:15:40 -!- gravicappa [~gravicapp@ppp91-77-183-25.pppoe.mtu-net.ru] has quit [Ping timeout: 246 seconds] 13:16:05 varjag [~eugene@122.62-97-226.bkkb.no] has joined #lisp 13:16:48 -!- The_Fellow [~storm2@glida.mooo.com] has quit [Ping timeout: 260 seconds] 13:17:01 dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #lisp 13:17:13 why don't you use the size of the list 13:17:44 count 1 back and you have your last element 13:18:05 homie: if I only have the first cons cell, I still have to traverse the whole list to get the last element 13:18:42 well, lets say that I have multiple independent loops and want to build one huge list of all their results 13:18:49 well, then use a vector 13:19:26 i don't think there's a workaround of list traversals with lists 13:19:33 rather than using append (which has to traverse all [except the last] lists), I'd like to use "append to this cons cell and return the last one after you're done" 13:19:35 or cons cells 13:20:17 well, of course I can simply write collecting via (setf (cdr current-last) new-last current-last new-last)) and so on 13:20:25 but iterate already does that, that's why I'm asking 13:21:33 of course, I could simply use sb-concurrency:mailbox ... that has this already abstracted, IIRC 13:21:36 The_Fellow [~storm2@glida.mooo.com] has joined #lisp 13:22:05 micro-optimization :) 13:22:09 hargettp_ [~hargettp_@dhcp-162.mirrorimage.net] has joined #lisp 13:23:59 *Xach* wonders how many asdf-installable libraries pull from common-lisp.net 13:24:41 -!- cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has quit [Ping timeout: 240 seconds] 13:24:58 is cl.net back ? 13:25:13 common-lisp.net is not back 13:25:53 cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has joined #lisp 13:26:11 markskilbeck [~markskilb@unaffiliated/markskilbeck] has joined #lisp 13:26:36 kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has joined #lisp 13:26:50 -!- mattrepl [~mattrepl@pool-71-191-34-172.washdc.fios.verizon.net] has quit [Quit: mattrepl] 13:34:23 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 13:35:28 -!- bubo [~bubo@178-191-223-161.adsl.highway.telekom.at] has quit [Quit: leaving] 13:35:36 antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has joined #lisp 13:35:39 rmarianski [~rmariansk@mail.marianski.com] has joined #lisp 13:35:49 BrandLeeJones_ [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has joined #lisp 13:37:40 seangrove [~user@c-98-234-242-172.hsd1.ca.comcast.net] has joined #lisp 13:39:51 -!- kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has quit [Ping timeout: 240 seconds] 13:40:15 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 13:42:43 *Xach* hates that "cvs export" roundtrips to the server 13:43:53 -!- flip214 [~marek@unaffiliated/flip214] has quit [Remote host closed the connection] 13:44:11 gravicappa [~gravicapp@ppp91-77-183-25.pppoe.mtu-net.ru] has joined #lisp 13:45:01 morning 13:48:24 morning slyrus! 13:48:28 morning 13:49:17 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 248 seconds] 13:49:36 emporas [~emporas@athedsl-168289.home.otenet.gr] has joined #lisp 13:50:28 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 13:50:34 -!- Deesl [~bsdboy@unaffiliated/deesl] has quit [Quit: Bye!] 13:51:25 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Read error: Connection reset by peer] 13:51:42 alfa_y_omega [~alfa_y_om@89.129.116.150] has joined #lisp 13:51:59 cfy [~cfy@122.228.131.67] has joined #lisp 13:52:03 -!- cfy [~cfy@122.228.131.67] has quit [Changing host] 13:52:03 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 13:54:12 longfin [~longfin@211.187.37.46] has joined #lisp 13:54:13 cfy` [~cfy@122.228.131.67] has joined #lisp 13:54:31 -!- cfy` is now known as Guest80112 13:55:10 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Disconnected by services] 13:55:11 gnuplot does not fire from sbcl within emacs 13:55:18 -!- Guest80112 is now known as cfy 13:55:18 -!- cfy [~cfy@122.228.131.67] has quit [Changing host] 13:55:19 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 13:55:31 but it does from wxmaxima 13:55:34 -!- neoesque [~neoesque@210.59.147.226] has quit [Quit: Bye!] 13:55:39 what maybe the issue 13:56:04 i get error with establishing file descriptor 7 or such 13:56:56 -!- zomgbie [~jesus@85-127-5-87.dynamic.xdsl-line.inode.at] has quit [Quit: Lost terminal] 13:57:40 georgek_ [~george@184-77-70-234.war.clearwire-wmx.net] has joined #lisp 13:57:48 and the .asd files in src folder from maxima still don't get copied to dest/src 13:57:57 do i have to do that manually ? 13:58:04 i mean am i supposed to ? 13:58:30 -!- dullard [~user@188-223-137-38.zone14.bethere.co.uk] has quit [Remote host closed the connection] 13:59:14 pnq1 [~nick@AC810402.ipt.aol.com] has joined #lisp 14:00:55 -!- pnq [~nick@ACA278F1.ipt.aol.com] has quit [Disconnected by services] 14:01:08 -!- pnq1 is now known as pnq 14:02:41 -!- antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 14:02:45 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 258 seconds] 14:04:28 zilt [~zilt@67.23.13.119] has joined #lisp 14:06:01 -!- lemoinem [~swoog@216.252.86.144] has quit [Ping timeout: 252 seconds] 14:06:40 lemoinem [~swoog@216.252.94.61] has joined #lisp 14:07:41 antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has joined #lisp 14:08:22 gaidal [~gaidal@113.109.133.118] has joined #lisp 14:09:08 -!- antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has quit [Remote host closed the connection] 14:14:59 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 14:15:18 -!- georgek_ [~george@184-77-70-234.war.clearwire-wmx.net] has quit [Ping timeout: 240 seconds] 14:15:26 pirx [~pirx@195.225.69.9] has joined #lisp 14:16:14 muhdick [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has joined #lisp 14:18:48 -!- silenius [~silenus@p549473DA.dip.t-dialin.net] has quit [Remote host closed the connection] 14:18:58 udzinari [~user@nat/ibm/x-bhwknbfhjzvgqhox] has joined #lisp 14:21:39 -!- xian_ is now known as xian 14:22:11 -!- pirx is now known as pirxs 14:24:33 -!- pirxs [~pirx@195.225.69.9] has quit [Remote host closed the connection] 14:24:51 cesarbp [~chatzilla@189.247.100.75] has joined #lisp 14:29:05 hoeppner [~chatzilla@c-76-23-118-31.hsd1.sc.comcast.net] has joined #lisp 14:30:33 -!- homie [~levgue@xdsl-78-35-133-140.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:30:38 -!- slyrus [~chatzilla@adsl-75-36-231-87.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 240 seconds] 14:30:41 -!- nefo [~nefo@unaffiliated/nefo] has quit [Remote host closed the connection] 14:32:50 Patagous [9584bdeb@gateway/web/freenode/ip.149.132.189.235] has joined #lisp 14:33:11 trebor_dki [~user@mail.dki.tu-darmstadt.de] has joined #lisp 14:35:11 -!- slash_ [~unknown@pD955B477.dip.t-dialin.net] has left #lisp 14:38:40 -!- cesarbp [~chatzilla@189.247.100.75] has quit [Ping timeout: 240 seconds] 14:39:13 fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has joined #lisp 14:39:59 Ragnaroek [~chatzilla@boccacio.fh-trier.de] has joined #lisp 14:44:01 Bronsa [~brace@host146-179-dynamic.14-87-r.retail.telecomitalia.it] has joined #lisp 14:44:13 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Ping timeout: 246 seconds] 14:44:20 -!- udzinari [~user@nat/ibm/x-bhwknbfhjzvgqhox] has quit [Read error: Connection reset by peer] 14:44:39 cheezus [~Adium@76-10-136-155.dsl.teksavvy.com] has joined #lisp 14:48:10 milanj [~milanj_@79-101-169-52.dynamic.isp.telekom.rs] has joined #lisp 14:48:59 dfox [~dfox@ip-94-113-89-201.net.upcbroadband.cz] has joined #lisp 14:50:04 -!- sellout- [~Adium@64.134.240.143] has quit [Quit: Leaving.] 14:50:20 homie [~levgue@xdsl-78-35-133-140.netcologne.de] has joined #lisp 14:52:28 xcv [~xcv@dsl-225-28.hive.is] has joined #lisp 14:53:05 -!- naryl [~weechat@213.170.70.141] has quit [Ping timeout: 240 seconds] 14:56:00 cesarbp [~chatzilla@189.247.100.75] has joined #lisp 14:56:09 -!- woudshoo [~user@ipleiden.intellimagic.net] has quit [Read error: Connection reset by peer] 14:56:39 woudshoo [~user@ipleiden.intellimagic.net] has joined #lisp 14:57:05 rme [~rme@pool-70-105-83-34.chi.dsl-w.verizon.net] has joined #lisp 15:00:36 -!- gravicappa [~gravicapp@ppp91-77-183-25.pppoe.mtu-net.ru] has quit [Read error: Operation timed out] 15:02:37 -!- josemanuel [~josemanue@147.1.222.87.dynamic.jazztel.es] has quit [Quit: Saliendo] 15:02:59 sellout [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 15:03:19 dostoyevsky [sck@195.49.138.42] has joined #lisp 15:04:28 -!- fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has quit [Ping timeout: 258 seconds] 15:04:55 -!- jingtao [~jingtaozf@123.120.22.178] has quit [Read error: Connection reset by peer] 15:05:48 SegFaultAX [~mkbernard@209.119.73.178] has joined #lisp 15:06:50 -!- gaidal [~gaidal@113.109.133.118] has quit [Quit: Leaving] 15:07:19 gravicappa [~gravicapp@ppp91-77-183-25.pppoe.mtu-net.ru] has joined #lisp 15:09:07 antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has joined #lisp 15:09:46 -!- killerboy [~mateusz@smrw-91-193-87-5.smrw.lodz.pl] has quit [Ping timeout: 246 seconds] 15:10:48 naryl [~weechat@213.170.70.141] has joined #lisp 15:10:51 -!- aperturefever [20164@ninthfloor.org] has quit [Quit: aluve] 15:12:27 -!- aerique [310225@xs3.xs4all.nl] has quit [Quit: ...] 15:12:48 -!- BrandLeeJones_ [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has quit [Quit: BrandLeeJones_] 15:13:35 flip214 [~marek@h081217084238.dyn.cm.kabsi.at] has joined #lisp 15:13:35 -!- flip214 [~marek@h081217084238.dyn.cm.kabsi.at] has quit [Changing host] 15:13:35 flip214 [~marek@unaffiliated/flip214] has joined #lisp 15:13:36 -!- tcr1 [~tcr@217-162-207-164.dynamic.hispeed.ch] has quit [Quit: Leaving.] 15:15:16 -!- Bronsa [~brace@host146-179-dynamic.14-87-r.retail.telecomitalia.it] has quit [Quit: leaving] 15:17:10 When I'm using swank:set-default-directory, the whole process changes its cwd. Is there a function to have only the currently associated swank thread switch? 15:18:52 -!- Jasko [~tjasko@74-93-1-121-SFBA.hfc.comcastbusiness.net] has quit [Quit: Leaving] 15:22:17 -!- cesarbp [~chatzilla@189.247.100.75] has quit [Ping timeout: 240 seconds] 15:23:53 gffa [~gffa@unaffiliated/gffa] has joined #lisp 15:23:56 uh-huh, SBCL doesn't bind *LOAD-PATHNAME* for the userinit file? 15:24:19 workthrick: it does not. 15:24:23 is there another way to get that value? 15:24:34 "~/.sbclrc" 15:24:44 (it's fixed) 15:24:44 nope, I'm specifically passing --userinit 15:24:59 Use --no-userinit --load instead? 15:25:06 I guess 15:25:22 Loading the userinit has different semantics than loading. 15:25:31 CL:LOADing that is. 15:25:59 BountyX [~erhan@csu-137-148-237-235.csuohio.edu] has joined #lisp 15:28:27 am0c [~am0c@124.49.51.197] has joined #lisp 15:28:38 -!- xxxyyy [~xyxu@58.41.160.252] has quit [Quit: Leaving.] 15:30:48 -!- markskilbeck [~markskilb@unaffiliated/markskilbeck] has quit [Quit: Leaving] 15:32:02 flip214: I don't think POSIX lets you do that 15:32:52 -!- cheezus [~Adium@76-10-136-155.dsl.teksavvy.com] has quit [Quit: Leaving.] 15:33:41 -!- BountyX [~erhan@csu-137-148-237-235.csuohio.edu] has quit [Ping timeout: 240 seconds] 15:33:48 BountyX [~erhan@69.54.63.114] has joined #lisp 15:33:58 cmm: So I assume that re-using the same swank in different programming contexts is bad. Ok, thank you 15:34:47 -!- splittist [~splittist@AMontsouris-553-1-20-3.w92-151.abo.wanadoo.fr] has quit [Ping timeout: 276 seconds] 15:35:03 -!- Patagous [9584bdeb@gateway/web/freenode/ip.149.132.189.235] has quit [Ping timeout: 252 seconds] 15:37:41 well, it is if you rely on the POSIX cwd. *DEFAULT-PATHNAME-DEFAULTS*, on the other hand, is a normal lisp special variable and can be bound in each thread differently 15:38:37 *|3b|* just avoids using the current directory (of either sort) as much as possible 15:38:51 -!- longfin [~longfin@211.187.37.46] has quit [Remote host closed the connection] 15:38:54 <|3b|> either absolute paths, or asdf:system-relative-pathname 15:40:06 *cmm* just avoids threads as much as possible 15:40:40 tcr1 [~tcr@217-162-131-235.dynamic.hispeed.ch] has joined #lisp 15:41:33 -!- Spion__ [~spion@77.29.248.64] has quit [Ping timeout: 260 seconds] 15:42:03 *|3b|* wonders how hard it would be to hack package-local nicknames into sbcl (and how hard to convince someone to merge it afterwards) 15:43:50 woudshoo` [~user@ipleiden.intellimagic.net] has joined #lisp 15:44:08 -!- woudshoo [~user@ipleiden.intellimagic.net] has quit [Read error: Connection reset by peer] 15:47:58 I have such things like (load "...") in my scripts, with relative names - would that work with *default-pathname-defaults*? 15:48:15 it should, yes 15:48:19 I know that special variables can be bound differently in each thread - but does swank do that? 15:48:39 because having the (let ...) in lower dynamic contexts won't help, of course 15:49:02 Soulman [~knute@250.80-202-238.nextgentel.com] has joined #lisp 15:49:48 -!- e-user [~akahl@nat/nokia/x-qowmgfvfraponshp] has quit [Quit: Leaving.] 15:50:19 ah, on allegro swank-compile-string has a (let ((*default-pathname-defaults* (pathname filename)))) ... and some others, too, but not sbcl AFAICS 15:50:25 |3b|: I'd use it 15:52:13 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #lisp 15:52:18 -!- emporas [~emporas@athedsl-168289.home.otenet.gr] has quit [Read error: Connection timed out] 15:52:43 gadek [~konrad@ablv16.neoplus.adsl.tpnet.pl] has joined #lisp 15:52:54 emporas [~emporas@athedsl-168289.home.otenet.gr] has joined #lisp 15:53:07 <|3b|> dlowe: a package-local nicknames extension you mean? 15:55:23 *|3b|* wonders if package-local nicknames shadowing normal names/nicknames would be evil 15:56:00 <|3b|> would simplify conflict resolution, since it would only add conflicts with other nicknames in the same package 15:57:00 I'm all for it ... 15:57:24 <|3b|> might make it a bit messier to decide what stuff like rename-package should do though 15:57:41 |3b|: package-local nicknames would be great! 15:58:14 *|3b|* wonders if find-package should see local nicknames or not 15:59:28 -!- woudshoo` [~user@ipleiden.intellimagic.net] has quit [Ping timeout: 246 seconds] 15:59:31 jacob [~jacob@97-94-226-74.dhcp.lncy.or.charter.com] has joined #lisp 15:59:36 -!- jacob is now known as Guest94394 15:59:46 TippenEin [~chatzilla@c-24-245-21-197.hsd1.mn.comcast.net] has joined #lisp 15:59:55 if it did, reader would not need fixing 16:00:01 ChibaPet [~mason@74.203.221.34] has joined #lisp 16:00:22 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 16:00:23 Anyone have a reference to a new location for common-lisp.net? 16:00:50 Why is common-lisp.net down? 16:01:32 knocked off by balboa! 16:01:34 lol 16:01:44 next round it's up again 16:01:51 |3b|: there is cl-package-aliases but not good enough 16:02:09 man, it's just crampling it's clothes for the move 16:02:16 <|3b|> ChibaPet: Guest94394: it is broken at the moment, will be up as soon as they get it working 16:02:41 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 240 seconds] 16:02:52 <|3b|> hlavaty: anything in particular missing/broken about it? 16:02:53 Thanks. 16:03:00 Is there the expectation that this will happen today? If not, can someone recommend an alternative source for SLIME? 16:03:44 ChibaPet: try the git repo? 16:03:57 ChibaPet: http://beta.quicklisp.org/archive/slime/2011-03-20/slime-20110320-cvs.tgz 16:04:01 -!- hoeppner [~chatzilla@c-76-23-118-31.hsd1.sc.comcast.net] has quit [Ping timeout: 246 seconds] 16:04:02 Isn't that also on common-lisp.net? 16:04:02 pdlogan [~patrick@174-25-37-137.ptld.qwest.net] has joined #lisp 16:04:08 <|3b|> git://sbcl.boinkor.net/slime.git is where i get it 16:04:10 Xach, thank you! 16:04:15 Ah, hm. 16:04:33 And 3b, thank you. 16:04:33 *Xach* always gets his slime through quicklisp these days 16:04:49 ...except when building quicklisp dists, I suppose ((: 16:05:18 -!- jdz [~jdz@193.206.22.97] has quit [Ping timeout: 240 seconds] 16:05:26 HG` [~HG@p5DC04F7B.dip.t-dialin.net] has joined #lisp 16:06:15 silenius [~silenus@p549473DA.dip.t-dialin.net] has joined #lisp 16:06:41 and dlowe, thank you - don't wish to seem ungrateful. :P 16:06:44 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 16:07:09 tritchey [~tritchey@70-35-37-146.static.wiline.com] has joined #lisp 16:07:28 |3b|: i dont remember, just that i was all enthusiastic about it a year ago, and in the end removed it from the codebase because of some problems :-( i don't think aliases should be chosen by the author of a package at all, it should be always local to the current package. At the moment, when two people decide that they package has an alias "xml"... 16:07:56 <|3b|> right, or even just 1 person :p 16:08:00 Is there some "standard" function (ie. in alexandria or something like that) that returns an infinite list of a constant element? 16:08:07 <|3b|> (which is my motivation, i want 2 packages nicknamed GL) 16:08:32 I'd like to do something like (mapcar #'list (return-inf 'print) variable-list) 16:08:41 <|3b|> flip214: like the one in the channel topic? 16:08:43 Does anybody have any advice about how to write graphical applications using common lisp? Preferably with something that's in the Ubuntu repository? 16:08:58 Well, if enter #1# in my source files the reader hangs 16:09:00 <|3b|> mapcar isn't specified to work on circular lists though if i remember correc tly 16:09:17 <|3b|> flip214: sure it isn't printing the infinite list? 16:09:24 -!- pnq [~nick@AC810402.ipt.aol.com] has quit [Ping timeout: 246 seconds] 16:09:31 -!- elliottcable is now known as ec|detached 16:09:32 |3b|: but it should terminate as soon as one list ends, and so I think that when *any* argument is finite it should be fine 16:09:40 <|3b|> Guest94394: 'write it as a web app' is a common solution :/ 16:10:28 <|3b|> Guest94394: or depending on the type of graphics, interactivity, etc, cl-opengl, vecto, bindings for qt/gtk/tk, etc 16:11:05 <|3b|> flip214: yeah, will probably work, but not /required/ to 16:11:51 well, I'd like a shorter way of (mapcar (lambda (f) `(print ,f)) variable-list) ..... 16:12:15 |3b|: i wonder why you need two packages named GL but you need to either fix common-lisp or use GL and GL2 :-D 16:12:36 <|3b|> flip214: did you forget an extra option or something? that looks like (mapcar 'print ...) 16:12:47 <|3b|> flip214: possibly you want alexandria:curry or :rcurry ? 16:13:01 |3b|: it's for macro expansion again 16:13:05 <|3b|> hlavaty: one for desktop GL, one for webgl through parenscript 16:13:24 <|3b|> flip214: ah, sorry, wasn't reading closely enough 16:14:15 Synaptic shows cl-clg, which is supposed to be bindings to GTK+, but I can't seem to find any information on how to use it. 16:14:33 <|3b|> so (mapcar (curry 'list 'print) ...)? 16:14:58 <|3b|> cl-gtk2 i think is the gtk bindings i've heard of being active recently 16:15:01 Guest94394: cl-gtk2 seems to work and has several examples. 16:15:03 |3b|: i see, then one called gl, the other webgl, and #+ to choose in asdf 16:15:18 Guest94394: what kind of program do you want to make? 16:15:20 |3b|: that looks better, thank you 16:15:23 -!- homie [~levgue@xdsl-78-35-133-140.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:15:46 drl [~lat@110.139.230.142] has joined #lisp 16:15:48 <|3b|> and if you want help here,it is better to avoid getting lisp stuff from distro repos, use quicklisp for best results 16:16:16 is there a reason lisp kept mapcar instead of going map? or are there multiple maps in lisp? 16:16:20 <|3b|> hlavaty: i want them both named GL at the same time though, in different contexts 16:16:39 Guest94394, http://myblog.rsynnott.com/2009/03/macos-fun-with-commonqt-qt-for-common.html 16:16:40 Bike [~arm@69.166.35.237] has joined #lisp 16:16:44 <|3b|> TippenEin: mapcar is lisp specific, and has variants like mapcan, mapcon, etc 16:16:48 <|3b|> *list specific 16:16:59 <|3b|> (not lisp specific) 16:17:12 |3b|: and if I had to do a (car x) of the thing used by curry? 16:17:14 cesarbp [~chatzilla@189.247.100.75] has joined #lisp 16:17:26 ie. it's really (mapcar (lambda (f) `(print ,(car f))) variable-list) ..... 16:17:28 <|3b|> map works on any type of sequence 16:18:05 <|3b|> flip214: i'd probably have written it with LOOP in the first place :p 16:18:17 Jasko [~tjasko@70-35-37-146.static.wiline.com] has joined #lisp 16:18:21 -!- Jasko [~tjasko@70-35-37-146.static.wiline.com] has quit [Client Quit] 16:18:24 <|3b|> flip214: might be a COMPOSE or something in alexandria though 16:18:35 |3b|: do you need them to be loaded at the same time in your lisp image? 16:18:36 Jasko [~tjasko@70-35-37-146.static.wiline.com] has joined #lisp 16:18:40 I don't have any specific programs in mind. I just don't want to be limited to console programs. 16:18:45 <|3b|> hlavaty: that's the idea 16:19:31 <|3b|> for one thing i tend to keep emacs/slime/sbcl running for long periods, and might want to switch tasks between things needing both 16:19:53 Guest94394: in CL, the GUI story currently involves a lot of hacking or spending some money. 16:19:59 <|3b|> but also, i might want to try to write code that works on both, and would probably want to test on both without running 2 sessions 16:20:41 killerboy [~mateusz@pc-212-51-221-162.p.lodz.pl] has joined #lisp 16:21:04 Guest94394, http://tobias.rautenkranz.ch/lisp/cl-smoke/manual/manual.html 16:21:25 mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #lisp 16:21:41 GUI programming is becoming less and less relevant these days, it seems. As for myself, hunchentoot covers a lot of it, and for interactive graphics I use cl-opengl now 16:22:14 <|3b|> hlavaty: i've also wanted to have multiple JSON libs loaded at once, which leads to similar problems (but harder for me to fix since i don't maintain them) 16:22:31 |3b|: then you can try cl-package-aliases and tell us about your experience, or even better fix common-lisp as you originally suggested :-D 16:22:51 <|3b|> yeah, that is the plan :) 16:23:24 the good thing about the latter is that it would make possible to have two conflicting depencency trees of packages in one image 16:23:41 -!- redline6561 [~user@c-66-56-55-169.hsd1.ga.comcast.net] has quit [Ping timeout: 240 seconds] 16:23:57 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 248 seconds] 16:25:22 Thanks for the help, everyone. I think I'll go do some more searching. Bye. 16:25:56 <|3b|> (and naturally cl-package-aliases is on cl-net...) 16:26:07 -!- Guest94394 [~jacob@97-94-226-74.dhcp.lncy.or.charter.com] has quit [Quit: Leaving] 16:26:55 realitygrill [~realitygr@24.208.248.193] has joined #lisp 16:27:40 <|3b|> aw, CL fell to #22 on github :( 16:28:51 with the cl.net outage, I sense a solution to both problems <-; 16:28:58 <|3b|> heh 16:29:07 Someone recently told me that the programming language Nu is a variant of Common Lisp. I don't know anything about Nu. Does anyone here know anything about it? Is it really a variant of Common Lisp? 16:29:22 Xach: no. Unless it's another nu. 16:29:27 it's a lisp syntax on top of objective c, no? 16:29:32 (The person doing the telling has said other things that are pretty moronic, so it didn't seem likely to me.) 16:29:35 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Read error: Connection reset by peer] 16:29:35 http://programming.nu/index 16:29:44 antifuchs: that's the one. 16:29:57 -!- Ragnaroek [~chatzilla@boccacio.fh-trier.de] has quit [Ping timeout: 258 seconds] 16:29:59 yeah, I don't think it's a cl 16:30:06 *|3b|* clicks on Nu in github languages, looks like a lisp, but not CL 16:30:11 common-lisp.net :( 16:30:28 it looks like a lisp, works like ruby, depends on obj-c. 16:30:46 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 16:31:43 *Xach* supposes "Platypus" was already taken 16:31:59 is this some insane Apple project, or an independent thing? 16:32:01 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Ping timeout: 246 seconds] 16:32:11 I know Apple have their own personal weird ruby implementation 16:32:13 Does anyone know what's up with common-lisp.net? 16:32:22 |3b|: there shouldn't be nicknames in defpackage but in use-package; something like (use-package '(trash x) '(temp y)) 16:32:37 -!- herbie_ is now known as herbieB 16:32:37 katesmith [~katesmith@97-89-229-3.static.snfr.nc.charter.com] has joined #lisp 16:32:37 -!- katesmith [~katesmith@97-89-229-3.static.snfr.nc.charter.com] has quit [Changing host] 16:32:38 katesmith [~katesmith@unaffiliated/costume] has joined #lisp 16:32:50 and maybe in-package? 16:32:57 <|3b|> hlavaty: i'd do something like cl-package-aliases, where defpackage has an option to add local nicknames 16:33:49 <|3b|> possibly a function to add them to an existing package, but that couldn't be in cl: 16:34:00 <|3b|> (while defpackage is allowed to have extensions) 16:34:12 i see 16:34:20 <|3b|> :use or use-package is another open question though 16:34:40 <|3b|> can packages inherit nicknames from others? 16:35:17 would that be useful? 16:35:21 <|3b|> dunno 16:35:38 that might create conflicts 16:35:57 and you'd need a way to override the alias 16:35:58 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 16:36:01 <|3b|> right, but that just means it needs to detect them and signal an error, not horribly hard :) 16:36:13 homie [~levgue@xdsl-78-35-133-140.netcologne.de] has joined #lisp 16:36:16 but annoying 16:36:34 <|3b|> yeah 16:37:14 <|3b|> i probably wouldn't bother with it since i don't think i'd use it much (i don't :use packages much to start with), but i could maybe see it being useful for some styles of package use 16:37:41 <|3b|> (specifically huge projects that want layers of indirection where they can swap out components or whatever) 16:38:03 ljames [~ln@unaffiliated/ljames] has joined #lisp 16:38:19 i think aliases should not be inherited, they should be defined only in that package 16:40:37 -!- reb`` [~user@nat/google/x-ebmwwrgjbtspiify] has quit [Remote host closed the connection] 16:40:46 brown [~user@nat/google/x-xyhpzrtuuibzhgow] has joined #lisp 16:40:49 -!- brown is now known as reb 16:41:42 I asked ths before, but... is Movitz dead? 16:41:55 Xach: given hacker lore, it should have been called Mu. 16:42:05 Is it a Common Lisp? Mu. 16:42:20 Bike: there hasn't been much activity in the last years, no 16:42:34 Bike: but there are still people with an active interest in it, and it hasn't been officially orphaned (: 16:42:41 frodef sometimes still comes in here (: 16:45:15 Thanks. 16:46:25 mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #lisp 16:47:27 -!- pdelgallego_ [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Read error: Operation timed out] 16:48:59 pdelgallego_ [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #lisp 16:49:27 -!- kpreid [~kpreid@128.153.214.177] has quit [Quit: Offline] 16:50:26 Hey, next question... Can someone direct me to docs about how to do asynchronous TCP socket I/O with either SBCL or CCL? 16:50:34 dlowe_nb [~dlowe@63.115.78.49] has joined #lisp 16:50:45 fnord23z 16:50:55 <|3b|> ChibaPet: look at iolib 16:50:56 yay mousefocus 16:51:04 Better change that. :P 16:51:06 <|3b|> (or maybe usockets) 16:51:19 iolib and usockets, thank you 16:51:33 *|3b|* used iolib, doesn't remember if usockets does asynch stuff or not 16:51:36 1+ for iolib 16:51:41 -!- Krystof [~csr21@158.223.161.59] has quit [Ping timeout: 248 seconds] 16:51:44 <|3b|> either should work on both sbcl and ccl 16:51:45 1+ for iolib 16:51:59 common-lisp.net being down makes me sad 16:52:27 -!- The_Fellow [~storm2@glida.mooo.com] has quit [Quit: Leaving.] 16:52:34 iolib looks right, thank you 16:53:41 -!- BullShark [debian-tor@gateway/tor-sasl/nanomachine] has quit [Quit: WeeChat 0.3.4] 16:53:52 antifuchs: frodef = movitz maintainer? 16:54:10 I'm asking from a point of ignorance here - if iolib uses FFI, will that present problems deploying an app on Windows? 16:54:18 BullShark [debian-tor@gateway/tor-sasl/nanomachine] has joined #lisp 16:54:35 <|3b|> iolib doesn't currently support windows as far as i know, but i think someone is working on it 16:54:38 xan_ [~xan@99.13.242.166] has joined #lisp 16:55:17 <|3b|> (so yes, you probably don't want to deploy sbcl on windows yet anyway though) 16:55:52 Was thinking CCL for portability. Maybe I can use something CCL-specific on the client for communication. Really only the server half needs beefy socket handling. 16:56:25 I'm not even really designing my thing yet. I'm a chronic noob that wants to finally implement something real in CL. 16:56:33 <|3b|> yeah, ccl should be OK, could try either usocket or ccl specific stuff, don't know capabilities of either though 16:57:05 |3b|: yes, i will do the iolib port, once i get my windows env up and running ;-) 16:58:15 Bike: he's the one who started it (: 16:59:00 -!- xcv [~xcv@dsl-225-28.hive.is] has quit [Remote host closed the connection] 16:59:31 i wonder where cl spec says something about package nicknames scope 16:59:33 ccl's socket stuff is pretty easy to use (it's a lot like Allegro's, actually). ccl:contrib;perryman;finger.lisp might be an interesting example for you to look at. 17:00:07 I see, good to know he's still alive, then 17:00:10 But there's not really any support for async i/o; the node.js guys would laugh at that finger example. 17:02:40 Gmind [~Nevermind@113.190.207.179] has joined #lisp 17:03:08 Patagous [970fd7b2@gateway/web/freenode/ip.151.15.215.178] has joined #lisp 17:06:55 realitygrill_ [~realitygr@adsl-76-226-119-17.dsl.sfldmi.sbcglobal.net] has joined #lisp 17:09:07 -!- realitygrill [~realitygr@24.208.248.193] has quit [Ping timeout: 246 seconds] 17:09:07 -!- realitygrill_ is now known as realitygrill 17:09:46 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 17:10:21 pchrist [~spirit@gentoo/developer/pchrist] has joined #lisp 17:10:30 -!- hlavaty [~user@91-65-223-81-dynip.superkabel.de] has quit [Read error: Operation timed out] 17:11:34 -!- trebor_dki [~user@mail.dki.tu-darmstadt.de] has quit [Remote host closed the connection] 17:12:40 vsedach [~user@modemcable026.84-70-69.static.videotron.ca] has joined #lisp 17:13:19 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Ping timeout: 246 seconds] 17:16:56 aperturefever [20164@ninthfloor.org] has joined #lisp 17:17:52 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Ping timeout: 246 seconds] 17:21:41 -!- BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has quit [Quit: BrandLeeJones] 17:22:05 Bronsa [~brace@host146-179-dynamic.14-87-r.retail.telecomitalia.it] has joined #lisp 17:22:39 azaq23 [~derivecto@unaffiliated/azaq23] has joined #lisp 17:23:15 -!- killerboy [~mateusz@pc-212-51-221-162.p.lodz.pl] has quit [Ping timeout: 246 seconds] 17:23:24 fiveop [~fiveop@dslb-178-002-106-248.pools.arcor-ip.net] has joined #lisp 17:27:14 -!- BountyX [~erhan@69.54.63.114] has quit [Ping timeout: 276 seconds] 17:27:53 italic [~italic@cpe-67-242-144-94.buffalo.res.rr.com] has joined #lisp 17:30:00 jcazevedo [~jcazevedo@74-126.3-85.cust.bluewin.ch] has joined #lisp 17:30:07 can you defmethod on a simple-array of a type and length? 17:30:26 no 17:31:39 kpreid [~kpreid@128.153.178.220] has joined #lisp 17:32:20 italic: on SBCL, you can unportably dispatch on simple-arrays of a few types 17:32:26 -!- c_arenz [~arenz@nat/ibm/x-hbvzgnnotepyinfv] has quit [Ping timeout: 258 seconds] 17:32:29 italic: remember, you can dispatch a method only on a CLASS, not on a TYPE. 17:32:50 BountyX [~erhan@csu-137-148-248-167.csuohio.edu] has joined #lisp 17:32:51 italic: here I get (class-of (make-array 3 :element-type '(unsigned-byte 8))) => # 17:33:13 i see 17:34:10 so just make a fn and declare the var as (simple-array single-float (2)) and check it that way 17:34:12 italic: I wouldn't use an implementation specific class... 17:34:19 italic: you could dispatch on the type and check the length in a :before method, perhaps 17:34:30 italic: for what purpose? 17:34:34 -!- mishoo__ [~mishoo@79.112.237.103] has quit [Read error: Operation timed out] 17:34:59 i have a point and a rect as simple arrays, i want (x point) and (x rect) 17:35:12 varjag [~eugene@62.249.169.4] has joined #lisp 17:36:07 cheezus [~Adium@76.10.136.155] has joined #lisp 17:36:19 italic: You could use typecase or similar. 17:37:05 http://www.xach.com/naggum/articles/3243735416407529@naggum.no.html is an article that might have useful info 17:37:31 italic: if you want to dispatch methods, it's better to define classes or structures. Wrap you vectors in classes! 17:37:53 Or else, just define different functions, and let the user choose the right function for the right data. 17:38:03 Spion [~spion@unaffiliated/spion] has joined #lisp 17:40:32 -!- atomx` [~user@86.35.150.23] has quit [Remote host closed the connection] 17:40:53 splittist [~splittist@AMontsouris-553-1-20-3.w92-151.abo.wanadoo.fr] has joined #lisp 17:41:01 -!- ChibaPet [~mason@74.203.221.34] has left #lisp 17:41:13 steevy [~steevy@95-89-218-109-dynip.superkabel.de] has joined #lisp 17:41:24 -!- steevy [~steevy@95-89-218-109-dynip.superkabel.de] has quit [Remote host closed the connection] 17:41:50 -!- fiveop [~fiveop@dslb-178-002-106-248.pools.arcor-ip.net] has quit [Quit: humhum] 17:42:43 -!- gravicappa [~gravicapp@ppp91-77-183-25.pppoe.mtu-net.ru] has quit [Ping timeout: 252 seconds] 17:43:58 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 240 seconds] 17:44:47 wzergw [~hynek@ip-62-245-66-12.net.upcbroadband.cz] has joined #lisp 17:44:57 -!- BountyX [~erhan@csu-137-148-248-167.csuohio.edu] has quit [Ping timeout: 240 seconds] 17:46:00 carlocci [~nes@93.37.199.110] has joined #lisp 17:47:58 -!- ignas [~ignas@78-60-36-123.static.zebra.lt] has quit [Read error: Operation timed out] 17:48:13 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 240 seconds] 17:51:21 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 17:52:26 -!- wzergw [~hynek@ip-62-245-66-12.net.upcbroadband.cz] has quit [Remote host closed the connection] 17:52:44 BountyX [~erhan@csu-137-148-233-250.csuohio.edu] has joined #lisp 17:54:35 -!- kpreid [~kpreid@128.153.178.220] has quit [Quit: Offline] 17:56:31 ChibaPet [~mason@74.203.221.34] has joined #lisp 17:58:33 -!- JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has quit [Quit: Exeunt IRC] 17:59:28 gravicappa [~gravicapp@ppp91-78-185-0.pppoe.mtu-net.ru] has joined #lisp 17:59:35 -!- workthrick [~mathrick@emp.nat.sdu.dk] has quit [Read error: Connection reset by peer] 18:00:41 rpr [~user@c-76-109-3-65.hsd1.fl.comcast.net] has joined #lisp 18:01:15 drl [~lat@110.139.230.142] has joined #lisp 18:01:16 eudoxia [~eudoxia@r190-64-176-207.dialup.adsl.anteldata.net.uy] has joined #lisp 18:01:24 kpreid [~kpreid@128.153.178.220] has joined #lisp 18:01:31 Any ETA on c-l.net coming back on-line. Really need latest slime source. 18:01:32 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 260 seconds] 18:02:45 -!- orivej [~orivej@host-100-146-66-217.spbmts.ru] has quit [Read error: Connection reset by peer] 18:03:10 orivej [~orivej@host-100-146-66-217.spbmts.ru] has joined #lisp 18:03:30 -!- BountyX [~erhan@csu-137-148-233-250.csuohio.edu] has quit [Ping timeout: 246 seconds] 18:03:44 -!- silenius [~silenus@p549473DA.dip.t-dialin.net] has quit [Remote host closed the connection] 18:03:45 <|3b|> rpr: git://sbcl.boinkor.net/slime.git should be within an hour or so of 'latest' 18:05:01 sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has joined #lisp 18:05:08 <|3b|> (which appears to be about 4 days ago, not much happening with slime this month) 18:05:58 billitch [~billitch@78.251.40.222] has joined #lisp 18:06:00 thx 18:06:09 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 18:06:16 wzergw [~hynek@ip-62-245-66-12.net.upcbroadband.cz] has joined #lisp 18:07:11 mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #lisp 18:08:23 <|3b|> quicklisp should have fairly recent slime also 18:11:20 -!- am0c [~am0c@124.49.51.197] has quit [Remote host closed the connection] 18:12:17 -!- oudeis_ [~oudeis@109.67.211.23] has quit [Ping timeout: 276 seconds] 18:15:48 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 18:16:19 -!- vsedach [~user@modemcable026.84-70-69.static.videotron.ca] has quit [Ping timeout: 246 seconds] 18:16:39 -!- homie [~levgue@xdsl-78-35-133-140.netcologne.de] has quit [Read error: Connection reset by peer] 18:17:57 homie [~levgue@84.44.178.71] has joined #lisp 18:18:09 I assume it is know that common-lisp.net is down? 18:18:23 It's in the topic. 18:18:38 sorry didnt read that far in, thanks 18:19:12 HG`` [~HG@p5DC04CF4.dip.t-dialin.net] has joined #lisp 18:19:48 -!- homie [~levgue@84.44.178.71] has quit [Client Quit] 18:19:50 cesarbp_ [~chatzilla@189.247.100.75] has joined #lisp 18:19:50 davazp [~user@223.Red-83-46-0.dynamicIP.rima-tde.net] has joined #lisp 18:20:00 jewel [~jewel@196-215-88-68.dynamic.isadsl.co.za] has joined #lisp 18:20:28 -!- cesarbp [~chatzilla@189.247.100.75] has quit [Read error: Connection reset by peer] 18:20:31 -!- cesarbp_ is now known as cesarbp 18:20:43 joebo [cf3af714@gateway/web/freenode/ip.207.58.247.20] has joined #lisp 18:22:02 -!- HG` [~HG@p5DC04F7B.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 18:22:03 -!- realitygrill [~realitygr@adsl-76-226-119-17.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 18:22:14 homie [~levgue@xdsl-84-44-178-71.netcologne.de] has joined #lisp 18:24:40 |3b|: Thx. Had some emacs 24 location issues with sbcl + slime standard fedora rpms. Build SBCL from source and fresh git pull of slime, all working fine now. 18:24:41 -!- antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 18:24:53 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 252 seconds] 18:26:50 -!- eudoxia [~eudoxia@r190-64-176-207.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] 18:27:07 -!- jamief [~user@harrison.doc.gold.ac.uk] has quit [Quit: Terminated with extreme prejudice - dircproxy 1.0.5] 18:27:38 killerboy [~mateusz@smrw-91-193-87-5.smrw.lodz.pl] has joined #lisp 18:31:40 -!- Bronsa [~brace@host146-179-dynamic.14-87-r.retail.telecomitalia.it] has quit [Quit: leaving] 18:32:02 -!- dlowe_nb [~dlowe@63.115.78.49] has quit [Quit: Leaving.] 18:32:14 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 18:33:32 jamief [~user@harrison.doc.gold.ac.uk] has joined #lisp 18:36:18 -!- Salamander__ is now known as Salamander 18:38:00 cffi grovel shouldn't pass "-m32" to gcc on ARM. gcc doesn't like it. 18:41:24 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 18:44:29 codetonowhere [~Adium@78-105-3-181.zone3.bethere.co.uk] has joined #lisp 18:45:36 -!- kpreid [~kpreid@128.153.178.220] has quit [Quit: Offline] 18:46:27 -!- cesarbp [~chatzilla@189.247.100.75] has quit [Ping timeout: 260 seconds] 18:48:43 -!- splittist [~splittist@AMontsouris-553-1-20-3.w92-151.abo.wanadoo.fr] has quit [Ping timeout: 260 seconds] 18:49:06 -!- Joreji [~thomas@78-120.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 258 seconds] 18:49:13 -!- muhdick [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has quit [Ping timeout: 246 seconds] 18:49:32 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 18:50:35 muhdick [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has joined #lisp 18:59:08 -!- flip214 [~marek@unaffiliated/flip214] has quit [Quit: Leaving] 18:59:11 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Ping timeout: 252 seconds] 18:59:27 kpreid [~kpreid@128.153.178.220] has joined #lisp 19:01:51 -!- joebo [cf3af714@gateway/web/freenode/ip.207.58.247.20] has quit [Ping timeout: 252 seconds] 19:02:53 -!- rpr [~user@c-76-109-3-65.hsd1.fl.comcast.net] has quit [Remote host closed the connection] 19:03:15 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [Remote host closed the connection] 19:03:26 ianmcorvidae [~ianmcorvi@pool-96-233-183-125.spfdma.east.verizon.net] has joined #lisp 19:03:26 -!- ianmcorvidae [~ianmcorvi@pool-96-233-183-125.spfdma.east.verizon.net] has quit [Changing host] 19:03:26 ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 19:03:30 -!- Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has quit [Quit: "Object-oriented design" is an oxymoron] 19:08:39 antgreen [~user@nat/redhat/x-rcapvpqmvkkdxlzf] has joined #lisp 19:09:42 agumonkey [~agumonkey@64.158.70-86.rev.gaoland.net] has joined #lisp 19:09:54 -!- Evious [~Zeiris@S010600a0d1423e73.no.shawcable.net] has quit [Disconnected by services] 19:10:03 -!- Reviou is now known as Evious 19:10:04 saterus [~saterus@opensource.cse.ohio-state.edu] has joined #lisp 19:10:22 Zeiris_ [~Zeiris@S010600a0d1423e73.no.shawcable.net] has joined #lisp 19:11:00 Is there a difference I should be aware of between (parse-namestring ) and (pathname )? 19:11:58 -!- sonnym [~sonny@rrcs-184-74-137-167.nys.biz.rr.com] has quit [Quit: Leaving.] 19:13:05 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 19:14:46 where'd I start making a tree shaker for a modern SBCL? 19:15:19 the one jsnell posted ages ago doesn't work in the slightest 19:15:29 due to the internal changes 19:15:53 so sbcl is the fastest CL impl out-there ? 19:16:10 depends on how you define "fastest" 19:16:22 for numerical purposes, yes, it's usually the fastest 19:16:38 -!- alfa_y_omega [~alfa_y_om@89.129.116.150] has quit [Ping timeout: 276 seconds] 19:16:39 although its bignums are slower than GMP that CLisp for example uses 19:16:53 I used to think CLISP uses GMP, but it in fact doesn't. 19:16:55 it's also pretty good at CLOS, though not the fastest IIRC 19:17:03 Xach: ah, they have custom C code? 19:17:05 -!- billitch [~billitch@78.251.40.222] has quit [Ping timeout: 276 seconds] 19:17:07 Gmind: fastest at what? 19:17:08 tcr1: parse-namestring cannot take a stream. 19:17:22 pjb: Yes, it can. 19:17:34 jp_larocque [jabber-irc@number-41.thoughtcrime.us] has joined #lisp 19:17:38 Arg! Yes. 19:17:43 http://www.cliki.net/Performance%20Benchmarks Would this help? 19:18:20 What is a bouding index designator for a stream??? :-) 19:19:20 Xach: at everything ? 19:19:24 :)) 19:19:38 bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has joined #lisp 19:19:53 Hey, I've found an apparent bug in SBCL that can be tested in one line. Before I report it, could someone with the latest version of SBCL (1.0.47) on i386 do me a favor by verifying that it's still present? 19:20:01 Gmind: Ah, so it's more like "I don't know what to do with the answer even if I got one" 19:20:03 It doesn't show up on x86_64. 19:20:14 jp_larocque: spill it 19:20:22 jp_larocque: shoot 19:20:22 (let ((foo 0.1)) (floor (mod foo 1) 1/1000)) 19:20:37 oh wait, I don't have 1.0.47 here, wrong machine 19:20:45 Interestingly, calling MOD alone doesn't do it, nor does FLOOR with 0.1 and 1/1000 expressed directly. 19:21:11 I guess if it's gone in a newer version than 1.0.40 then that's all I need to know. 19:21:15 jp_larocque: it's present in 1.0.47.14 19:21:26 Thanks. 19:21:31 jp_larocque: I get "invalid number of arguments: 0" 19:21:35 Yeah. 19:21:37 Xach: I am just asking because I like to know the result in general view :P ,since I am currently using Clozure CL and don't know why its size is too big, compare to sbcl's small size 19:21:57 Gmind: Because God made it that way. 19:22:02 what do you mean by "its size is too big"? 19:22:22 its total size to install on my computer 19:22:23 SBCL is not exactly lightweight, I wouldn't want to shake it if it were 19:22:50 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 258 seconds] 19:22:56 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 19:23:11 so anyway, about tree-shaking, any pointers where to start? 19:23:49 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 19:23:54 mathrick: there had been a proof-of-concept tree shaker several versions back, somewhere in some blog post 19:24:42 yes, I know 19:24:43 http://jsnell.iki.fi/blog/archive/2005-07-06.html 19:24:51 the one jsnell posted ages ago doesn't work in the slightest 19:24:52 due to the internal changes 19:25:04 *mathrick: just in case if I want to replace my Clozure CL with SBCL :P 19:25:24 why do you keep using emotes for things that have no use for them? 19:25:43 Gmind: Generally, sbcl images are even larger than ccl images. 19:26:46 p_l|backup: I don't mind porting, but I'd need at least *some* help with finding out what the things it used mutated into 19:26:53 stis [~stis@host-90-235-126-47.mobileonline.telia.com] has joined #lisp 19:26:59 mathricK: u mean emotion ? 19:27:04 I'd say somwhere in the range of 2x time the size of CCL image for SBCL 19:27:39 Gmind: I mean things like ":P", and also "u" is not a word, I think you meant "you" 19:27:41 really ? 19:28:35 mathrick: well, yahoo users are used to things like that, sorry if it disturb you guys 19:29:05 this works like i want, but i don't understand why I had to reverse the param order in the setf function: http://pastebin.com/tFFqzUHV 19:29:37 The problem is that your question doesn't make much sense. There's speed of build, speed of compilation, speed of compiled code, just for a start. 19:29:59 italic: the first argument in a setf function's lambda list should always be the new value to set. 19:30:02 p_l|backup: So it's quite bigger than I thought.. 19:30:08 italic: and it should always return that value. 19:30:36 eugu [~Miranda@213.141.157.147] has joined #lisp 19:30:54 -!- cheezus [~Adium@76.10.136.155] has quit [Quit: Leaving.] 19:31:18 Xach: and then the second arg is always the object to be modified i take it? 19:31:30 italic: the other args are fairly arbitrary. 19:31:43 alfa_y_omega [~alfa_y_om@89.129.116.150] has joined #lisp 19:31:58 italic: it should generally match the get syntax, e.g. if you use (frobble 4 7 object), (setf (frobble 4 7 object) 97) should DWIM 19:32:42 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 19:32:44 italic: see NTH and ELT for example. 19:34:06 -!- sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has quit [Quit: Leaving] 19:34:33 but then this doesn't work: (defun (setf (aref point 0)) (x) (setf (aref point 0) x)) 19:35:15 Krystof [~csr21@csrhodes.plus.com] has joined #lisp 19:35:33 italic: how could that work? 19:35:39 I don't understand why you might think it would. That's not how you use defun to make a setf function. 19:35:46 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Ping timeout: 246 seconds] 19:36:24 It's (defun (setf ) (new-value ) new-value) 19:36:42 (you don't have to include the new-value if the last form returns it, like if you use setf at the end) 19:37:13 i thought it was (defun (setf slot) (... 19:37:17 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 19:37:53 italic: where SLOT is a symbol, not a form. 19:38:08 pnq [~nick@host-161.ssu.portsmouth.oh.us] has joined #lisp 19:38:45 i see 19:39:16 -!- cods [~cods@rsbac/developer/cods] has quit [Ping timeout: 246 seconds] 19:41:02 BlankVer1e [~pankajm@205.185.117.190] has joined #lisp 19:41:09 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Quit: leaving] 19:41:17 -!- BlankVer1e [~pankajm@205.185.117.190] has quit [Client Quit] 19:41:30 BlankVerse [~pankajm@205.185.117.190] has joined #lisp 19:42:04 -!- jewel [~jewel@196-215-88-68.dynamic.isadsl.co.za] has quit [Ping timeout: 246 seconds] 19:42:14 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 19:45:53 borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has joined #lisp 19:46:19 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Client Quit] 19:48:41 -!- kpreid [~kpreid@128.153.178.220] has quit [Quit: Offline] 19:48:45 -!- naeg [~naeg@194.208.239.170] has quit [Ping timeout: 248 seconds] 19:49:35 -!- superjudge [~mjl@195.22.80.141] has quit [Ping timeout: 276 seconds] 19:51:38 cods_ [~cods@tuxee.net] has joined #lisp 19:53:04 -!- cods_ [~cods@tuxee.net] has quit [Client Quit] 19:53:08 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Remote host closed the connection] 19:53:16 dstatyvka [ejabberd@pepelaz.jabber.od.ua] has joined #lisp 19:53:24 cods [~cods@rsbac/developer/cods] has joined #lisp 19:53:54 attila_lendvai [~attila_le@adsl-89-132-1-204.monradsl.monornet.hu] has joined #lisp 19:53:54 -!- attila_lendvai [~attila_le@adsl-89-132-1-204.monradsl.monornet.hu] has quit [Changing host] 19:53:54 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 19:55:01 -!- pnq [~nick@host-161.ssu.portsmouth.oh.us] has quit [Ping timeout: 246 seconds] 19:58:48 -!- Jasko [~tjasko@70-35-37-146.static.wiline.com] has quit [Quit: This computer has gone to sleep] 20:01:14 kpreid [~kpreid@128.153.214.233] has joined #lisp 20:02:12 naeg [~naeg@194.208.239.170] has joined #lisp 20:04:18 *tcr1* discovers that trailing slash or not is significant for rsync - is reminded of CL 20:06:02 seangrov` [~user@70-36-236-168.dsl.static.sonic.net] has joined #lisp 20:06:48 locci [~nes@93.37.199.110] has joined #lisp 20:06:48 *Xach* can never keep it straight with rsync, unlike with CL 20:06:52 -!- locci [~nes@93.37.199.110] has left #lisp 20:07:43 rsync regularly annoys me to death with scattering files all around... 20:08:17 Trailing slash is significant on the source side. 20:08:59 -!- gadek [~konrad@ablv16.neoplus.adsl.tpnet.pl] has quit [Quit: WeeChat 0.3.3] 20:09:10 woudshoo [~user@ironhead.xs4all.nl] has joined #lisp 20:09:52 -!- Triplefault [~caleb@adsl-145-219-93.asm.bellsouth.net] has quit [Quit: Leaving] 20:11:09 Jasko [~tjasko@70-35-37-146.static.wiline.com] has joined #lisp 20:15:09 -!- BlankVerse [~pankajm@205.185.117.190] has quit [Quit: leaving] 20:15:24 -!- lbc_ [~quassel@1908ds1-aboes.0.fullrate.dk] has quit [Remote host closed the connection] 20:15:30 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 20:17:58 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Quit: Ex-Chat] 20:22:03 pnq [~nick@206.21.94.161] has joined #lisp 20:23:45 -!- gravicappa [~gravicapp@ppp91-78-185-0.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 20:24:49 -!- cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has quit [Read error: Operation timed out] 20:25:31 -!- HG`` [~HG@p5DC04CF4.dip.t-dialin.net] has quit [Quit: Leaving.] 20:25:47 -!- pnq [~nick@206.21.94.161] has quit [Client Quit] 20:26:38 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 276 seconds] 20:27:38 cmm [~cmm@bzq-79-183-205-247.red.bezeqint.net] has joined #lisp 20:29:00 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 20:29:23 -!- MoALTz [~no@92.18.91.29] has quit [Quit: Leaving] 20:30:08 ezakimak [~nick@ns1.nickleippe.com] has joined #lisp 20:30:18 -!- novaburst [~novaburst@sourcemage/mage/novaburst] has quit [Quit: leaving] 20:30:44 is there an easy way to import all external symbols from one package into another? 20:31:04 Hi. I have googled and searched the SBCL documentation but would like to confirm: there is no easy way to set unix environment variables from SBCL ? 20:31:20 ezakimak: yeah, use-package or the :use clause in defpackage 20:32:19 antifuchs, example? 20:32:42 ezakimak: (defpackage :something (:use :cl)) 20:32:50 i've (defpackage learn), then (in-package learn), now when I try (use-package 'common-lisp) I get errors 20:32:59 will import all symbols external to the CL package into the package "something" 20:33:03 pnq [~nick@host-161.ssu.portsmouth.oh.us] has joined #lisp 20:33:31 yeah, that's because by evaluating use-package inside that package, you have already interned that symbol there 20:33:48 *tcr1* has never used use-package directly 20:33:50 generally, it's a good idea to avoid use-package and the whole of the function-based interface to packages unless you have to use them 20:34:15 -!- benny [~benny@i577A1136.versanet.de] has quit [Read error: Connection reset by peer] 20:34:20 basically, always use defpackage (: 20:34:35 can i run defpackage twice on the same name? 20:35:09 yeah. incompatible redefinitions are "undefined", but implementations will try to be helpful 20:35:11 benny [~benny@i577A1A1F.versanet.de] has joined #lisp 20:35:39 now I can't get back to common-lisp-user 20:35:50 -!- davazp [~user@223.Red-83-46-0.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 20:35:52 use (cl:in-package :cl-user) 20:37:02 thx. 20:37:14 packages seem much more painful than the book seems to suggest 20:37:19 (at least so far) 20:37:59 prolly since the book predates the standard and nothing matches the current implementation 20:38:13 they're not great, but they beat no packages 20:38:31 which book is that? 20:38:33 I don't think packages are painful per se, but often people try to make them into something they're not. 20:39:03 does ":something" always refer to a package? 20:39:21 no. :something is a symbol interned in the keyword package 20:39:32 what's the keyword package? 20:39:37 you can use symbols or strings to refer to a package 20:39:38 (i saw it in the listing) 20:39:56 hrm. some functions error at symbols others at strings on me 20:39:59 it's a special package where all the symbols evaluate to themselves 20:40:01 it seems very inconsistent 20:40:21 does that mean it's a shortcut for calling symbol-name? 20:40:26 the name of a symbol is all uppercase by default 20:40:39 so your strings need to match that 20:41:04 No, just if you evaluate :FOO, you get :FOO back 20:41:17 -!- woudshoo [~user@ironhead.xs4all.nl] has quit [Ping timeout: 240 seconds] 20:41:53 how is that different from 'FOO? 20:41:56 keyword symbols are the only ones that automatically get a value binding: the symbol itself. 20:42:23 the symbol FOO (not in the keyword package) evaluates to whatever you set/bound its value to 20:42:41 but isn't quoted 'FOO the symbol? 20:42:50 the keyword :FOO will always evaluate to :FOO (it's a constant) 20:43:02 it depends on the home package of that symbol 20:43:03 sure, but that because you quoted it 20:43:26 (intern "FOO" (find-package :keyword)) will give you the symbol FOO in the keyword package, which is the keyword :FOO 20:43:33 so is this keyword package a magic thing added for convenience? 20:43:37 it is. 20:43:55 must be in a later chapter 20:44:00 it's the one package whose symbols have special stuff done to them. 20:44:11 Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has joined #lisp 20:44:39 do you recommend learning and using packages early on? 20:45:14 I'd recommend using only as much of the package system as you can stomach (-: 20:45:43 well, the book i'm in now tries to do it early and then throughout, but it predates the standard so it gets confusing when stuff doesn't work as it's written 20:45:46 -!- pnq [~nick@host-161.ssu.portsmouth.oh.us] has quit [Ping timeout: 246 seconds] 20:46:08 define packages using defpackage (with :use :cl), get used to using cl:in-package (with that cl: prefix), and leave the rest for later 20:46:17 which book is that? 20:46:24 shapiro 20:46:31 there are a bunch of books on lisp that aren't completely awful! 20:46:40 CL: An Interactivo Approach 20:46:54 people must have recommended Practical Common Lisp before, and I think Land of Lisp is pretty cool, too 20:47:08 i like it because it has excercises 20:47:32 hard to intern new info unless forced to put it to use 20:47:48 PAIP has exercises, but the solutions often involve material not yet covered. Pernicious. 20:47:57 Have you looked at Touretzky? 20:48:10 mhm... there's also http://www.psg.com/~dlamkins/sl/cover.html 20:48:36 I have shapiro, ctlt, Seibel pcl, and successful lisp (lamkins) 20:48:42 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.] 20:48:56 i started Seibel's book, but it lacks excercises iirc 20:50:16 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 20:50:41 My current favourite programming language book name: "Learn You A Haskell for Great Good". 20:51:26 i also have onlisp 20:51:57 -!- jp_larocque [jabber-irc@number-41.thoughtcrime.us] has left #lisp 20:52:05 Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has joined #lisp 20:52:08 On Lisp is great 20:52:19 ChibaPet: Do you know if that book is any good? I'm wary of any book that leaves I/O for chapter nine 20:52:27 and AI paradim is good too 20:52:29 *agumonkey* reminds the nurbs chapter in on lisp, heatwave 20:52:34 I don't own it. I just love the title. 20:52:50 ah, well, yes. 20:53:06 i thought ACL was a good beginners book 20:53:45 and ACL has excercises 20:53:55 italic: there are different classes of beginners. 20:54:09 acl? 20:54:17 ANSI Common Lisp, Graham 20:54:21 it doesn't really use very common style, also skips over a bunch of very useful things 20:54:21 how does ACL compares to PCL ? i mean what order should I read them 20:54:22 If you don't know programming already, I'd advise Common Lisp: A Gentle Introduction to Symbolic Computation http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html http://www.cs.cmu.edu/~dst/LispBook/ 20:55:20 ACL and On Lisp are quite alike 20:55:22 i read ACL, knowing his style wasn't the best, but he introduces a lot of things clearly, then PCL to get a feel for how your supposed to write things 20:55:34 on lisp is much more advanced 20:55:42 He disparages LOOP. Good foundational habit! 20:55:50 I thought OnLisp was a lot more macro oriented 20:56:08 avoiding loop is good? 20:56:28 PCL doesn't use loop until the last chapters 20:56:33 I like how Graham describe things on OnLIsp , much better than Land of Lisp or PCL 20:56:38 I always felt bad reading "loop" code 20:56:49 ezakimak: noooooo 20:56:51 Anybody tried Let Over Lambda btw ? 20:57:12 the author's description for that book was annoying. 20:57:23 loop is a tool like any other. if you avoid it, avoid it because it's not right for what you are using it for. 20:57:37 (right then and there) 20:57:41 -!- cods [~cods@rsbac/developer/cods] has quit [Ping timeout: 240 seconds] 20:57:51 well, so far I'm kinda poking at the diff. books I have, none of them fit the bill perfectly so far 20:57:52 but if you know that going into ACL, i don't see how not reading loop is bad 20:59:20 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 240 seconds] 20:59:35 cods [~cods@tuxee.net] has joined #lisp 21:00:37 if you don't know programming at all, i'd reccommend Little Schemer. Yeah it's not cl, but you can always work up to lisp later, right? 21:01:06 Unless dieting. Then it's to be avoided. 21:01:08 i just liked the format of that book and the very practical way it teaches the foundations 21:01:30 q/a + excercises all the way through. 21:02:22 very little exposition and "yammering" 21:02:41 well, Little Schemer was basically the second edition of Little LISPer 21:02:47 *j_king* nods. 21:03:00 they also point out how to translate it to lisp where it matters. 21:03:32 "lisp" refers to non-common lisp, I would think (: 21:04:06 The_Fellow [~storm2@glida.mooo.com] has joined #lisp 21:04:31 antifuchs: it referred afaik to LISP 1.5 or Maclisp 21:04:43 close enough :P 21:05:01 francogrex [~user@109.130.66.83] has joined #lisp 21:08:29 not related, but... could anybody point me at a good use of the meta-object protocol? 21:10:33 -!- antgreen [~user@nat/redhat/x-rcapvpqmvkkdxlzf] has quit [Read error: Connection reset by peer] 21:10:35 how much time in avarage do I need to have a good skill in CL ? 21:10:47 *average 21:12:05 Gmind: I think beach would be the best person to answer this - he's taught CL in university, and his students have become contributors to the open-source lisp world, so he should have data (: 21:12:07 10 years. 21:12:09 :-P 21:12:20 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Read error: Operation timed out] 21:12:24 See: http://norvig.com/21-days.html 21:12:32 drl [~lat@110.139.230.142] has joined #lisp 21:12:44 Bike: well, heh, CLOS is a pretty good use of the MOP (-: 21:13:18 Bike: there are a bunch of other things, like contextl, which adds a completely new way of doing oop to CLOS 21:13:20 Well yes, but I've read two expositions on using CLOS for itself, and now I'm wondering about other things. 21:13:43 I don't want to burn-out the progress , it's just because I'm chasing CL to have a good skill that enough for me to program my next AI 21:13:43 also, check out the slime inspector - it uses the MOP for introspection on classes and stuff 21:14:07 Hm, thanks. 21:14:23 No docs for ContextL and it's on c-l.net, bleh. 21:14:23 I will ask beach when he's here . 21:14:57 I don't have very many other examples in my head right now, but there are tiny things, like custom specializers (supported by sbcl) 21:15:00 (perhaps he can give me some tips on improving self-training ) 21:15:31 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Ping timeout: 246 seconds] 21:15:45 Like the examples in the books? Slots with specialized memory access and the like? 21:16:39 Oh hey, c-l.net is back up. 21:16:54 =cheer= 21:17:29 -!- killerboy [~mateusz@smrw-91-193-87-5.smrw.lodz.pl] has quit [Ping timeout: 264 seconds] 21:18:17 pers [~user@142.sub-75-196-159.myvzw.com] has joined #lisp 21:18:18 ye_ [~h@78.129.114.47] has joined #lisp 21:19:01 how can I launch a function that doesnt finish and still get the repl back ? 21:19:42 You could put it in a new thread? 21:19:55 -!- pers [~user@142.sub-75-196-159.myvzw.com] has left #lisp 21:20:25 how do i do that ? 21:20:56 You need a special package to do it portably. Why do you want to? 21:21:12 im launching an opengl window 21:21:24 but i'd like to edit what's displayed with the repl 21:24:15 are you using slime? 21:24:36 with sbcl? and not on macosx? 21:24:41 oh look, cl-json uses a special metaclass. 21:26:25 im using slime 21:26:27 oh yeah, various persistence-type things will use metaclasses 21:26:49 Bike: check out postmodern, clsql, elephant and allegrocache - they use custom metaclasses too. 21:26:57 clozure cl on windows and linux 21:26:57 lispbox, actually 21:27:02 (for some reason I hadn't associated that with MOP. wtf (-:) 21:27:08 macrocat [~marmalade@99.192.99.224] has joined #lisp 21:27:31 Well, metaclasses are olderish, like in Smalltalk... but thanks, I will. 21:28:44 -!- basho__ [~basho__@dslb-188-108-146-079.pools.arcor-ip.net] has quit [Remote host closed the connection] 21:29:03 billitch [~billitch@78.250.82.216] has joined #lisp 21:31:09 -!- stis [~stis@host-90-235-126-47.mobileonline.telia.com] has quit [Ping timeout: 248 seconds] 21:31:21 killerboy [~mateusz@smrw-91-193-87-5.smrw.lodz.pl] has joined #lisp 21:32:49 leifw [~user@64.134.64.150] has joined #lisp 21:35:22 realitygrill [~realitygr@adsl-76-226-119-17.dsl.sfldmi.sbcglobal.net] has joined #lisp 21:37:59 ping 21:38:31 pong 21:44:02 pnq [~nick@ACA34CF8.ipt.aol.com] has joined #lisp 21:45:16 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 246 seconds] 21:48:27 -!- Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has quit [Remote host closed the connection] 21:50:09 -!- ChibaPet [~mason@74.203.221.34] has left #lisp 21:50:40 Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has joined #lisp 21:53:15 -!- francogrex [~user@109.130.66.83] has quit [Remote host closed the connection] 21:54:21 redline6561 [~user@66.56.55.169] has joined #lisp 21:55:14 -!- varjag [~eugene@62.249.169.4] has quit [Quit: Ex-Chat] 21:56:54 Bike: relational objects for lisp and lisp on lines both use the MOP pretty heavily, and are quite idiomatic. 21:57:58 drl [~lat@110.139.230.142] has joined #lisp 21:58:11 -!- rmarianski [~rmariansk@mail.marianski.com] has quit [Quit: leaving] 21:58:13 ltriant [~ltriant@110-174-168-43.static.tpgi.com.au] has joined #lisp 21:58:25 -!- symbole [~user@50-56-91-243.static.cloud-ips.com] has quit [Remote host closed the connection] 21:59:42 -!- bobbysmith007 [~russ@216.155.103.30] has quit [Quit: Leaving.] 22:00:10 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Read error: Connection reset by peer] 22:01:12 -!- tritchey [~tritchey@70-35-37-146.static.wiline.com] has quit [Quit: tritchey] 22:01:13 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.4] 22:01:15 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 22:01:39 -!- Jasko [~tjasko@70-35-37-146.static.wiline.com] has quit [Quit: This computer has gone to sleep] 22:03:10 Jasko [~tjasko@70-35-37-146.static.wiline.com] has joined #lisp 22:03:36 -!- Gmind [~Nevermind@113.190.207.179] has quit [Read error: Connection reset by peer] 22:03:43 c|mell [~cmell@188-220-238-74.zone11.bethere.co.uk] has joined #lisp 22:04:59 tritchey [~tritchey@70-35-37-146.static.wiline.com] has joined #lisp 22:06:23 -!- milanj [~milanj_@79-101-169-52.dynamic.isp.telekom.rs] has quit [Quit: Leaving] 22:08:49 -!- housel [~user@mccarthy.opendylan.org] has quit [Excess Flood] 22:09:10 housel [~user@mccarthy.opendylan.org] has joined #lisp 22:09:18 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 22:10:30 -!- codetonowhere [~Adium@78-105-3-181.zone3.bethere.co.uk] has quit [Read error: Connection reset by peer] 22:10:39 codetonowhere [~Adium@78-105-3-181.zone3.bethere.co.uk] has joined #lisp 22:12:08 I was wondering if anyone around understands how SLIME takes over lisp-mode. Is it possible for me to make a derived mode from lisp-mode that does NOT inherit from SLIME? 22:12:34 -!- ye_ [~h@78.129.114.47] has quit [Quit: Leaving] 22:12:35 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 252 seconds] 22:13:51 I don't see how slime takes over lisp mode 22:14:27 slime-setup by default adds a hook to lisp-mode-hook to turn on slime-lisp-mode 22:16:21 -!- eugu [~Miranda@213.141.157.147] has quit [Quit: eugu] 22:16:47 Krystof: ah. I think that means my derived mode gets slime-lisp-mode turned on, too. 22:16:49 -!- aperturefever [20164@ninthfloor.org] has quit [Quit: aluve] 22:17:10 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 22:17:27 Yes, that must be what happens.... 22:18:35 I'm trying to hack a derived mode to edit an s-expression based DSL. I think in the best of all possible worlds I would be deriving from some (I believe non-existent) mode that would be the common parent of lisp-mode and emacs-lisp-mode 22:18:43 I really just want s-expression support. 22:19:04 perhaps paredit would be a good place to look. 22:19:09 asher9 [~asher@c-24-91-59-62.hsd1.ma.comcast.net] has joined #lisp 22:19:45 rpg: there's a lisp mode that both lisp-mode and emacs-lisp-mode are derived from 22:20:08 or at least I thought there was 22:20:19 (seems I was mistaken, foo) 22:20:41 this seems to be my problem: (when (member 'lisp-mode slime-lisp-modes) (add-hook 'lisp-mode-hook 'slime-lisp-mode-hook)) 22:20:42 ah, there's a lisp-mode-shared-map 22:21:58 Looks like I might need further investigation of derived-modes to get this hook inheritance under control... 22:24:19 emacs-lisp-mode and conventional lisp-mode share code, but don't share a common mode ancestor from which I could branch mine. 22:25:19 drl [~lat@110.139.230.142] has joined #lisp 22:25:28 fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has joined #lisp 22:27:54 Huh. I would have thought it would be relatively common for people to want to write emacs modes for s-expression based DSLs. As usual, my demographic beliefs are way off... 22:28:49 In the comp.lang.lisp FAQ there's some advice to use cond instead of if + progn. Since googling "if progn cond" produces many false hits, I haven't found many justifications for this practice. With cond there's an extra level of parens, plus the not-exactly-pretty "t" clause standing for "else". 22:28:58 Can someone convince me to use cond? 22:29:28 Paul Graham uses if + progn, IIRC. 22:29:31 -!- killerboy [~mateusz@smrw-91-193-87-5.smrw.lodz.pl] has quit [Quit: bye] 22:29:36 asher9: if you have more than a then and else case, you end up indenting to the right a lot 22:29:44 asher9: ah, that would be a very good argument to use COND then (: 22:29:56 of course. I'm talking about one then-clause and one else-clause. 22:30:13 I mean -- not nested. 22:30:21 -!- leifw [~user@64.134.64.150] has quit [Ping timeout: 248 seconds] 22:30:26 yeah, even then it often looks nicer. 22:30:34 Removing the nested cases, why should I use cond? 22:30:38 -!- bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has quit [Ping timeout: 240 seconds] 22:31:06 I'm always more careful when I see if/progn code: first, that progn could very easily be prog1; and second, the code is usually written by a newbie (: 22:31:28 no offense, but it usually indicates a code smell to me. 22:31:29 -!- agumonkey [~agumonkey@64.158.70-86.rev.gaoland.net] has quit [Ping timeout: 252 seconds] 22:31:44 Why? I still haven't seen an argument. 22:32:31 I'm talking about a single if. Not nested. A single then-clause. A progn in the else clause. 22:32:34 it means that the person who wrote that code doesn't write idiomatic common lisp, so might try being smart 22:32:43 bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has joined #lisp 22:32:49 Again, what is the reason? 22:33:03 my job is to debug lisp code. so I end up spending a lot of time inside "smart" code 22:33:07 ...wonder why 22:33:07 asher9: there's nothing wrong with doing what you are doing, imo. 22:33:34 antifuchs: are you going to tell me why you believe that? 22:33:50 asher9: no need to get testy 22:33:54 asher9: I don't think I've done anything but tell you why I believe that 22:34:05 asher9: because antifuchs has to deal with code that uses if* 22:34:12 I think I'll stop now, and let you get back to writing code 22:34:28 I don't believe I'm getting testy. I've asked for a real explanation. 22:34:32 if you like what you write, then there's no reason for me to get angry at you for writing code I find stylistically off 22:34:44 -!- billitch [~billitch@78.250.82.216] has quit [Quit: Leaving.] 22:34:48 I've only gotten "code smell", but without a reason for why it's code smell. I'm genuinely interested. 22:34:50 (especially since I won't need to spend time debugging yours (-:) 22:35:24 antifuchs: Have you taken this up with Paul Graham? 22:35:27 asher9: if/progn makes explicit what COND (and when and unless) does implicitly, by convention 22:35:39 I don't think he is very interested in corrections to his lisp viewpoints 22:35:40 but now 22:35:42 "no" 22:35:54 we told him that Arc was rubbish, but he didn't listen 22:36:21 so by making it explicit, it also makes it easy to put in things that /look/ right at first glance, but introduce subtle bugs 22:36:26 cheezus [~Adium@76.10.136.155] has joined #lisp 22:36:28 like substituting PROG1 for PROGN (: 22:36:34 But like I said, with cond there's an extra level of parens along with the "t" standing for the else cause. That's at least as ugly as a single progn. 22:36:48 I don't care about ugly, and I don't care about parens (: 22:36:57 my editor doesn't even show me them in the same font 22:36:59 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 252 seconds] 22:37:23 (they're closer to the background color than regular text) 22:37:25 -!- muhdick [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has quit [Ping timeout: 246 seconds] 22:37:43 I just don't see a clear line of reasoning connecting (if foo bar (progn ..) to subtle bugs. 22:38:32 my interest is in code I'll be able to pick up in 6 months' time and start hacking on again with as little head-scratching as possible. avoiding if with multiple forms in branches is one way to achieve that for me 22:38:33 Joreji_ [~thomas@66-232.eduroam.RWTH-Aachen.DE] has joined #lisp 22:38:50 or rather, writing lisp code that is as close as possible to other well-written lisp code out there 22:39:16 asher9: you're getting the benefit of experience, not reasoning. If antifuchs were to say "I have observed more bugs in (if foo bar (progn ...)) code than in (cond (foo bar) (t ...)) code", would that satisfy you? 22:42:27 -!- xan_ [~xan@99.13.242.166] has quit [Ping timeout: 246 seconds] 22:42:31 Krystof: That has the conflation problem of if/progn being not idiomatic. Newbies write non-idiomatic code. Newbies have more bugs. One cannot determine whether the bugs are newbie-related or if/progn-related. I'd like to know why cond became idiomatic in the first place. 22:42:49 asher9: you may (defvar else t) and write (cond (c1 e11 ... e1n) (else ee1 ... een)) 22:43:07 -!- borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has quit [Read error: Operation timed out] 22:43:36 well that whouldn't be idomatic, would it? 22:43:40 asher9: there's nothing wrong with if/progn, apart from the fact that you often have to add expressions in a branch, or branches to a condition. 22:44:14 asher9: there may be no reason for cond's idiomaticity 22:44:48 no clear reason with no hint of randomness or imponderable human factors 22:44:53 Salamander_ [~Salamande@ppp118-210-132-51.lns20.adl6.internode.on.net] has joined #lisp 22:44:57 Well, there's one: John McCarthy advocated for cond instead of if. In FORTRAN, IF was quite idiotic. 22:45:47 Has paul graham ever explained why he prefers if/progn? Haven't found any google hits on this. 22:47:34 -!- Salamander [~Salamande@ppp121-45-93-137.lns20.adl6.internode.on.net] has quit [Ping timeout: 246 seconds] 22:48:44 -!- tcr1 [~tcr@217-162-131-235.dynamic.hispeed.ch] has quit [Quit: Leaving.] 22:50:25 drl [~lat@110.139.230.142] has joined #lisp 22:52:21 leifw [~user@ool-18bac6ad.dyn.optonline.net] has joined #lisp 22:53:15 pjp: OK I can see the argument for making code future-proof. But the issue here is that one is always rearranging stuff anyway. If I have just three simple forms a,b,c I'll do (if a b c). If that gets more complicated I'll switch to cond. Starting off with (cond (a b) (t c)) seems a bit excessive. 22:54:53 I don't see a clear line of reasoning that makes (cond (a b) (t c)) excessive 22:55:38 (please don't try to convince me) 22:55:58 Krystof: Do you not use "if" at all, then? 22:56:12 When do you use "if"? 22:56:23 my preferences are not the point 22:57:38 you have come to some position, for whatever reason, and you are apparently demanding proof of a high standard for budging from that position 22:58:04 but the position you've happened to come to is not one that required that standard of proof to get to in the first place; it's basically happenstance 22:58:13 -!- cheezus [~Adium@76.10.136.155] has quit [Quit: Leaving.] 22:58:50 if you can't see how that might be an inhibitor in this conversation, then there's not much hope for it 22:59:03 hm? If you can explain why you've ever used "if" instead of "cond", then this would certainly illuminate the relative merits of if vs cond. Your preferences are exactly the point. 22:59:06 not that I'm going to stay up any longer to continue it anyway 22:59:09 xan_ [~xan@99.13.242.166] has joined #lisp 23:00:07 is it good practice to declare types on every function? even functions that use functions you've already declared 23:01:33 nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has joined #lisp 23:01:33 -!- nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has quit [Changing host] 23:01:33 nefo [~nefo@unaffiliated/nefo] has joined #lisp 23:02:18 -!- dmiles [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has quit [Quit: Read error: 110 (Connection timed out)] 23:02:34 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #lisp 23:02:42 dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has joined #lisp 23:02:47 -!- dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has quit [Excess Flood] 23:03:37 dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has joined #lisp 23:05:12 -!- dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has quit [Client Quit] 23:06:04 italic: No. Declaring types makes the program harder to change. 23:06:34 dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has joined #lisp 23:07:30 Xach: so do you only declare when optimizing? 23:07:32 -!- dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has quit [Client Quit] 23:07:51 Could an op change the topic? Common-lisp.net is back up. 23:08:40 -!- Bike [~arm@69.166.35.237] has quit [Quit: leaving] 23:08:42 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 246 seconds] 23:09:26 dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has joined #lisp 23:09:56 Does the same argument apply to check-type? 23:11:13 italic: When I'm pretty sure I'm done changing something, and it's identified as being too slow for some specific purpose. 23:11:18 -!- antifuchs changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language . New: common-lisp.net is up again, SBCL 1.0.47, usocket 0.5.0, ABCL 0.25 23:11:44 check-type is a little different. 23:12:01 Oh, check-type is a correctable error. That's odd. 23:12:14 Haven't seen it used much. 23:12:15 declarations need not act like assertions, as sbcl treats them. 23:12:28 check-type is different. 23:12:43 borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has joined #lisp 23:12:59 don't people use declare more-or-less as check-type? 23:13:15 since sbcl will throw a type exception 23:13:22 italic: It's not specified that way. 23:13:31 Is it good/bad style to have a bunch of check-types at the start of a defun to catch errors sooner rather than later? Or is this "help" not helping in the long run? 23:13:33 italic: type declarations are a promise to the compiler that you shouldn't break. 23:14:02 italic: that sbcl catches you breaking the promise and does something useful at some settings is an implementation decision. 23:14:57 so if im making a library for others to use, i shouldnt rely on declare to check bad args 23:15:31 -!- seangrov` [~user@70-36-236-168.dsl.static.sonic.net] has quit [Ping timeout: 258 seconds] 23:16:17 -!- xan_ [~xan@99.13.242.166] has quit [Ping timeout: 276 seconds] 23:16:41 jcb [~jcb@r190-135-183-78.dialup.adsl.anteldata.net.uy] has joined #lisp 23:16:52 italic: It's not required to do that, no. 23:17:27 asher9: It makes it harder to change things. If the program is at a point where changing things isn't the top priority, it's not necessarily a bad thing to do. 23:18:47 htierno [~htierno@108-100-16-190.fibertel.com.ar] has joined #lisp 23:20:14 BrandLeeJones [~BrandLeeJ@84.114.246.246] has joined #lisp 23:21:42 drl [~lat@110.139.230.142] has joined #lisp 23:21:54 -!- Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has quit [Remote host closed the connection] 23:21:54 -!- Joreji_ [~thomas@66-232.eduroam.RWTH-Aachen.DE] has quit [Remote host closed the connection] 23:21:58 Joreji__ [~thomas@66-232.eduroam.RWTH-Aachen.DE] has joined #lisp 23:22:18 -!- ec|detached is now known as elliottcable 23:23:57 -!- jcb [~jcb@r190-135-183-78.dialup.adsl.anteldata.net.uy] has quit [Quit: Ex-Chat] 23:23:58 Hi! I'm starting lisp with emacs and slime. I wrote a file with some arithmetic calculations. On slime side within emacs i load the the file with (load "path/to/...."). I'm expecting to see the results of the calcualtions, but i get #P"/Users/tb/code/lisp/first_steps/arithmetic.lisp" only. What i'm doing wrong? 23:24:26 -!- elliottcable is now known as ec 23:24:36 BrandLeeJones: LOAD won't return the result of the top-level forms in the file 23:24:44 only the REPL does that 23:24:47 BrandLeeJones: visit the file in emacs, use C-x C-e on the form to evaluate it. the result shows in the minibuffer. Or put the forms in a function, then call the function in the repl. 23:26:08 thanks :> 23:26:23 italic: I know Allegro treats DECLARE close to how it's proclaimed to be and does not signal type errors. I suspect CCL is similar, but can't swear to it. 23:26:48 Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has joined #lisp 23:27:05 The CL standard is quite clear that DECLARE does not impose an obligation to type-check. Indeed, it allows the compiler to skip type-checking, if it wishes. 23:27:39 so if i'm distributing a library, i'd need a lot of type-checks and declares 23:28:06 asher9: there are macro libs that can make inclusion of check-type automatic (as well as all declarations) 23:28:26 -!- drl [~lat@110.139.230.142] has quit [Ping timeout: 240 seconds] 23:28:34 italic: No, not necessarily. 23:29:03 Indeed, the two may have conflicting effects: CHECK-TYPE making slower and DECLARE speeding... 23:29:52 interesting thing would be to make a macro for checking types react to (safety x) declaration 23:29:58 what would you do? strip out check-type in a production version? 23:30:00 -!- redline6561 [~user@66.56.55.169] has quit [Ping timeout: 260 seconds] 23:30:40 italic: possibly 23:30:42 p_l|backup: alas, you can't do that, since there is no portable way for a program to read ANY declarations. 23:30:50 rpg: aww 23:30:53 georgek [~george@184-77-70-234.war.clearwire-wmx.net] has joined #lisp 23:31:18 -!- gemelen [~shelta@shpd-92-101-132-145.vologda.ru] has quit [Ping timeout: 240 seconds] 23:31:23 means more macrology and in-house extensions? :/ 23:31:36 p_l|backup: I know.... Once upon a time I wanted to develop a macro that would put in checks that would go out as safety went down. No dice. 23:32:06 p_l|backup: I think it's flat-out impossible to read those in some implementations. 23:32:17 rpg: unless you use your own macro to set the declarations *and* save info for reflection 23:32:25 (though it breaks for code not using it) 23:33:01 although I think it can be patched in LW without doing much (I recall some hacks that rebound CL symbols) 23:33:03 p_l|backup: and those declarations have very complicated semantics. Are you going to fix LOCALLY and friends... 23:33:47 hmmm... might be "interesting" 23:34:17 -!- wzergw [~hynek@ip-62-245-66-12.net.upcbroadband.cz] has quit [Quit: Leaving.] 23:37:53 sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has joined #lisp 23:38:23 codelurker [~codelurke@c-24-91-16-174.hsd1.ma.comcast.net] has joined #lisp 23:38:29 -!- pdlogan [~patrick@174-25-37-137.ptld.qwest.net] has left #lisp 23:41:05 -!- ec is now known as ec|detached 23:42:18 drl [~lat@110.139.230.142] has joined #lisp 23:45:19 sonnym [~sonny@rrcs-184-74-137-167.nys.biz.rr.com] has joined #lisp 23:47:21 -!- ec|detached is now known as ec 23:47:43 -!- ec is now known as elliottcable 23:48:21 -!- sellout [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 23:50:38 (def forward-to-foo (&rest args) (apply #'foo args)). Is APPLY is the idiomatic way to forward &rest arguments? Unless lisp has a splat operator that I'm missing. 23:50:50 Bike [~arm_of_th@71-38-154-233.ptld.qwest.net] has joined #lisp 23:50:50 oops, that's defun :) 23:51:17 dang, I wanted to hide my python background 23:51:59 well I mentioned "splat" so I was toast anyway 23:55:29 don't worry 23:55:53 asher9: apply: appropriate 23:56:55 k thanks. I was wondering how more complex forwarding is done, but I just now read about "spreadable argument list designator". 23:57:40 I always thought that was catchy. 23:57:54 ...is that term actually used anywhere but for APPLY?