00:12:59 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 00:15:10 eno_ [n=eno@adsl-70-137-149-81.dsl.snfc21.sbcglobal.net] has joined #scheme 00:18:32 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 00:23:41 davazp [n=user@187.Red-83-57-39.dynamicIP.rima-tde.net] has joined #scheme 00:29:08 -!- eno_ is now known as eno 00:30:06 manym [n=manym@adsl-75-50-254-149.dsl.milwwi.sbcglobal.net] has joined #scheme 00:52:50 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 01:05:34 davazp` [n=user@220.Red-83-57-37.dynamicIP.rima-tde.net] has joined #scheme 01:08:04 -!- davazp` [n=user@220.Red-83-57-37.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 01:16:06 -!- masm [n=masm@bl10-6-61.dsl.telepac.pt] has quit ["Leaving."] 01:17:52 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 60 (Operation timed out)] 01:20:58 -!- davazp [n=user@187.Red-83-57-39.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 01:22:02 eno [n=eno@nslu2-linux/eno] has joined #scheme 01:25:24 mhoye [n=mhoye@shell.off.net] has joined #scheme 01:25:36 sstrickl [n=sstrickl@mail.jtang.org] has joined #scheme 01:28:57 QinGW [n=wangqing@203.86.89.226] has joined #scheme 01:45:05 saint_cypher [n=saint_cy@24-247-77-89.dhcp.trcy.mi.charter.com] has joined #scheme 01:46:37 -!- Riastradh [n=riastrad@tissot.csail.mit.edu] has quit ["leaving"] 01:51:14 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 01:51:25 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 02:07:52 bombshelter13b [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 02:12:26 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit ["Leaving."] 02:32:12 http://www.cafepress.com/clathid.423661637 02:37:05 ski_ [n=md9slj@remote1.student.chalmers.se] has joined #scheme 02:38:32 -!- underspecified [n=eric@softbank220043052007.bbtec.net] has quit [] 02:48:22 crink [n=crink@unaffiliated/crink] has joined #scheme 02:53:10 -!- bombshelter13b [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit ["If only your veins were filled with oil, the world would rush to your rescue!"] 02:54:35 FunkyDrummer [n=RageOfTh@users-55-53.vinet.ba] has joined #scheme 02:55:39 schoppenhauer [n=christop@unaffiliated/schoppenhauer] has joined #scheme 02:55:44 arcfide [i=arcfide@adsl-99-31-12-73.dsl.bltnin.sbcglobal.net] has joined #scheme 03:00:47 -!- schoppenhauer [n=christop@unaffiliated/schoppenhauer] has quit [] 03:01:00 -!- ASau [n=user@83.69.227.32] has quit [Remote closed the connection] 03:03:32 timchen119 [i=tim@163.16.211.21] has joined #scheme 03:03:42 -!- timchen119 is now known as nasloc__ 03:07:04 -!- crink [n=crink@unaffiliated/crink] has quit ["Leaving."] 03:10:55 But that makes no sense. 03:12:45 -!- RageOfThou [n=RageOfTh@users-33-199.vinet.ba] has quit [Read error: 110 (Connection timed out)] 03:20:29 -!- blackened`_ [n=blackene@ip-89-102-22-70.karneval.cz] has quit [] 03:25:35 ASau [n=user@83.69.227.32] has joined #scheme 03:33:51 -!- FunkyDrummer [n=RageOfTh@users-55-53.vinet.ba] has quit [Read error: 110 (Connection timed out)] 03:38:00 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit ["Leaving"] 03:38:12 how would I go about importing a srfi in r6rs plt scheme? srfi \x31;\x33; works (for 13) but that's horribly ugly; have any changes been made? 03:41:29 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 03:48:34 dunno 03:51:26 QinGW1 [n=wangqing@211.151.251.254] has joined #scheme 03:52:34 tjafk [n=timj@e176210083.adsl.alicedsl.de] has joined #scheme 04:06:01 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 110 (Connection timed out)] 04:07:46 QinGW [n=wangqing@203.86.89.226] has joined #scheme 04:08:14 mbohun [n=mbohun@202.124.75.188] has joined #scheme 04:08:39 -!- tjaway [n=timj@e176211179.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 04:12:15 underspecified [n=eric@walnut.naist.jp] has joined #scheme 04:17:18 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 04:19:38 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 04:20:06 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 04:24:51 -!- QinGW1 [n=wangqing@211.151.251.254] has quit [Success] 04:30:36 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit ["Goin' away"] 04:33:34 -!- SharkBrain [n=gerard@210.48.104.34] has quit ["leaving"] 04:42:37 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 04:50:23 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 04:55:44 Oh yeah! 04:56:10 New pre-release of Chez Scheme (and petite, of course). 04:56:42 And this one's release notes reads like a dream for me. 04:58:34 chandler: If I remember correctly, you will like this release of Chez. 05:02:28 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit ["Goin' away"] 05:12:46 -!- drwho [n=d@c-98-225-208-183.hsd1.pa.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 05:19:42 -!- TR2N [i=email@89-180-232-154.net.novis.pt] has left #scheme 05:20:31 arcfide: is new chez release out yet? 05:26:22 leppie|work: Not quite yet, but there is another prerelease. 05:26:36 WIth lots of goodies in it that makes version 8.0 sound very promising to someone like me. :-) 05:26:41 > 7.93 ? 05:27:02 7.9.4 05:27:20 I see :) 05:27:31 Nice set of release notes. :-) 05:28:20 gonna look now 05:28:37 arcfide: what is the difference between the threaded and non-threaded versions? 05:28:49 The threaded versions provide native threads, the others don't. 05:29:14 oh, I thought it might be to do with default 'parameter' behaviour 05:29:40 No, default parameters are always global, and you can make thread local parameters with make-thread-parameter. 05:29:59 ok 05:30:24 In IronScheme, they are kinda hybrid 05:31:18 maybe I should use a clearer seperation, but still cant find benefits to do so 05:32:49 So, how do you differentiate between data that is shared across all threads, and state that changes only on a thread by thread basis? 05:33:21 by hybrid I mean: all parameters use local thread data slots, but on 'creation' in a different thread it will get the existing value if available 05:33:59 Normal varaibles are shared between threads 05:34:09 they are never thread local 05:35:33 I have not really tested different scenarios, but this is what work best in both a single threaded environment, and a multi threaded one (basically a web server) 05:36:02 Well, so you mean I have to use set to track global changes? 05:36:09 s/set/SET!/ 05:36:21 my use of threads are extremely limited :( I should be using them more with these new CPU's 05:36:21 What about using PARAMETERIZE? 05:36:41 parameterize will only affect the local thread 05:36:43 allways 05:37:37 i know chez seperates them, so maybe that is the better way to go 05:39:17 drwho [n=d@c-98-225-208-183.hsd1.pa.comcast.net] has joined #scheme 05:44:46 foof [n=user@isa7-dhcp-116-235.naist.jp] has joined #scheme 05:45:12 *arcfide* shrugs. 05:45:18 I ususally use globals for parameters. 05:45:32 At some point I will use thread local parameters, though. 05:45:50 The improvements to library compilation and the FFI are things that I like though. 05:54:26 just read it, looks nice :) 05:54:52 Too bad you don't use it. :-) 06:06:22 -!- ski [n=slj@c-0611e055.1149-1-64736c10.cust.bredbandsbolaget.se] has quit [Read error: 60 (Operation timed out)] 06:12:28 What's this? 06:13:55 What's what? 06:13:59 *arcfide* whistles innocently. 06:15:08 leppie|work: And, oh, I like the new BEGIN semantics, even though some people may not. 06:19:56 -!- kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has quit [Remote closed the connection] 06:20:56 arcfide: I dont write funny code, so it does not bother me :) 06:21:07 foof: new chez release 06:21:13 Funny code? 06:21:32 like that example they give 06:21:50 I encountered this when doing some not trivial but not overly complex macros. 06:21:55 elderK [n=zk@125-238-255-127.jetstream.xtra.co.nz] has joined #scheme 06:22:02 -!- ski_ [n=md9slj@remote1.student.chalmers.se] has quit ["Lost terminal"] 06:22:04 It had to do with the interaction of 'define-record-type' with some function definitions. 06:22:12 I cant say I have ever been bitten by that 06:22:16 yo, leppie! 06:22:19 er, leppie|work 06:22:21 hi elderK 06:22:22 Long time no see, ma! 06:22:24 *man! 06:22:30 :P sorry for the typing, just got back from a long walk, oy. 06:22:31 :) 06:22:37 How's IronScheme coming along? 06:22:45 ski [n=slj@c-0611e055.1149-1-64736c10.cust.bredbandsbolaget.se] has joined #scheme 06:22:45 yeah, been lurking, no time for scheme :( work deadlines 06:22:53 Ah man, that sucks. 06:22:59 Whatever pays the bills though, hey :) 06:23:02 Is life at least treating you well? 06:23:03 yip 06:23:06 I just got around to playing with gamerizon's Quantz, and I like it. 06:23:17 But I'm going to need to find more work soon. 06:23:23 arcfide: Was it written in CL or Scheme, I forget. 06:23:47 Gambit Scheme. 06:23:58 :) 06:24:07 Feeley's implementation, right? 06:24:50 -!- ski [n=slj@c-0611e055.1149-1-64736c10.cust.bredbandsbolaget.se] has quit [Read error: 60 (Operation timed out)] 06:24:58 I believe so. 06:25:13 I'm yet to find an implementation for Windows that I like much. 06:25:22 Implementation of what? 06:25:24 Scheme? 06:25:26 On NIXen, Schemes are everywehre! 06:25:26 Yeah. 06:25:32 I mean, there's Plt and Gambit and Gauche and waht not, 06:25:38 but most of them depend on MinGW or MSYS. 06:25:39 elderK: What are your needs? 06:25:45 Apart from say, PLT/MzScheme. 06:26:02 Petite Chez Scheme is easy to use on Windows, and it comes with a bit of Graphical support through SWL too. 06:26:08 And there is MIT Scheme. 06:26:13 Also with a graphical editor. 06:26:14 Reasonably good code quality (when compiled through to C, to native), A decent FFI, cross-platform/. 06:26:26 Also, defmacro, syntax-rules / syntax-case 06:26:29 :) And I'd be reasonably happy. 06:26:32 DEFMACRO?????? 06:26:33 Threading too, if I'm being spoilt. 06:26:42 Well yeah, since I haven't got to play with defmacro yet :() 06:26:51 Thank your lucky stars for that. 06:26:52 I use syntax-rules mostly, and I'm learning how to use syntax-case 06:27:05 DEFMACRO is a relic. SYNTAX-CASE is, imo, where it is at. :-) 06:27:06 but, I'd like to take a look at defmacro too, if only for curiosity. 06:27:15 At least some hygienic procedural macro system should be used. 06:27:27 Better to look at it from the comfort of an User's Guide. 06:27:46 ski [n=slj@c-0611e055.1149-1-64736c10.cust.bredbandsbolaget.se] has joined #scheme 06:27:47 afaik, scheme's defmacro is like CL's defmacro, except, unlike CL, Scheme is a Lisp1 which means we are more likely to collide and whatnot, apparently. That and CL has a package system? 06:27:58 Aye arcfide :) 06:28:17 I was leaning more towards syntax-case than defmacro, since, syn-case lets me create new symbols if needed, er, break hygiene if needed :) 06:28:21 As far as I understand :) 06:28:25 I think Gambit works on Windows, but it's not really nice when it comes to some other stuff, like FFI and Macros/module systems, IIRC. PLT Scheme's a good choice if you need the FFI, but Larceny is also an option. 06:28:40 Petite Chez doesn't give you an FFI, you get that with the full Chez. 06:29:08 elderK: R6RS' library form is basically a limited packaging system. 06:29:27 def-macro is more limited in the sense that you can't guarantee correct execution of your macros. 06:30:12 If you want native threading, you've precious few choices, but you can look at Petite Chez and I think PLT is getting native threads sometime. I don't know if Larceny has threads or not. 06:30:29 There are also some R6RS Schemes that are more obscure which focus on threading. 06:30:52 like, Ypsilon or Ikarus? 06:31:09 Yeah. 06:31:14 Don't forget Chicken, too. 06:31:25 As for Gambit, what are your experiences with it's FFI? 06:31:25 Ikarus is pretty good, from what I hear, but it's a little too rough around the edges for me yet. 06:31:29 None. 06:31:37 still pretty unreliable, ikarus, tha tis? 06:31:42 I never really used Gambit in production. 06:31:46 *elderK* nods 06:31:47 tabe` [n=user@adel.fixedpoint.jp] has joined #scheme 06:31:57 ski_ [n=md9slj@remote1.student.chalmers.se] has joined #scheme 06:32:02 elderK: Unreliable? I don't know about that. I would say more like incomplete or not always implemented fully. 06:32:44 Aye. 06:32:48 elderK: Actually, my knowledge of the internals of the latest releases of most of the Schemes is limited, because I've been using Chez a LOT, which means my brain is filled with Chez stuff, and my old knowledge of other implementations is, well, old. 06:33:05 PLT / MzScheme is pretty decent, at least in my opinion, so far. 06:33:15 If you like that kind of thing. ;-) 06:33:17 I don't use DrScheme or MrEd or whatever... I just use MzScheme from the CLI 06:33:57 :) But I'm always looking for a good implementation to settle on, so I can work on all major platforms I use (BSD, Linux, Windows, OSX). 06:34:04 Heheh. 06:34:09 Threading /is/ important, but not AMAZINGLY so for me right now. 06:34:15 Well, if you like PLT Scheme, it's not like you're making a terrible mistake or something. 06:34:31 Yeah but I like to go for the underdog :) 06:34:32 Not sure why. 06:34:33 :) 06:34:38 And so long as you write your code correctly, moving to another Scheme won't be hard if you decide to do it. 06:34:49 Aye. 06:34:52 elderK: Then go for it man, what are you still doing waiting around, get your Chez License!! :-) 06:35:06 That brings up a tough question though, arc. How /do/ you right portable Scheme? 06:35:10 Afaik, I use no extensions. 06:35:13 I hardly even use SRFIs. 06:35:17 Well, actually, if you want to root for an underdog, use MIT Scheme. 06:35:34 I am quite fond of MIT Scheme, in a demented sort of way. 06:35:40 kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has joined #scheme 06:35:43 heh, why demented? 06:35:52 Isn't Riastradh a big supporter of MIT Scheme? 06:36:08 elderK: Well, there isn't enough man power in MIT Scheme at the moment to clean up some of its older...excrement. 06:36:17 Riastradh does hack quite a bit on MIT Scheme it seems. 06:36:31 I used to hack on it too, though I don't have much code in the tree. ;-) 06:36:34 Maybe one bug fix. 06:36:50 FFI is pretty important to me, since, I'm hoping to use Scheme more and more for various things. 06:36:51 The problem with MIT Scheme is that so many of its hidden features are...hidden. 06:37:03 elderK: Well, I find that I don't need the FFI for that much. 06:37:03 :) Interfacing to C and foreign libraries is pretty important. 06:37:25 :( afaik, if I want to use GL, I have no choice but to use an FFI. 06:37:30 Although, I'm not afraid to write a native library for doing most things. ;-) 06:37:48 elderK: PLT does work on BSD, Linux, Windows, OSX. (But I can't help with any dog comments, if that's the important factor for you.) 06:37:55 It also has GL. 06:37:56 Native as in C, or native as in, writing an entirely library for X reason in c? 06:37:58 elderK: I do believe that you could technically write your own GL library, but I don't think you would have time for anything else in your life. That's a case where an FFI probably makes sense. 06:38:15 Which works on all of these. (Not sure about BSD though.) 06:38:17 er, X reason in Scheme. 06:38:26 Hey Eli :) 06:38:33 Good morning. 06:39:10 elderK: I don't know if MIT Scheme has a GL library or not. Actually, there seem to be plenty of Schemes with GL libraries already available for them. 06:39:29 Aye. I might be lame, or maybe just... keen to learn, but I'd like to create some bindings myself. 06:39:29 :) 06:39:49 I wnat ot be as self sufficient as I can, so I can learn things deeply, if you know what I mean. 06:40:12 elderK: Hehe, then you're going to love MIT Scheme. ;-) 06:40:18 peter_12 [n=peter_12@S01060026bb736c5b.gv.shawcable.net] has joined #scheme 06:40:25 I don't want to rely on some implementation-provided libraries, if I can learn a way that enables me to do what I need under any implementation. 06:40:26 :) 06:40:34 *arcfide* laughs maniacly (sp?)! 06:41:14 s/ly/ally/ 06:41:15 :) 06:41:21 Bah, that's how I had it the first time. 06:41:23 elderK: And that marks the end of your productive work. 06:41:27 Well, anyways, good luck. 06:41:47 eli, really? 06:42:16 elderK: Yes. Believe it or not, trying to write code that is very portable is not really something new... 06:42:45 You end up reinventing wheels all over the place, writing portability layers for the implementations you care for, 06:43:04 Meanwhile, CLers laugh their asses off, 06:43:43 And at the end of it, you realize that instead of some ultimate environment you have a "yet another" thing... 06:44:15 Just another portability framework. 06:44:23 Eli, how do you feel about CL, personally? 06:44:25 Exactly. 06:44:33 I've been reading up a lot on CL lately, along with Scheme. 06:44:38 Kind of been experimenting with both. 06:44:53 I used to use a lot of it, but in general the mess is not worth it. 06:44:55 IMO. 06:44:58 (Glad I spent most time on Scheme, tbh, I understand CL a lot easier than I did, when I tried going straight into CL) 06:45:09 -!- arcfide [i=arcfide@adsl-99-31-12-73.dsl.bltnin.sbcglobal.net] has quit ["ircII EPIC4-2.8 -- Are we there yet?"] 06:45:36 For example, you referred to lisp-1 being more problematic for `defmacro's, but that's far from being a central point. 06:46:00 CL goes around the real problem by simply declaring any redefinition of builtins as invalid. 06:46:19 Aye, CL limits you. 06:46:48 I forget who said it, but some Schemer in some post I read, simply said that... when it came to macros... 06:46:48 like, 06:47:03 Another pickiness: in `syntax-case' style macros you don't generate symbols, you generate identifiers -- that's a huge difference between CL and Scheme, which is a byproduct of hygiene. 06:47:11 CLers generally see the collision problem (names, definitions, whatever) as "just a thing to be careful about" and "it's not a real issue, just minor" 06:47:37 Yes, that's what CLers usually see. 06:47:52 Just like the horse and the road... 06:48:13 I don't know where I stand, I kind of feel that... being able to break hygiene has it's use, but... only at some specific times, for X specific reasons. Where as, hygiene is GREAT mostly. 06:48:19 So, I guess that puts me in the syn-case camp? 06:48:33 There are certain cases where hygiene buys you much more than just "not needing to be careful" -- for example, when you want to define new languages. 06:48:46 franki^ [n=franki@unaffiliated/franki] has joined #scheme 06:49:14 Well, `syntax-case' is one of the easy ways to break hygiene. 06:49:45 Another difference, afaik, with CL macros, is that... you can't really prevent crucial things from being shadowed. Like, if we use (list ...) or whatever in our macro, it's possible that the code in whic the macro is being expanded in, has overriden that in such a way that the macro didn't estimate. Where as, in Scheme, the definition that takes effect, are those that were bound at the time the macro was defined? 06:49:49 (am I correct here?) 06:50:16 Yes, roughly speaking. 06:50:28 And that's what CL "solves" by forbidding it. 06:50:29 "Easy ways" to break hygiene? 06:50:39 Pish. CLs just running away fro mthe problem. 06:50:46 How is that flexible if they just outright deny it? 06:50:47 o_O 06:51:42 Don't ask me... I'm sure that there are people in #lisp who would happily list why I'm clueless... 06:51:59 s/list/list reasons for/ 06:53:09 aye. 06:53:11 In fact chibi provides both hygienic and hygiene-breaking macros without any gensym. 06:53:15 ;) and we'd probably list why they're clueness. 06:53:26 Hey foof! 06:53:37 ... in fact the existence of immediate symbols makes gensym non-trivial. 06:53:46 I was told to talk to you foof, if I wanted some serious macro enlightenment :) 06:54:35 chevalun [n=chevalun@60.191.99.17] has joined #scheme 06:55:53 When it comes to hygiene, like... I'm clueless how you could possibly break hygiene with syntax-rules ? 06:56:08 I've read some articles by Oleg Kyovski (sp?) on "seeming unhygienic" macros. 06:56:13 But, in the end, they were just clever hacks. 06:56:44 What Oleg does is basically use syntax-rules to do a code-walk of the macro body and manually substitute identifiers. 06:57:17 ... which is hairy to do in syntax-rules. Not all that hard if you're used to syntax-rules CPS techniques, but very hard for others to read. 06:58:27 I've been trying to learn more about CPS, any chance you'd be able ot recommend some papers for me to check out? 06:58:33 But that's not really the same as introducing an unhygienic binding, because it doesn't catch cases where inner macros generate the identifier later, and it can make mistaken substitutions. 06:59:19 I'm totally going to have to reread his paper. 06:59:19 :) 06:59:31 For implementing CPS look at the David Kranz' Orbit thesis, or Feeley's 90-minute Scheme->C compiler. 07:00:04 Not sure of any good examples of _using_ CPS. 07:00:23 As an excercise, just try to implement different computations in syntax-rules. 07:01:05 aw, the orbit thing is behind a paywall :/ 07:01:43 ^_^ I'm just happy so far that I've learned how to do basic list reversals and stacking with syn-rules 07:02:57 ohhhhh I hate you ACM library < 07:02:58 :( 07:03:49 so foof :) Apart from just playing around trying ot create different things in syn-rules and perhaps syn-case, is there anything else I should do to become proficient with scheme macros? 07:03:57 Joe Marshall's syntax-rules for the merely eccentric goes into some depth on the topic, but was too long-winded for me so I never got through it and can be sure if it's really worth recommending. 07:04:03 It's a personal mission nowadays to read and comprehend everything on readscheme.org 07:04:04 :) 07:04:28 can't be sure 07:05:40 As for which Scheme implementation to choose, I don't know. 07:05:50 I'm partial to Chicken, becuase that was the first implementation I ever used. 07:06:12 I've been using PLT/MzScheme on Windows, simply because I've been too lazy to build Chicken or setup MSYS. 07:17:44 -!- NNshag [n=shag@lns-bzn-37-82-253-13-222.adsl.proxad.net] has quit [Remote closed the connection] 07:21:46 ASau` [n=user@77.246.231.86] has joined #scheme 07:36:27 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 07:37:48 -!- chevalun [n=chevalun@60.191.99.17] has quit [Read error: 110 (Connection timed out)] 07:42:41 -!- mbohun [n=mbohun@202.124.75.188] has quit ["Leaving"] 07:54:22 -!- peter_12 [n=peter_12@S01060026bb736c5b.gv.shawcable.net] has quit [] 08:00:27 bombshelter13b [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 08:28:49 -!- xwl_` [n=user@147.243.236.60] has quit [Remote closed the connection] 08:29:32 blackened` [n=blackene@ip-89-102-22-70.karneval.cz] has joined #scheme 08:44:16 xwl_ [n=user@147.243.236.60] has joined #scheme 08:55:53 -!- bombshelter13b [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [] 08:56:41 bombshelter13b [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 08:59:13 -!- bombshelter13b [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Client Quit] 09:17:47 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 09:18:19 -!- xwl_ [n=user@147.243.236.60] has quit [Remote closed the connection] 09:18:31 xwl_ [n=user@147.243.236.60] has joined #scheme 09:25:44 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 09:29:06 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 09:35:01 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 09:42:18 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 10:17:44 Edico [n=Edico@unaffiliated/edico] has joined #scheme 10:27:22 marcoecc [i=me@gateway/gpg-tor/key-0x9C9AAE7F] has joined #scheme 10:36:31 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 10:47:10 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 10:55:08 nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 10:55:16 -!- nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has quit [Remote closed the connection] 10:56:45 nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 10:57:27 -!- CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 11:09:05 masm [n=masm@bl10-7-230.dsl.telepac.pt] has joined #scheme 11:12:42 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 11:13:00 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 11:26:11 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 11:28:31 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 11:29:50 -!- underspecified [n=eric@walnut.naist.jp] has quit [] 11:44:53 -!- luz [n=davids@189.122.90.116] has quit ["Client exiting"] 11:53:03 -!- xwl_ [n=user@147.243.236.60] has quit [Remote closed the connection] 11:54:58 Sergio` [n=Sergio`@a89-152-191-112.cpe.netcabo.pt] has joined #scheme 12:40:38 -!- elderK [n=zk@125-238-255-127.jetstream.xtra.co.nz] has left #scheme 12:42:14 -!- Sergio` [n=Sergio`@a89-152-191-112.cpe.netcabo.pt] has quit [Remote closed the connection] 12:44:11 Sergio` [n=Sergio`@a89-152-191-112.cpe.netcabo.pt] has joined #scheme 12:44:23 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 12:48:15 copumpkin [n=copumpki@94.163.161.15] has joined #scheme 12:51:39 -!- foof [n=user@isa7-dhcp-116-235.naist.jp] has quit [Read error: 110 (Connection timed out)] 12:54:39 mario-goulart [n=user@67.205.85.241] has joined #scheme 12:55:36 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 12:55:54 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 12:56:51 -!- nowherman [n=pierre@lec67-4-82-235-57-28.fbx.proxad.net] has quit [Remote closed the connection] 12:57:43 bgs100 [n=ian@unaffiliated/bgs100] has joined #scheme 12:58:06 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Read error: 54 (Connection reset by peer)] 12:58:13 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 13:01:25 luz [n=davids@139.82.89.70] has joined #scheme 13:12:54 underspecified [n=eric@softbank220043052007.bbtec.net] has joined #scheme 13:22:31 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 13:35:46 ecomba [n=ecomba@214.Red-81-35-34.dynamicIP.rima-tde.net] has joined #scheme 13:39:18 -!- nothingHappens [n=nothingH@173-31-122-80.client.mchsi.com] has quit [Read error: 110 (Connection timed out)] 13:50:38 a-s [n=user@nat-240.ro.66.com] has joined #scheme 13:57:16 -!- saccade_ [n=saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 14:01:13 -!- sstrickl [n=sstrickl@mail.jtang.org] has quit [Read error: 110 (Connection timed out)] 14:03:38 hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has joined #scheme 14:23:22 hkBst_ [n=hkBst@gentoo/developer/hkbst] has joined #scheme 14:29:36 foof [n=user@FL1-119-241-73-118.osk.mesh.ad.jp] has joined #scheme 14:29:49 davazp [n=user@89.Red-83-46-6.dynamicIP.rima-tde.net] has joined #scheme 14:31:20 nothingHappens [n=nothingH@67.41.108.251] has joined #scheme 14:32:27 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 111 (Connection refused)] 14:44:54 -!- a-s [n=user@nat-240.ro.66.com] has quit [crichton.freenode.net irc.freenode.net] 14:44:54 -!- mmc [n=mima@esprx02x.nokia.com] has quit [crichton.freenode.net irc.freenode.net] 14:44:54 -!- leppie [n=lolcow@dsl-243-43-34.telkomadsl.co.za] has quit [crichton.freenode.net irc.freenode.net] 14:44:54 -!- bzzbzz [n=franco@modemcable240.34-83-70.mc.videotron.ca] has quit [crichton.freenode.net irc.freenode.net] 14:44:54 -!- mhoye [n=mhoye@shell.off.net] has quit [crichton.freenode.net irc.freenode.net] 14:44:54 -!- j0ni_ [n=joni@192.219.30.200] has quit [crichton.freenode.net irc.freenode.net] 14:44:54 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [crichton.freenode.net irc.freenode.net] 14:44:54 -!- ecraven [n=nex@octonex.swe.uni-linz.ac.at] has quit [crichton.freenode.net irc.freenode.net] 14:46:06 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 14:47:42 lolcow [n=lolcow@dsl-243-43-34.telkomadsl.co.za] has joined #scheme 14:49:06 -!- underspecified [n=eric@softbank220043052007.bbtec.net] has quit [Read error: 110 (Connection timed out)] 14:49:34 a-s [n=user@nat-240.ro.66.com] has joined #scheme 14:49:34 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 14:49:34 mhoye [n=mhoye@shell.off.net] has joined #scheme 14:49:34 leppie [n=lolcow@dsl-243-43-34.telkomadsl.co.za] has joined #scheme 14:49:34 bzzbzz [n=franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 14:49:34 j0ni_ [n=joni@192.219.30.200] has joined #scheme 14:49:34 ecraven [n=nex@octonex.swe.uni-linz.ac.at] has joined #scheme 14:51:41 Hello everyone! I am learning scheme at the moment. What I wanted to do is to "catch" (I come from an OO background, sorry) an exception that I want to raise given some checkings... How can errors be caught inside a function in scheme? 14:51:49 -!- leppie [n=lolcow@dsl-243-43-34.telkomadsl.co.za] has quit [] 14:56:50 -!- davazp [n=user@89.Red-83-46-6.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 14:57:48 langmartin [n=user@exeuntcha2.tva.gov] has joined #scheme 14:59:31 underspecified [n=eric@softbank220043052007.bbtec.net] has joined #scheme 15:01:28 -!- nutmegmagi [n=swalters@pool-71-100-207-225.tampfl.dsl-w.verizon.net] has quit ["Leaving."] 15:06:33 thoolihan [n=thooliha@66.181.74.184] has joined #scheme 15:09:49 nowhere_man [n=pierre@lec67-4-82-235-57-28.fbx.proxad.net] has joined #scheme 15:15:01 ecomba: Which Scheme? 15:16:31 mit-scheme 15:21:00 ecomba: You might want to read http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Error-System.html . The section on condition handling will answer your question. 15:21:02 -rudybot:#scheme- http://tinyurl.com/a2ukaw 15:22:26 chandler: Thanks a lot! :) 15:23:59 No problem. There are a number of MIT Scheme users here, so feel free to ask questions if you get stuck. 15:25:18 chandler: Highly appreciated! I am going through the "Schemer" (little schemer, etc) series and the SICP books at the moment, so I might as well come with a lot of questions over the course of my studies :) 15:48:45 -!- snorble [n=none@s83-179-14-105.cust.tele2.se] has quit [Read error: 110 (Connection timed out)] 15:49:12 -!- bipt [i=bpt@cpe-173-095-174-230.nc.res.rr.com] has quit [Read error: 60 (Operation timed out)] 15:49:48 Riastradh [n=riastrad@tissot.csail.mit.edu] has joined #scheme 15:49:52 Boo! 15:50:31 *copumpkin* is scared, it's a ghost of christmas future 15:52:03 Ghost of Giftmas future? I didn't sign up to have anything to do with Giftmas. Can I back out of this contract? I liked Scrooge the way he was before better -- I prefer to cut off the last five minutes of the Orson Welles radio production with Lionel Barrymore as Scrooge, who is so much better at saying `Christmas, *blyecccch*' than `Go buy me a turkey, and keep the change!'. 15:52:37 Oh, uh, hi. 15:53:04 see, now this is the way to be cranky about Christmas 15:54:01 (define christmas ....) ;) 15:54:07 my friend just whines about how expensive getting people presents is, Riastradh has got some savoir-faire going for his hate 15:54:26 big Riastradh++ :) 15:55:09 *copumpkin* can barely stay awake :( 15:56:15 -!- Sergio` [n=Sergio`@a89-152-191-112.cpe.netcabo.pt] has quit [Read error: 110 (Connection timed out)] 15:56:18 It's good for the economy. 15:57:24 Yeah, it helps to re-line the now threadbare and patched pockets of the CEOs of Hallmark, Toys-R-Us, &c. 15:58:01 -!- hkBst_ [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 15:59:06 If financiers had just been more like Scrooge, and conservatively kept hold of their money rather than investing it on gambling on who would fail first with credit default swaps, those pockets wouldn't need to be re-lined! 16:05:50 Nshag [n=shag@lns-bzn-37-82-253-13-222.adsl.proxad.net] has joined #scheme 16:06:09 ecomba_ [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has joined #scheme 16:06:51 -!- ecomba_ [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has left #scheme 16:07:39 ecomba_ [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has joined #scheme 16:08:02 -!- ecomba_ [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has quit [Client Quit] 16:08:28 ecomba_ [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has joined #scheme 16:09:02 -!- ecomba_ [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has quit [Client Quit] 16:09:07 ecomba_ [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has joined #scheme 16:12:02 -!- ecomba_ [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has quit [Client Quit] 16:12:06 ecomba_ [n=anonymou@194.Red-79-147-49.dynamicIP.rima-tde.net] has joined #scheme 16:12:56 -!- ecomba_ [n=anonymou@194.Red-79-147-49.dynamicIP.rima-tde.net] has quit [Client Quit] 16:13:59 ecomba_ [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has joined #scheme 16:14:26 ecomba_, having trouble with your connection? 16:14:52 I registered my nick (ecomba) and now I can't connect with it 16:14:52 brrrr 16:15:09 HG` [n=HG@xdslfa089.osnanet.de] has joined #scheme 16:16:02 If I had lots of money, I would pay someone loads of cash to make PLT compile faster. 16:18:01 -!- mario-goulart [n=user@67.205.85.241] has quit [Remote closed the connection] 16:22:04 -!- ski_ [n=md9slj@remote1.student.chalmers.se] has quit ["Lost terminal"] 16:22:50 -!- ecomba [n=ecomba@214.Red-81-35-34.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 16:22:51 -!- ecomba_ is now known as ecomba 16:23:27 -!- nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has quit ["Leaving."] 16:23:35 -!- bokr [n=eduska@95.154.102.124] has quit [Read error: 110 (Connection timed out)] 16:40:28 reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:41:55 -!- ecomba [n=ecomba@194.Red-79-147-49.dynamicIP.rima-tde.net] has quit [] 16:46:06 -!- HG` [n=HG@xdslfa089.osnanet.de] has quit [Client Quit] 16:52:27 visof [n=visof@41.238.233.25] has joined #scheme 16:56:28 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Read error: 110 (Connection timed out)] 16:57:38 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 16:58:30 bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 17:00:46 Sergio` [n=Sergio`@a89-152-191-112.cpe.netcabo.pt] has joined #scheme 17:04:44 -!- lolcow [n=lolcow@dsl-243-43-34.telkomadsl.co.za] has quit [Read error: 110 (Connection timed out)] 17:18:26 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [Read error: 60 (Operation timed out)] 17:18:37 elderK [n=zk@125-238-255-127.jetstream.xtra.co.nz] has joined #scheme 17:18:44 eli: You around man? 17:18:49 Was just wondering how CL was a mess to you :) 17:20:19 The language revolves about stateful, image-global databases, such as the package database. Consequently, it is hard to reason about Common Lisp `programs' in isolation, because much of their behaviour is a function of the state of the image into which you load them. 17:20:32 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 17:22:47 -!- towodo [n=anonymou@209-6-213-168.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com] has quit [] 17:23:21 Common Lisp is in a sense too reflexive: it enables programs to change their own meanings dynamically; it has no separation between meta-programs and object-programs, which causes macros (meta-programs) to lie in the same environment as their inputs and outputs (object-programs), which in turn requires EVAL-WHEN and wreaks all sorts of havoc on any semblance of understandability and reproducibility of program execution. 17:24:13 elderK: What he said; also see http://fare.livejournal.com/146698.html to get into the spirit of things. 17:24:36 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 17:24:39 Is that not like... good, though? I mean, the power is there to do tremendously cool, flexible things? But, if you use it all wrong, or distatefully, you can easily blow your entire street up? 17:24:45 Thanks for the link, eli :) 17:25:00 heh, awesome title :D 17:26:47 -!- reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 17:26:57 You can do tremendously cool things, but you can't describe what those tremendously cool things are except as a function of the entire state of the image. Thus, if you want to do two tremendously cool things, you can't do the first tremendously cool thing without potentially (and very probably) changing what the second tremendously cool thing actually is. 17:28:10 Aye, I need to read more about this for sure, Riastradh. So far, I'm thinking pretty naively on this. 17:28:47 My answer would have been "Well, the changes would be according to the design of the progam, the image would store... what you put there.". But, that's kind of wrong - we won't always know how some packages affect things at runtime, right? 17:28:49 Common Lisp badly suffers from an immensely magnified observer effect. Just about anything you do in it that involves even merely *reading* `programs' changes the state of the image. 17:29:04 The idea that we will always know whats going on, because the design, yadda yadda, is nothign but an illusion, right? 17:29:40 Well, it's partly culture 17:29:59 And partly their mess of scoping and def* forms 17:30:00 And I don't just mean that it allocates memory on the heap (that can be garbage-collected); I mean that it will edit data structures that affect the behaviour of every part of the system that later reads other programs. 17:30:45 the possibility to make the CL image running your program, totally not CL at all? 17:30:48 In Scheme, if you intern a symbol, nobody cares much, unless symbols are interned strongly and never garbage-collected -- but even then, that's only a space leak; except for memory exhaustion, it doesn't change the behaviour of your program. 17:32:01 In Common Lisp, if you intern a symbol -- well, you may have just edited a data structure, a package, that dictates the behaviour of anything that later uses READ or INTERN, and since that is associated with the identity of symbols, you may change whether (EQ 'FOO (INTERN X)) yields true or false somewhere else in the system. 17:34:57 CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has joined #scheme 17:36:12 I'm reading the post that eli linked :) Hopefully I'll get some stronger insights. I hear you, Riastradh. But, it still seems... like... used properly, and understood well, it has the possibility to be very, very useful. Used wrongly, it'll ressurrect everything evil. And unleash hell and suffering and torment. 17:36:25 THe brightside? I'm pretty sure I think that only because I'm still green as hell :) 17:38:10 Are there any pages or posts that could help me get a clearer perspective, Riastradh? 17:38:31 (and hey, man, thank you for taking the time to explain) 17:38:32 :) 17:39:46 Basically, to do anything reliably, you have to think about everything: to write anything that reasons about programs or symbols in Common Lisp (e.g., even just to read and then pretty-print the expressions in a file -- even if it doesn't have #. for read-time evaluation), you have to think about its effect on everything that may subsequently use any symbol that may appear in the file, because merely reading the file affects that. 17:40:42 elderK: Let me try to make Riastradh's point a little more concrete, do you know what function this Lisp code defines: (defun foo (x) (+ x 1)) 17:40:55 The answer is that you can't tell. 17:41:26 That's not too *that* surprising, but what is is just how sensitive the meaning of this is. 17:41:34 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [Read error: 110 (Connection timed out)] 17:42:12 Maybe it defines COMMON-LISP-USER::FOO, or maybe it tries to redefine HAIRY-LIBRARY:FOO, because at the REPL earlier, while in the COMMON-LISP-USER package, I typed (IMPORT 'HAIRY-LIBRARY:FOO). 17:42:29 What basically happens due to CL's over-reflective nature is that the meaning of any code is *extremely* fragile. 17:43:37 entirely dependant on all the rewriting and crazy shit that's alive in the system / image? 17:44:10 since everything and anything can be redefined to mean something entirely unexpected. 17:44:11 ? 17:44:35 If you contrast that with PLT, a program like "#lang scheme (define (foo x) (+ x 1))" also depends on some elements of the environment, but that involves only really exceptional circumstances. (Actually, I think that the only way to change the meaning of that would be to tweak the $PLTCOLLECTS environment variable so that the `scheme' code is loaded from a different place.) 17:44:57 And easily accidentally so! 17:45:52 elderK: what Riastradh described in the last few blurbs is that even the existence of a symbol -- as a result of, for example, entering `blah' by mistake -- even that changes the system. 17:46:31 BTW, this is why `apropos' is used with strings rather than symbols... 17:46:44 For instance, if I were trying to write FOOD at the REPL, but I accidentally typed FOO, then when I later try to evaluate (IMPORT 'HAIRY-LIBRARY:FOO), I get an error! 17:47:12 even though FOO was never defined? o_O 17:47:28 That's right. Merely typing FOO at the REPL changed the state of the system so that (IMPORT 'HAIRY-LIBRARY:FOO) signals an error. 17:47:43 Had I typed FOOD instead of FOO, as I intended, then (IMPORT 'HAIRY-LIBRARY:FOO) would evaluate hunky-dorily. 17:48:04 That makes no sense o_O 17:48:16 Why would simply typing the anme of a nonexistant symbol, cause errors? o_O 17:48:20 (because it changes the state of the image?) 17:48:34 No, it makes plenty of sense. What happens is that typing FOO interned that symbol in the CL-USER package, so that importing another symbol whose name is also "FOO" causes a name conflict, for which IMPORT signals an error. 17:49:30 If IMPORT didn't signal an error, which symbol might I mean if I type FOO afterward -- CL-USER::FOO or HAIRY-LIBRARY:FOO? It would be ambiguous. Hence IMPORT is doing the right thing by signalling an error. 17:49:53 hm. 17:50:10 In Scheme, if I type in a symbol that doesn't exist, I get an error, immediately. You know? 17:50:16 but in CL, it interns the symbol? 17:50:31 I need to read up on what intern actually means here :) 17:50:37 The reader interns the symbol. 17:50:40 Oh, if I tried to evaluate FOO as a variable earlier on (when I meant to type FOOD), then I'd get an error too. 17:50:44 so far I think of it as like... exists... but has no bindings. 17:51:07 `Interning' a symbol just means creating a symbol (a new object) and associating that symbol with a string in some symbol table, so that when I later try to intern the structurally same name, I get back an identical symbol. 17:51:25 This is what enables (EQ (INTERN "X") (INTERN "X")) to be true, or in Scheme, (EQ? (STRING->SYMBOL "FOO") (STRING->SYMBOL "FOO")). 17:51:33 It has nothing directly to do with evaluating variable references. 17:52:08 Ah, click, I got you. 17:52:23 I think. 17:52:29 The reader interns lots of symbols. 17:52:30 *elderK* wobbles slightly 17:52:58 If you read the text (FOO BAR BAZ), then the reader will intern three symbols (and create zero, one, two, or three symbols, depending on which ones already existed). 17:53:11 So at the REPL, I might merely type exactly this: 17:53:14 (list 'foo) 17:53:28 And in Common Lisp, that could affect whether (IMPORT 'HAIRY-LIBRARY:FOO) signals an error. 17:53:39 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 17:53:42 becuase 'foo evaluates to foo? 17:53:45 which is a symbol? 17:53:52 No -- because the *reader* interned a symbol by the name "FOO". 17:53:57 gotcha. 17:53:59 I could also have written 17:54:01 (list foo) 17:54:21 and if no symbol by the name "FOO" already existed, (1) the reader would create it, and (2) the evaluator would signal an error, because the newly created symbol has no binding as a variable. 17:54:41 ...and (3) subsequently evaluating (IMPORT 'HAIRY-LIBRARY:FOO) would signal an error. 17:54:58 o_O How do people deal with this? 17:55:07 I mean, doesn't this pretty much make CL a castle of like, twis? 17:55:09 *twigs? 17:55:33 Well, there are monks who bathe in brine and wear hair shirts... 17:56:31 reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 17:56:46 Like, if I understand correctly, the whole interactive nature of CL kind of... becomes moot there. Say we are writing some program and encounter a bug, we fix that bug at hte REPL - but we make some typos. Those typos would get interned, and that could change SOME erro rsomewhere else, to not be an error, by random chance. 17:56:59 Right. 17:57:08 it all depends what uses the symbol that /was/ just interned and how. 17:57:09 wtf. 17:57:16 What's the point of CL then o_O 17:57:19 sizur [n=eugene@host-93-92-56-014.comunique.hu] has joined #scheme 17:57:42 Am I missing something really obvious? Because... I mean... man. 17:58:32 No, you're not missing something really obvious. Common Lisp programs just try to work around this, and bail when things get bad enough. 17:58:38 snorble [n=none@s83-179-14-105.cust.tele2.se] has joined #scheme 17:58:38 If you wanted to make sure you were /safe/ when you were debugging, youd have to find the problem, then restart the program anyway... to make sure or try to make sure, that the problem was fixed and it was fixed NOT because of weird mystical interning weirdness o_O 17:58:58 in which case, CL offers nothing really over compile-link-debug cycle. 17:58:59 o_O 17:59:00 Common Lisp is actually an improvement over an earlier incarnation: the LispM, where you can't just `bail', unless you want to reboot your computer. 17:59:11 -!- hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 17:59:18 HELP! on an unrelated note: do we have something like Squatting or Camping web framework? 17:59:20 -!- Sergio` [n=Sergio`@a89-152-191-112.cpe.netcabo.pt] has quit [Remote closed the connection] 17:59:20 (And hope that none of the offending state was written to disk.) 17:59:42 elderK: This is not a big problem. Any decent implementation asks you what symbol you want to use in the debugger. 17:59:59 masm, if the symbol isn't bound to anything? 18:00:02 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 18:00:14 I've encountered that in CLISP when I made typos :) 18:00:35 Being bound has nothing to do with a symbol being bound, what ever that means. 18:00:48 *This has nothing to do with a symbol being bound, what ever that means. 18:00:48 okay... I mean, like. 18:00:52 -!- mmc [n=mima@esprx02x.nokia.com] has quit ["Leaving."] 18:01:03 bla <--- symbol 18:01:31 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 18:01:32 *sizur* cries like a little girl 18:01:35 (defun bla (...) ...) <--- symbol bla bound to the lambda, which is defined there? 18:01:40 *elderK* hands sizur some candy 18:01:41 :) 18:01:58 What? 18:02:06 i want to Squatting or Camping on PLT webserver 18:02:07 -!- mmc [n=mima@esprx02x.nokia.com] has quit [Client Quit] 18:02:28 I think I'e misunderstand you, masm :) 18:02:34 how do you mean the debugger asks you for a symbol? 18:02:44 why does it ask you? what makes it ask you? 18:03:06 elderK, when IMPORT signals an error, the debugger will ask you which symbol you actually want to be accessible in the current package. 18:03:41 In practice, there are enough protections on the implementation's packages in most implementations of Common Lisp that it's very difficult to get into a state that you can't recover from at all. You might have to recover by nuking a few packages and recompiling and loading source, however. 18:03:54 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [Excess Flood] 18:04:38 I'd like to learn more about this? 18:04:52 Common Lisp gets by with large amounts of rationalization. Yes, you can sometimes fix the error in the debugger, and if you bail and start over with a fresh image you can probably avoid the error. The rationalization leads you away from the source of the problem: that reading, and thus interning, the symbol FOO had a significant effect on the state of the Lisp image. 18:05:01 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 18:05:09 Aye 18:05:54 Riastradh: I'm doing a litlte playing now. 18:05:58 I just typed some random crap into the REPL. 18:06:00 (CLSIP) 18:06:03 er, CLISP. 18:06:16 Sergio` [n=Sergio`@a89-152-191-112.cpe.netcabo.pt] has joined #scheme 18:07:10 hm 18:07:26 -!- marcoecc [i=me@gateway/gpg-tor/key-0x9C9AAE7F] has quit [Remote closed the connection] 18:08:32 -!- masm [n=masm@bl10-7-230.dsl.telepac.pt] has left #scheme 18:08:41 masm [n=masm@bl10-7-230.dsl.telepac.pt] has joined #scheme 18:08:48 wb masm 18:10:09 Riastradh: If I wish to learn more about this, the interning, it's effects and suchlike, are there any specific books you could recommend? 18:10:23 :) Lisp is strange, it's like, reinvigorated the fun in programming. 18:10:27 Lisp generally, that is. 18:10:38 Scheme so far, is my go-to lisp :D 18:10:47 No, other than the language specification . 18:10:51 CL still seems worthwhile learning about, if only so I can debate about it to others :P 18:10:59 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 18:11:13 Is CLtL2 considered equivalent to that? 18:11:20 No, it's not. 18:11:27 But it's worth reading too. 18:11:54 I have the HTML version of CLtL2 dumped to my hard disk, so, it's a lot easier for me to read, generally. 18:12:04 I should make a dump of hte hyperspec too, if possible. 18:12:41 Is it becuase CLtL was before the standardization finished or? 18:13:14 Yes, both editions. 18:13:45 There is a paper by Ron Garret AKA Erann Gat about packages. It's the best source for learning about packages. 18:16:06 http://www.flownet.com/ron/packages.pdf ? 18:16:43 Yes, the idiot's guide. 18:16:49 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [Read error: 60 (Operation timed out)] 18:17:00 :) Thanks, I'll print it shortly :) 18:18:14 You want to learn CL? 18:18:57 Learn about it, at least. 18:19:02 If only to satisfy my curiosity. 18:19:35 I intend to stick with Scheme. 18:19:44 Good. 18:19:54 But I'd still like to read about CL too, in the hopes that there maybe some insights or perspectives I could learn. 18:20:06 There are none. 18:20:38 -!- luz [n=davids@139.82.89.70] has quit ["Client exiting"] 18:21:05 None at all? 18:21:17 Well... maybe some perspectives. But the wrong ones. :) 18:21:29 Learn by mistake, I guess. 18:23:29 masm: I think that's a poor characterization. There are many things worth learning about from Common Lisp, and many of them had a direct influence on the design of popular Scheme systems - and in many cases, the Scheme "copy" of the Common Lisp feature is actually worse than the original. There are a great many error handling systems for Scheme that are substantially worse than CL's condition system, for example. 18:23:43 -!- masm [n=masm@bl10-7-230.dsl.telepac.pt] has left #scheme 18:23:56 masm [n=masm@bl10-7-230.dsl.telepac.pt] has joined #scheme 18:26:00 chandler: You are right. 18:27:22 elderK: If you want to read about good features of CL, read about CLOS, MOP, and the condition system. Ignore packages. 18:28:28 You won't get very far in Common Lisp if you ignore packages completely. 18:29:07 I'm assuming he does not want to learn CL but learn about CL. 18:29:36 I'm not sure how you learn "about" CL without being able to write programs in it. 18:30:05 OK, OK. elderK, do learn about packages. 18:30:58 Okay :) 18:32:34 I don't see any reason why it would be a bad idea to learn both Common Lisp and Scheme. I did at roughly the same time many moons ago, and am no worse for the wear. 18:33:44 chandler: I thing I'm bitter because I wasted 3 years in CL. A tenth of that would have been enough. 18:34:01 How do you mean, wasted, masm? 18:34:05 Why do you think of it as a waste? 18:35:28 mrsolo [n=mrsolo@nat/yahoo/x-rpphlbrguxtwtuov] has joined #scheme 18:36:01 sstrickl [n=sstrickl@216-12-64-48.access.ntelos.net] has joined #scheme 18:38:57 Learning other things in that time would be more profitable now. Why, oh why, didn't I learn denotational semantics or category theory?! 18:40:00 I don't know. Why didn't I? 18:43:35 -!- Riastradh [n=riastrad@tissot.csail.mit.edu] has quit [Remote closed the connection] 18:44:25 Because you are a fool. :) 18:45:32 You know how you spend an afternoon watching soccer on the tv and then you think "what a waste! I could have read that Landin paper." 18:46:35 Riastradh [n=riastrad@tissot.csail.mit.edu] has joined #scheme 18:47:38 Speaking of Landin papers. Anyone has a copy of "The mechanical evaluation of expressions" that can send my way? 18:50:35 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 18:51:10 -!- sstrickl [n=sstrickl@216-12-64-48.access.ntelos.net] has quit [] 18:51:56 masm, chandler, eli, Riastradh, thank you for the insights today. 18:52:01 :) I'm off to catch some sleep. 18:52:14 No doubt I'll be dreaming of rabid paranthesis... 18:52:15 who knows. 18:52:21 Keep cool, guys and take care. 18:52:40 -!- elderK [n=zk@125-238-255-127.jetstream.xtra.co.nz] has left #scheme 18:53:11 -!- manym [n=manym@adsl-75-50-254-149.dsl.milwwi.sbcglobal.net] has quit [Connection timed out] 18:53:33 manym [n=manym@adsl-75-44-36-153.dsl.milwwi.sbcglobal.net] has joined #scheme 18:54:14 peter_12 [n=peter_12@S01060026bb736c5b.gv.shawcable.net] has joined #scheme 18:54:17 -!- peter_12 [n=peter_12@S01060026bb736c5b.gv.shawcable.net] has quit [Remote closed the connection] 18:55:25 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Connection timed out] 18:56:53 -!- thoolihan [n=thooliha@66.181.74.184] has quit ["i'm out"] 19:01:23 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Read error: 60 (Operation timed out)] 19:09:47 -!- samth [n=samth@punge.ccs.neu.edu] has quit ["Ex-Chat"] 19:13:31 towodo [n=anonymou@c-76-19-43-55.hsd1.ma.comcast.net] has joined #scheme 19:17:30 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 19:24:18 -!- towodo [n=anonymou@c-76-19-43-55.hsd1.ma.comcast.net] has quit [Read error: 60 (Operation timed out)] 19:26:49 Pepe_ [n=ppjet@mna75-4-82-225-76-148.fbx.proxad.net] has joined #scheme 19:27:19 visof_ [n=visof@41.238.232.60] has joined #scheme 19:27:23 -!- Pepe__ [n=ppjet@mna75-4-82-225-76-148.fbx.proxad.net] has quit [No route to host] 19:28:51 -!- visof_ [n=visof@41.238.232.60] has quit [SendQ exceeded] 19:29:13 Pepe__ [n=ppjet@mna75-4-82-225-76-148.fbx.proxad.net] has joined #scheme 19:29:48 -!- Pepe_ [n=ppjet@mna75-4-82-225-76-148.fbx.proxad.net] has quit [Read error: 113 (No route to host)] 19:30:10 visof_ [n=visof@41.238.232.60] has joined #scheme 19:32:27 MrFahrenheit [n=RageOfTh@users-55-173.vinet.ba] has joined #scheme 19:33:21 arcfide [i=arcfide@adsl-99-31-12-73.dsl.bltnin.sbcglobal.net] has joined #scheme 19:39:03 -!- Pepe__ is now known as Pepe_ 19:41:33 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 19:42:42 wingo [n=wingo@184.Red-81-38-191.dynamicIP.rima-tde.net] has joined #scheme 19:43:32 -!- visof [n=visof@41.238.233.25] has quit [Read error: 113 (No route to host)] 19:43:43 evening, schemers 19:44:05 thoolihan [n=thooliha@66.181.74.184] has joined #scheme 19:44:07 -!- CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has quit [Remote closed the connection] 19:45:03 Hello. 19:45:41 wingo, is Guile afflicted by the bug described in ? 19:46:40 Riastradh: indeed 19:47:19 wingo: Oh, that's right, you're working on bringing Guile into the modern era. How's that going? 19:47:25 Naturally, this is really a design bug in the specification. 19:47:36 (It should prohibit PROCEDURE from editing HASH-TABLE.) 19:47:46 arcfide: we're almost into the 2000s, just in time for it to be the 2010s :) 19:48:45 wingo: Well, I guess that's good. Are it's macros doing the right thing? 19:49:15 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 19:49:18 Riastradh: hm. i don't really use srfi-69, so i don't know what should happen there; but if there is a bug fix to be made, let me know what it is :) 19:49:39 (The claim that HASH-TABLE-UPDATE! may be implemented more efficiently than by HASH-TABLE-REF and HASH-TABLE-SET! is perhaps disingenuous, or at least ill thought through.) 19:49:42 snearch_ [n=olaf@e179142058.adsl.alicedsl.de] has joined #scheme 19:49:54 arcfide: afaik yes :) 19:50:03 wingo, I can't think of any good way to implement HASH-TABLE-UPDATE! but with HASH-TABLE-REF and HASH-TABLE-SET!. 19:50:19 Riastradh: Is it not possible to implement the update more efficiently? Chez Scheme claims that it is more efficient. 19:50:20 of course there are occasional bugs, but i think things are mostly right 19:50:32 arcfide, so how does Chez implement it? 19:50:38 (May I see the code?) 19:50:42 Riastradh: Heh, I don't know. ;-) 19:51:01 Does Chez exhibit the bug in ? 19:51:08 Let's find out.... 19:51:19 Well, it can be implemented more efficiently -- at the cost of a bit of hair in every other operation to edit hash tables. 19:52:03 Note that the R6RS's HASHTABLE-UPDATE! or whatever is very different from SRFI 69's. 19:52:25 The former is not a valid implementation technique for the latter, although the latter is a valid implementation technique for the former. 19:53:16 -!- Nshag [n=shag@lns-bzn-37-82-253-13-222.adsl.proxad.net] has quit [Read error: 110 (Connection timed out)] 19:53:28 Riastradh: Well, that bug is illegal in Chez, because you're not supposed to provide an update procedure that modifies the hashtable. 19:53:38 SRFI 69 doesn't say that, arcfide. 19:53:41 Nshag [n=shag@lns-bzn-22-82-249-125-68.adsl.proxad.net] has joined #scheme 19:53:55 Riastradh: And Chez doesn't implement SRFI-69, it implements R6RS' hashtables. 19:54:03 OK. 19:54:32 And R6RS doesn't allow modification, as I understand it. 19:54:50 Right. 19:55:03 That's the important difference between SRFI 69's HASH-TABLE-UPDATE! and the R6RS's HASHTABLE-UPDATE!. 19:55:52 Oh, and according to TSPL ed. 4, it says that 'hashtable-update!' may be more efficiently implemented by "avoiding multiple hash computations and hashtable lookups." 19:57:00 -!- reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 19:57:05 So, I'm guessing it's something like, do the hash once, get the cell once, check the value, and then mutate. Which requires only one hash and one lookup as opposed to having to do those twice. 19:57:16 Yes. 19:57:36 I'm not sure how much more efficient that would be if you have a fast hash function and lookups are fast. 19:57:48 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit ["..."] 19:58:15 I imagine it might be good for 'equal' based hash tables, or maybe string hashtables with long keys. 19:59:10 Why don't you go and analyze how programs tend to use this operation, and then scientifically compare the performance on those typical uses? 19:59:49 I'm afraid I'm not motivated enough to do that. 20:00:11 I much prefer vague hand-waving. 20:00:37 Grmph. Does anyone know how to undo `git add'? 20:00:46 Bwuahhahahahah! 20:00:50 Git strikes again. 20:01:37 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 20:01:41 i press u in magit 20:03:40 I think it's supposed to be some sub(sub)command of `git reset', but I'm always afraid to use that after hearing people say `By Cthulhu's navel! I just lost all my work today when I accidentally ran ``git reset'' the wrong way...' 20:04:39 Riastradh: it is git-reset 20:04:47 git-reset --hard is the one that destroys work 20:05:27 Which one undoes `git add'? 20:05:38 git-reset 20:05:59 With what options? 20:06:37 with no options it will reset just the index, which is what git-add modifies. The --hard option resets the working directory as well 20:07:28 no arguments implies HEAD, which is an alias for the last commit, you can also reset to specific commits 20:07:42 git reset should do it 20:09:38 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 20:10:28 schoppenhauer [n=christop@unaffiliated/schoppenhauer] has joined #scheme 20:10:59 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 20:12:44 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 20:12:55 schmir [n=schmir@p54A90380.dip0.t-ipconnect.de] has joined #scheme 20:17:30 -!- schmir [n=schmir@p54A90380.dip0.t-ipconnect.de] has quit [Read error: 60 (Operation timed out)] 20:21:46 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 20:24:19 kilimanjaro [n=kilimanj@unaffiliated/kilimanjaro] has joined #scheme 20:24:20 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 20:33:30 glogic [n=glogic@97.76.48.98] has joined #scheme 20:37:24 -!- manym [n=manym@adsl-75-44-36-153.dsl.milwwi.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 20:40:28 schmir [n=schmir@p54A90380.dip0.t-ipconnect.de] has joined #scheme 20:49:08 hotblack23 [n=jh@p5B055ABC.dip.t-dialin.net] has joined #scheme 20:52:53 manym [n=manym@adsl-75-50-248-84.dsl.milwwi.sbcglobal.net] has joined #scheme 20:55:33 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 20:55:54 choas [n=lars@p5B0DDE11.dip.t-dialin.net] has joined #scheme 20:56:05 saccade_ [n=saccade@dhcp-18-111-70-156.dyn.mit.edu] has joined #scheme 20:59:05 towodo [n=anonymou@209-6-213-168.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com] has joined #scheme 20:59:47 -!- schmir [n=schmir@p54A90380.dip0.t-ipconnect.de] has quit [Read error: 113 (No route to host)] 21:04:00 jgracin [n=jgracin@vipnet213-86.mobile.carnet.hr] has joined #scheme 21:04:43 -!- manym [n=manym@adsl-75-50-248-84.dsl.milwwi.sbcglobal.net] has quit [Read error: 60 (Operation timed out)] 21:06:26 bipt [i=bpt@cpe-173-095-174-230.nc.res.rr.com] has joined #scheme 21:10:19 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit ["ChatZilla 0.9.85-rdmsoft [XULRunner 1.9.0.14/2009090900]"] 21:11:33 -!- snearch_ [n=olaf@e179142058.adsl.alicedsl.de] has quit ["Ex-Chat"] 21:17:25 ecomba [n=ecomba@223.Red-83-60-207.dynamicIP.rima-tde.net] has joined #scheme 21:19:24 -!- jgracin [n=jgracin@vipnet213-86.mobile.carnet.hr] has quit ["Leaving"] 21:24:09 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [Read error: 60 (Operation timed out)] 21:24:13 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 21:26:10 towodo: SYN 21:29:38 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 21:31:15 :) 21:31:35 wingo: RST 21:32:52 -!- langmartin [n=user@exeuntcha2.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:36:04 -!- saccade_ [n=saccade@dhcp-18-111-70-156.dyn.mit.edu] has quit ["This computer has gone to sleep"] 21:36:44 *wingo* non-conformant implementation 21:37:32 Riastradh: SYN 21:39:42 elly: SYN/ACK 21:40:54 Riastradh: PSH ACK 21:41:13 elly, yes? 21:41:21 nah, that's it 21:41:21 -!- thoolihan [n=thooliha@66.181.74.184] has left #scheme 21:41:25 Oh. 21:41:25 I just felt like opening a socket ^^ 21:41:32 elly: FIN 21:41:37 Riastradh: FIN ACK 21:41:41 elly: ACK 21:41:53 I don't think you owe me that 21:42:29 -!- ecomba [n=ecomba@223.Red-83-60-207.dynamicIP.rima-tde.net] has left #scheme 21:42:39 ecomba [n=ecomba@223.Red-83-60-207.dynamicIP.rima-tde.net] has joined #scheme 21:42:40 -!- ecomba [n=ecomba@223.Red-83-60-207.dynamicIP.rima-tde.net] has left #scheme 21:43:25 ecomba [n=ecomba@223.Red-83-60-207.dynamicIP.rima-tde.net] has joined #scheme 21:45:07 elly, yes, I do. The relevant part of the diagram is: SYN-RCVD ---(close, snd FIN)---> FIN-WAIT-1 ---(rcv FIN, snd ACK)---> CLOSING ---(rcv ACK of FIN,x) ---> TIME-WAIT ---> CLOSED 21:45:10 manym [n=manym@adsl-75-50-248-20.dsl.milwwi.sbcglobal.net] has joined #scheme 21:45:25 hm, interesting 21:45:33 In (x, y), x is the event, and y is my response. 21:46:00 So if the user signals closure (an event), I must send FIN, and then once I have received your FIN I must send ACK. 21:49:47 (Sorry, the first state in that arrow should have been ESTAB, not SYN-RCVD, but it doesn't matter for the purposes of this discussion.) 21:50:16 If I had not ACK'd your FIN, you would have been left all alone in the LAST-ACK state. 21:50:55 that would have been sad 21:50:59 unicorns would be crying. 21:51:05 I would've timed out 21:52:35 But unicorns would have already had been crying for a bit 21:55:25 yeah 22:00:54 nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined #scheme 22:02:26 thoolihan [n=thooliha@99-157-225-37.lightspeed.bcvloh.sbcglobal.net] has joined #scheme 22:05:22 Should #lang planet xxx/xxx work with development links? 22:06:04 I think so.. what are you giving for xxx/xxx ? 22:06:10 that doesn't look like scheme to me ;) 22:06:21 you might have to give the explicit version that you gave you 'planet link' 22:06:31 otehrwise I think planet will check the server and try to download the latest 22:07:28 -!- towodo [n=anonymou@209-6-213-168.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com] has quit [] 22:07:42 -!- manym [n=manym@adsl-75-50-248-20.dsl.milwwi.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 22:09:14 visof__ [n=visof@41.238.234.121] has joined #scheme 22:09:16 -!- thoolihan [n=thooliha@99-157-225-37.lightspeed.bcvloh.sbcglobal.net] has quit [Remote closed the connection] 22:10:32 towodo [n=anonymou@209-6-213-168.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com] has joined #scheme 22:10:39 xxx/xxx is my toy planet package. 22:10:59 Got it working. Had a problem in some file. 22:11:58 masm: sounds hot 22:12:25 -!- towodo [n=anonymou@209-6-213-168.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com] has quit [Client Quit] 22:12:47 thoolihan [n=thooliha@99-157-225-37.lightspeed.bcvloh.sbcglobal.net] has joined #scheme 22:12:55 -!- Sergio` [n=Sergio`@a89-152-191-112.cpe.netcabo.pt] has quit [Read error: 60 (Operation timed out)] 22:14:06 -!- thoolihan [n=thooliha@99-157-225-37.lightspeed.bcvloh.sbcglobal.net] has quit [Client Quit] 22:15:25 manym [n=manym@adsl-75-51-9-172.dsl.milwwi.sbcglobal.net] has joined #scheme 22:15:32 -!- visof_ [n=visof@41.238.232.60] has quit [Read error: 60 (Operation timed out)] 22:19:32 glogic: No. But it is cool. 22:21:50 http://thread.gmane.org/gmane.lisp.guile.devel/9785 22:21:52 finally... 22:26:52 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 22:29:31 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 22:33:49 wingo: Heheh. 22:33:51 -!- a-s [n=user@nat-240.ro.66.com] has quit [Remote closed the connection] 22:34:15 arcfide: i played around with petite chez for the first time a few months ago 22:34:29 is debugger kicks guile's in the pants 22:34:32 *its 22:35:41 to be fair there was a debugger before, but it all broke when we move to a vm instead of the interpreter 22:36:11 wingo: Well, Petite's debugger is rather helpless since it is missing many of the compiler annotations that makes it possible to see a lot more inspector information. 22:36:16 so i'm happy at least to be able to trace from the repl 22:36:27 arcfide: yeah understood -- but even so, it does well. 22:36:28 wingo: No, that's good. I am glad to see Guile improving. 22:37:06 Since it does seem to be a Scheme that gets some visibility, I much prefer it to be an improved and proper Guile rather than some half-baked scheme. 22:37:25 yeah me too 22:37:54 in a recent talk i said that i had always thought the scheme community was a bit snotty 22:38:05 but it turns out, we really had a number of things very wrong 22:38:35 so it's good to rejoin the modern lisp world. 22:38:57 wingo, how do they compare with MIT Scheme's debugger? 22:39:05 Riastradh: i'm unfortunately ignorant 22:39:09 i'm sure it's worse.. 22:39:17 do you have a link to the docs? 22:39:29 *"guile is worse" 22:39:41 wingo: Docs, MIT, Hahaha! *cough* No, really, MIT Scheme's debugger is nice. 22:39:44 I'm not sure it's documented; it's pretty self-explanatory. 22:39:45 Well, relatively speaking. 22:40:26 heh 22:40:45 I guess it is documented, at and at . But those are pretty dry descriptions. 22:40:47 -rudybot:#scheme- http://tinyurl.com/ydm7x9u 22:40:48 -rudybot:#scheme- http://tinyurl.com/y93tnop 22:40:58 Oh no, rudybot! Which URI is which? 22:41:24 wingo, it would be better to run a program with a bug in MIT Scheme and then debug it. 22:41:34 ooh that's nice. 22:41:43 guile doesn't have restarts (yet / again). 22:42:20 That's separate from the debugger. 22:42:35 sure 22:42:48 so s-code really keeps the expression around when evaluating, eh 22:42:56 that's surprising 22:43:12 i suppose you can map from linear instruction pointer to expression 22:43:14 More precisely, the interpreter interprets scode, and the compiled debugging information contains scode. 22:43:20 ah ok. 22:43:55 impressive if you manage to maintain expression-oriented debugging in compiled code 22:44:10 that must also inhibit optimizations, no? 22:44:29 No. Some debugging information can be lost in the process. 22:46:38 there used to be this in guile: http://www.gnu.org/software/guile/manual/html_node/Debugging.html#Debugging 22:46:40 -rudybot:#scheme- http://tinyurl.com/ydtousl 22:47:14 For each lambda that the compiler can't prove certain properties of, the compiled debugging information may map the address of that lambda's code to a debugging record about it, which may include its expression. For continuation lambdas, the debugging record may also include the subexpression for whose evaluation the continuation exists. 22:47:34 and http://www.ossau.uklinux.net/guile/cvsdoc/Using-Guile-in-Emacs.html 22:48:29 but since we moved to a compiler, much of that is bitrotten 22:48:35 MIT Scheme also has a stepper, although (1) it works only on interpreted code, (2) its Edwin interface is somewhat confusing, and (3) as a consequence I never use it. 22:48:53 hehe 22:49:19 i was bummed i missed duane's talk about allegro cl's stepper at the ilc this year 22:49:36 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Read error: 60 (Operation timed out)] 22:49:38 i just don't know enough about what good lisp environments look like 22:50:56 I suggest that you try playing with MIT Scheme's debugger. 22:51:51 -!- glogic [n=glogic@97.76.48.98] has left #scheme 22:52:23 thanks. i will. 22:52:25 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [Read error: 113 (No route to host)] 22:54:24 At the REPL, cause an error, and then type (debug) to enter it, and `?' for help; or in Edwin's REPL buffer, cause an error and answer `y' to the question of whether to start the debugger. 22:55:03 (The console debugger adjusts the tty mode so that it reads each keystroke immediately, rather than being line-buffered, which may be confusing sometimes.) 23:00:51 *wingo* should build edwin 23:01:21 davazp [n=user@9.Red-83-55-179.dynamicIP.rima-tde.net] has joined #scheme 23:01:39 Build Edwin? It is built by default. 23:02:55 ... if one builds mit scheme, which, neglectfully, i haven't 23:04:15 If you're on a Debianoid system, you can probably just install the MIT Scheme package. 23:04:44 If not, but if you are on an i386 system, there's probably still no need for you to build Edwin yourself. 23:04:56 i like to build things. 23:05:41 i will reincarnate as a gentoo user 23:05:43 wingo: Edwin will break you of that habit. 23:05:56 towodo [n=anonymou@209-6-213-168.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com] has joined #scheme 23:06:09 Sorry, I should say, MIT Scheme will break you. 23:06:28 wingo, even if you need to build it, what you need to start with already includes it. 23:07:28 If you are on a non-i386 system, or for whatever reason you are on an i386 system but want a slower Scheme, then you can build the portable C distribution, and that entails building Edwin. Otherwise, what you need to start with, a binary distribution of MIT Scheme, already includes Edwin. 23:10:23 Riastradh: in what language is mit scheme written? 23:11:02 Wizard commands 23:11:02 The m, x, and y commands are for Scheme wizards. They are used to debug the MIT/GNU Scheme implementation. If you want to find out what they do, read the source code. 23:11:09 :) 23:11:11 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit ["Leaving."] 23:11:39 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 23:11:46 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 23:13:00 wingo, most of it is written in Scheme, of course. 23:13:23 is the portable c part generated or hand-written? 23:13:26 The interpreter, and the parts that talk with the host operating system, are written in C. The rest is in Scheme. 23:13:33 please feel free to refer me to TFS 23:13:43 cool. 23:14:24 There are two parts: the Scheme code, and the microcode. The microcode acts as a virtual machine for the Scheme code, which acts as a virtual operating system for the virtual machine; the two parts are only functionally coupled, and there are actually at least two implementations of the microcode, one in C and one in C#. 23:15:16 the microcode is the scode, right/ 23:15:17 ? 23:15:22 The compiled Scheme code is machine-dependent, but OS-independent. If you want to run Scheme on a different operating system on an i386 machine, all you need to do is compile the microcode for that operating system. 23:15:28 -!- visof__ [n=visof@41.238.234.121] has quit [Read error: 54 (Connection reset by peer)] 23:15:42 No. Scode is the name for the representation of Scheme code that the macro expander spits out, that the interpreter interprets, and that the compiler compiles. 23:15:52 It is usually stored in files whose names end in `.bin'. 23:16:03 ah i see. 23:16:26 Once you have compiled the microcode for your favourite operating system, you can just use the binary distribution of the Scheme code. 23:16:43 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 23:16:53 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit ["Leaving."] 23:17:23 This is what describes. 23:17:48 (Originally, by the way, the `microcode' was actually microcode for a physical hardware processor on which Scheme ran.) 23:17:59 (Then it got rewritten in 68k assembly language, and then it got rewritten in C.) 23:19:23 i had heard something about that but never pieced it together 23:19:30 The `portable C distribution' uses C for compiled Scheme code, rather than some machine's native code for compiled Scheme code. Consequently, it is more portable than the i386 binary distribution, or the x86-64 binary distribution, &c., but it takes a little more work to run. Just today I built the portable C distribution, and then built Scheme from that portable C distribution, on a reasonably fast machine, and it took over forty minutes. 23:20:14 (By contrast, building a native Scheme from a native Scheme on the same machine takes about three minutes.) 23:20:19 yow 23:21:38 i just "fixed" guile so it compiles the compiler with an eval.scm compiled to eval.go, by a compiler interpreted by eval written in c (whew) 23:21:54 and the compiling of eval.scm doesn't take all that long, a few seconds only 23:22:11 but then using that eval.go to compile psyntax... woo. 23:22:28 from 4 to 10 minutes depending on your machine. 23:22:37 after that things are ok, but man. 23:23:47 -!- towodo [n=anonymou@209-6-213-168.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com] has quit [] 23:30:40 -!- choas [n=lars@p5B0DDE11.dip.t-dialin.net] has quit ["leaving"] 23:31:27 towodo [n=anonymou@209-6-213-168.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com] has joined #scheme 23:36:07 towodo: SYN 23:40:40 splork [n=ben@dsl092-075-228.bos1.dsl.speakeasy.net] has joined #scheme 23:42:42 nutmegmagi [n=swalters@pool-71-100-207-225.tampfl.dsl-w.verizon.net] has joined #scheme 23:47:55 -!- towodo [n=anonymou@209-6-213-168.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com] has quit [] 23:50:37 -!- nothingHappens [n=nothingH@67.41.108.251] has quit [Read error: 110 (Connection timed out)] 23:54:41 bipt` [i=bpt@cpe-173-095-174-230.nc.res.rr.com] has joined #scheme 23:54:41 -!- bipt [i=bpt@cpe-173-095-174-230.nc.res.rr.com] has quit [Read error: 54 (Connection reset by peer)] 23:56:33 -!- hotblack23 [n=jh@p5B055ABC.dip.t-dialin.net] has quit ["Leaving."] 23:58:58 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme