00:02:34 -!- ASau [n=user@83.69.240.52] has quit [Remote closed the connection] 00:02:41 ASau [n=user@83.69.240.52] has joined #scheme 00:04:55 -!- bweaver [n=user@24-247-129-155.dhcp.trcy.mi.charter.com] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 00:05:18 -!- Dawgmatix [n=dawgmati@c-68-32-44-191.hsd1.nj.comcast.net] has quit [] 00:07:43 emma [n=em@unaffiliated/emma] has joined #scheme 00:17:20 mdg [n=mdg@unaffiliated/mgroman] has joined #scheme 00:18:04 mdg_ [n=mdg@unaffiliated/mgroman] has joined #scheme 00:18:44 -!- mdg [n=mdg@unaffiliated/mgroman] has quit [Nick collision from services.] 00:18:44 -!- mdg_ is now known as mdg 00:20:17 -!- masm1 [n=masm@bl9-113-36.dsl.telepac.pt] has quit ["Leaving."] 00:20:38 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 00:21:54 -!- samth [n=samth@nomad.ccs.neu.edu] has quit [Read error: 113 (No route to host)] 00:25:28 -!- dysinger [n=dysinger@75-94-4-238.war.clearwire-wmx.net] has quit [Read error: 110 (Connection timed out)] 00:27:31 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 00:29:38 QinGW [n=wangqing@203.86.89.226] has joined #scheme 00:33:41 sepult [n=levgue@xdsl-87-78-75-187.netcologne.de] has joined #scheme 00:37:36 rstandy` [n=rastandy@net-93-144-23-247.t2.dsl.vodafone.it] has joined #scheme 00:40:14 -!- arcfide [n=arcfide@adsl-99-50-231-131.dsl.bltnin.sbcglobal.net] has left #scheme 00:45:29 eno__ [n=eno@70.137.138.105] has joined #scheme 00:47:16 crypto_ [n=z0d@artifact.hu] has joined #scheme 00:48:15 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- rstandy [n=rastandy@net-93-144-23-247.t2.dsl.vodafone.it] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- rcy [n=rcy@d154-20-143-140.bchsia.telus.net] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- jay-mccarthy [n=jay@lallab.cs.byu.edu] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- untouchable [i=un@dhcp-129-64-166-32.dorm.brandeis.edu] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- tarbo [n=me@unaffiliated/tarbo] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- Riastradh [n=rias@pool-141-154-48-189.bos.east.verizon.net] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- Fade [i=fade@outrider.deepsky.com] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- z0d [n=z0d@unaffiliated/z0d] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- ineiros [n=itniemin@james.ics.hut.fi] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has quit [anthony.freenode.net irc.freenode.net] 00:48:15 -!- specbot [n=specbot@common-lisp.net] has quit [anthony.freenode.net irc.freenode.net] 00:49:29 tarbo [n=me@unaffiliated/tarbo] has joined #scheme 00:57:00 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed out)] 00:57:02 chylli [n=lchangyi@119.181.6.48] has joined #scheme 00:58:14 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 00:58:37 -!- offby1` is now known as offby1 00:58:43 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 00:58:43 rcy [n=rcy@d154-20-143-140.bchsia.telus.net] has joined #scheme 00:58:43 jay-mccarthy [n=jay@lallab.cs.byu.edu] has joined #scheme 00:58:43 untouchable [i=un@dhcp-129-64-166-32.dorm.brandeis.edu] has joined #scheme 00:58:43 Riastradh [n=rias@pool-141-154-48-189.bos.east.verizon.net] has joined #scheme 00:58:43 Fade [i=fade@outrider.deepsky.com] has joined #scheme 00:58:43 z0d [n=z0d@unaffiliated/z0d] has joined #scheme 00:58:43 ineiros [n=itniemin@james.ics.hut.fi] has joined #scheme 00:58:43 hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has joined #scheme 00:58:43 specbot [n=specbot@common-lisp.net] has joined #scheme 00:59:26 -!- z0d [n=z0d@unaffiliated/z0d] has quit [Read error: 110 (Connection timed out)] 00:59:28 -!- specbot [n=specbot@common-lisp.net] has quit [Connection timed out] 01:00:28 -!- lisppaste [n=lisppast@common-lisp.net] has quit ["Want lisppaste in your channel? Email lisppaste-requests AT common-lisp.net."] 01:00:32 lisppaste [n=lisppast@common-lisp.net] has joined #scheme 01:03:15 specbot [n=specbot@common-lisp.net] has joined #scheme 01:04:19 FareWell [n=Fare@c-98-216-110-136.hsd1.ma.comcast.net] has joined #scheme 01:05:16 eno [n=eno@nslu2-linux/eno] has joined #scheme 01:06:33 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 01:13:25 _Pb [n=Pb@75.131.194.186] has joined #scheme 01:16:19 -!- eno__ [n=eno@70.137.138.105] has quit [Read error: 110 (Connection timed out)] 01:22:25 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 01:24:51 eno__ [n=eno@adsl-70-137-168-150.dsl.snfc21.sbcglobal.net] has joined #scheme 01:26:27 -!- untouchable [i=un@dhcp-129-64-166-32.dorm.brandeis.edu] has quit [Read error: 104 (Connection reset by peer)] 01:26:35 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 01:36:39 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 01:37:15 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 01:39:48 -!- mrsolo [n=mrsolo@nat/yahoo/x-zrsjrpizkhzzcega] has quit ["Leaving"] 01:42:57 -!- mdg [n=mdg@unaffiliated/mgroman] has quit [] 01:47:46 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:51:49 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 01:56:45 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 113 (No route to host)] 01:58:57 jonrafkind [n=jon@98.202.86.149] has joined #scheme 02:04:23 -!- FareWell is now known as Fare 02:14:24 So, what about them ThingOne libraries? 02:16:15 eno [n=eno@nslu2-linux/eno] has joined #scheme 02:16:26 I figure we need as-is export, as-is import, import with prefix, and perhaps export with de-prefix. Also a way to say which optional feature groups a library depends on. 02:17:40 -!- eno__ [n=eno@adsl-70-137-168-150.dsl.snfc21.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 02:17:46 Anyone think that anything else is truly vital? 02:18:16 Inside the body: no forward reference for syntax, no requirement for definitions before expressions. 02:20:06 Riastradh: remember our stack conversation; I was just looking at parameters today and went doh -- this can be done w/o macros, using parameters or fluid vars or dynamic vars 02:20:20 *Riastradh* blinks. 02:20:53 might be a distinction between loading code from an unloaded module, and importing that code into your current namespace. chicken does that... 02:21:01 if I went oever your head; it's okay; just ponder on it a bit in meditation 02:21:08 That is a stupid distinction. 02:21:15 -!- MononcQc [n=MononcQc@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING THE LATEST VERSIONS OF INTERNET"] 02:21:21 I think that importing should load, but load should still exist. 02:21:28 LOAD has no reason to exist. 02:21:28 -!- _Pb [n=Pb@75.131.194.186] has quit ["Leaving"] 02:21:32 Some libraries may not be in known locations. 02:22:09 That shouldn't be the procedural business of a program. 02:22:12 *jcowan* thinks sh search paths are a great thing, but it's occasionally handy to be able to specify a pathname, too. 02:22:42 I have certainly written shell scripts that mention commands by pathname. 02:23:03 Now, distinguishing requesting the effects, rather than just the bindings, of a module can sometimes be useful, although its use should be minimized, as in general should be such dependencies, because they are hard to control. 02:23:09 ...excuse me: 02:23:18 Oh, never mind, I did say what I meant. 02:23:25 No, I didn't. 02:23:27 Riastradh, if programs don't have load -- who specifies what gets loaded? 02:23:40 `distinguishing requesting the effects from the bindings' 02:23:48 `having a way to request the effects, rather than just the bindings' 02:23:50 Either of those works. 02:24:00 How are the effects to be denominated? 02:24:01 Riastradh, note that in CL, that's all you can hope to do, request the effects of a module. 02:24:11 including its meta-level effects on global bindings 02:24:21 (the horror!) 02:24:39 Sometimes that's just what you want: see SRFI 101, which redefines car and cdr and cons. 02:24:41 Fare, you tell your REPL: `Hi, REPL. I want the modules described in this file.' That file is like xcvb's build.lisp or whatever it's called now. 02:24:51 Hopefully, with lexicons or something like that, we can have decent lexical bindings for CL 02:25:10 build.xcvb -- there was outrage against BUILD.lisp on #lisp 02:25:31 (I remember that, but I forgot what the consensus was on the substitute.) 02:26:07 not exactly consensus, but a large plurality of highly expressed opinions 02:26:36 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 02:27:00 Now, that file might contain module descriptions that have source code embedded, or it might contain module descriptions that have references to separate files that contain the source code, or it might have something more elaborate. 02:27:10 That file should be declarative, however. 02:27:18 A LOAD procedure is wrong. 02:27:19 so... in PLT's object system, what's the difference between augment and override? 02:27:59 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 02:28:38 -!- Lemurian [n=lemurian@unaffiliated/lemurian] has quit [Read error: 60 (Operation timed out)] 02:29:01 Whatever system of modules/libraries/packages/units/components/frobnozzles/whatsits the next Scheme report has, it should absolutely not put metadata in the source files, because that will require editing them again when the next report after it comes out, and when I want to update it to run using a Scheme's native module system, and so on, just as happened with the R6RS. 02:30:35 I'm proposing to do it both ways here. 02:30:55 Oh, so have a file describing the way the source files go together? That'd be tricky though... 02:30:57 You wouldn't be able to tell what variables came from where, without that project definition file. 02:31:04 You can incorporate code directly in a library, but you can also incorporate it using INCLUDE. 02:31:11 You have it backwards, jcowan. 02:31:13 I note that SRFI-7 allows direct incorporation, as does S48. 02:31:30 That they do -- in the opposite way from what you describe. 02:31:59 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 02:32:11 How, opposite? 02:32:24 Embedding code is not the default; you must explicitly request it. 02:32:39 That strikes me as a trivial distinction. 02:33:06 It is not a trivial distinction. The consequence is that you can take code written for Scheme48 and add a new file for some other module system without touching any of the existing source. 02:33:10 In PLT I could make a file defining a bunch of units, then linking them together, and it'd include all the source files whose variables would just magically be there. 02:33:17 By contrast, when I want, say, the SRFI 101 source code, I have to go through it and strip off all the R6RS crap. 02:33:45 (And the pseudo-R6RS directory tree structure, too.) 02:33:45 Granted, but you'd have to do the same even if it began with "code" instead of just being there. 02:33:57 Yes. But that's not the default, or encouraged, or practised, mode of operation. 02:34:53 But I couldn't do that with modules in PLT, since it only allows one module per file. Kind of stupid that... 02:35:47 The default, encouraged, and practised mode of operation with R6RS libraries, by contrast, is to make obnoxious and superfluous directory tree structures, just like Java, and to populate them with files covered in R6RS goo. 02:36:17 mdg [n=mdg@unaffiliated/mgroman] has joined #scheme 02:36:44 That was a mistake. 02:37:13 That's not the default. The default is to engage in interpretive dance, since we are not known to be running our programs on computers. If all the existing implementations have decided to make horribly large directory tree structures, well, you can't blame the R6RS for that! 02:37:26 True. 02:37:55 That doesn't make it any less a bad idea, though. 02:37:57 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit [Remote closed the connection] 02:38:14 I can't dispute the bit about R6RS goo, though. I still don't understand what the point of the #!r6rs decoration is. 02:38:32 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 02:39:36 patmaddo_ [n=patmaddo@ip68-4-202-132.oc.oc.cox.net] has joined #scheme 02:40:14 I wonder why I keep saying the word `report'. I don't actually expect it to be a `report', unless things change dramatically. 02:41:47 Don't modules make the source of the program a static "compile time" program attribute, while LOAD allows the source of a program to be a dynamic attribute of the program? 02:42:15 Quite. Load is a run-time event, whereas include and import are syntax-expand-time events. 02:43:09 chandler: #!r6rs specifies that the lexical syntax is that of R6RS without extension or restriction. 02:43:37 Naturally, it doesn't work to specify this in the LIBRARY form, because the LIBRARY form encloses all the source code. 02:43:40 Oops! 02:44:05 -!- mdg [n=mdg@unaffiliated/mgroman] has quit [Read error: 60 (Operation timed out)] 02:44:10 jcowan: Why is that *in* the file? 02:44:19 -!- QinGW [n=wangqing@203.86.89.226] has quit [Success] 02:44:21 patmadd__ [n=patmaddo@207.sub-75-217-137.myvzw.com] has joined #scheme 02:44:35 Didn't you get the memo? Because R6RS libraries are self-contained files! 02:44:51 Experience shows that inline metadata, from Emacs mode comments to XML declarations, tend to stay with the data better than out-of-line metadata. 02:44:52 ...except when you use them on every implementation of the R6RS, in which case you need an elaborate directory tree to use them. 02:46:17 jcowan: In practice, I already have to jump through hoops to actually invoke any implementation of the R6RS in its R6RS-compatible mode, so presumably this bit of metadata is superflous. 02:47:42 Very few implementations are pure R6RS -- they have to be concerned with backward compatibility. 02:48:13 Riastradh: What special semantics do you attach to the word "report" that makes you doubt there will be one, or two for that matter? 02:48:56 When there is talk of `adding features', it is not a report on the present state of affairs. 02:50:13 The R6RS was most emphatically not such a beast. 02:52:58 tjafk2 [n=timj@e176194179.adsl.alicedsl.de] has joined #scheme 02:53:10 Judging by the intro, neither was R2RS. 02:53:21 Riastradh, so you think I should prioritize work on having XCVB be able to work w/o modifying the source files? 02:53:49 True. The RRRS and R3RS weren't much so either. But the RRS, the R4RS, and the R5RS all were, pretty much. 02:54:20 R0RS and R1RS certainly were -- they reported on the one and only Scheme implementation. 02:54:39 I think that would be useful, Fare. On the other hand, if you are working on, say, eliminating accidental transitive dependencies, I don't think you should interrupt that. 02:55:10 yeah, on the top top of my list are plenty of things 02:55:22 Doesn't it already let you work without modifying the source files, though? 02:55:25 but that request is on top of the "not essential to ITA" list. 02:55:29 By putting the information in build.xcvb? 02:55:54 Riastradh, more no than yes 02:56:01 I see. 02:56:18 the normal use currently is to have a #+xcvb (module ...) statement in every file except generated files 02:56:24 Right. 02:56:32 would the R0RS just be the RS? 02:56:58 I suppose, given that R^0 = the empty string. 02:57:25 adding support for dependencies in the build.xcvb would be trivial in itself -- but short of having everything depend on build.xcvb and losing incrementality, that means having a way to "explode" the dependencies into lots of rules files 02:57:32 which is not THAT hard but a pain 02:57:42 *jcowan* hopes the Thing One report will be called "Report On The Algorithic Language " and none of this Revised bit. 02:57:49 This is, by the way, slightly less of an issue for Common Lisp than for Scheme, because there isn't really any diversity in module systems between Common Lisp systems -- everyone uses DEFSYSTEM (whether of the MK or the ASDF flavour) and packages, and it's all equally broken all around. 02:58:35 yeah, it's like the fantastic growth figures of china and india -- when you start from so low, it's easy to make progress :) 02:59:25 Yes. You can double your workforce from 27% (Singapore), but you can't double it again. 02:59:33 Not even almost. 03:00:14 Just a quick question - am I right that the r6rs module system doesn't have asdf's administrative type features? does it? 03:00:14 Do we know who actually proposed the Great Renaming in R2RS? 03:00:20 Scheme has many different module systems, some of which actually have legitimate reasons for independent existence. New ones occasionally come out, such as the R6RS's. Committing to one is basically a mistake unless you are writing code for a particular Scheme system whose module system is very stable and requires that you commit to it. 03:00:22 mdg [n=mdg@unaffiliated/mgroman] has joined #scheme 03:00:23 Still, I think that with XCVB then Lexicon (or whatever we find to replace packages) we can slowly fix the brokenness of CL. 03:00:39 Summermute66, what are `asdf's administrative type features'? 03:00:41 Summermute66: What administrative features in particular? 03:01:35 Fare: Interestingly I received a mail from Dan Weinreb today asking about refactoring tools for Common Lisp, and while explaining how correctness-preserving refactoring tools are essentially impossible for CL I also made sure to mention that the hard problems you're solving in XCVB would be a lot easier (indeed, already solved in practice) with hygiene. 03:01:41 aren't there functions for subsystem installation, system build, etc.? 03:01:43 Phooey: the rrrs-authors mailing list archive is not available to the public, probably due to some file system rearrangements. 03:01:43 Riastradh, but if your software includes module system data for PLT (or Chicken, or whatever), then won't it fail to compile with your out-of-line module system on any other implementation anyway, which not necessitating it to compile natively? 03:02:17 Fare: so, let's blow up CL macros; it's the only way to fix the problem. 03:02:21 Fare, sorry, I can't parse that; can you rephrase? 03:02:51 chandler, well, I think that an essential idea for refactoring tools is that you don't want a refactoring tool for CL -- you want a way to evolve from a subset of CL to a subset of Scheme 03:03:18 I don't want a blackbox that will magically turn my CL code into something. I have that, it's called a CL compiler. 03:03:19 -!- sepult [n=levgue@xdsl-87-78-75-187.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 03:03:46 I want a whitebox that will help me evolve specific CL code into something else, with my interactive help. 03:04:00 Fare: Or at least from CL to CL+hygiene... 03:04:29 Riastradh, what good is a module system that is out-of-band, if it can't be compatible with the in-band module systems anyway? 03:04:41 or do you want all module systems to be out-of-band? 03:04:47 The latter, Fare. 03:04:55 -!- patmaddo_ [n=patmaddo@ip68-4-202-132.oc.oc.cox.net] has quit [Read error: 110 (Connection timed out)] 03:05:01 -!- patmaddox [n=patmaddo@222.sub-75-215-65.myvzw.com] has quit [Read error: 110 (Connection timed out)] 03:05:04 chandler, CL + hygiene is not CL, it's a subset of Scheme. 03:05:09 To *require* OOB behavior, or to *permit* it? 03:05:12 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING LATEST VERSION OF THE INTERNET"] 03:05:14 what is a symbol in CL + hygiene? 03:05:36 It's a symbol; I'm not sure what your question means. 03:05:45 and if you use no symbol-based introspection, you've left CL 03:05:50 jcowan, to prefer it. 03:05:53 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 03:06:02 -!- thesnowdog__ is now known as thesnowdog 03:06:31 You can preserve the symbol based top-level environment and still preserve lexical hygiene. It's not my preference, but it's doable. 03:06:38 the whole point of a symbol in CL is that you will associate to it global values/symbol-macros, functions/macros, types, conditions, restarts, plists, etc. 03:07:02 if you don't do any of that, then indeed you can use a Scheme kind of symbol. 03:07:13 but you often will. 03:08:44 You can certainly preserve global values, global function bindings, types, plists, etc. and yet introduce lexical hygiene. As a module system author, this would not be ideal in the least of course. 03:08:48 in any case, one of the first thing a refactoring tool would let you do would be to help you achieve phase separation so you can minimize meta-level introspection at runtime. 03:09:02 -!- tjafk1 [n=timj@e176220222.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:09:28 So you are talking hygienic low-level macros here? 03:09:33 I'm not saying it's not possible -- it's just a completely different spirit from CL. Half of CL's infrastructure becomes useless in such a setting. 03:09:52 jcowan, not really, though syntax-case kind of provides that 03:10:06 My point was that you *can't* refactor CL, at least not in the sense of refactoring tools for languages like Java, because there's no way to determine the meaning of a program by looking at in CL. 03:10:26 you can't do it *fully automatically in an affordable way for arbitrary CL programs* 03:10:30 *jcowan* nods. 03:10:33 jcowan: No; I'm actually somewhat talking about implementations like Chicken with broken top-level hygiene. 03:10:42 but you CAN do it *interactively in an affordable way for specific large CL programs* 03:10:46 Chicken 3 or 4, chandler? 03:11:02 jcowan: Both. 03:11:30 (define-syntax foo (syntax-rules ((_) (define a 1)))) 03:11:50 In Chicken, this defines `a' to 1, rather than introducing a name. 03:11:52 i.e. just like the gradual typing approach of PLT Scheme and others -- start with your CL program, migrate it semi-automatically piece by piece to a more tractable dialect. 03:12:06 then do you automatic transformations on that dialect. 03:12:48 it's not cheap 03:12:52 That's not refactoring in the sense that he asked the question, though - which was specifically in reference to tools like IDEA. 03:12:53 but it's doable 03:12:59 Sure. 03:13:17 chandler: It doesn't even do that, because you left out the () after syntax-rules. :-) 03:13:51 QinGW [n=wangqing@203.86.89.226] has joined #scheme 03:13:53 I'm typing on a very small keyboard. It's easy to miss details. 03:14:02 *jcowan* nods. 03:16:01 Just listening in - Fare: why not the other way around. Do the automatic transformations that are possible, and then mark the parts requiring manual attention and leave them as is. i could imagine such a tool could be iterative. 03:16:33 that's the automatic part of my "migrate it semi-automatically" 03:16:44 Heheheh. 03:16:59 `Do the automatic transformations that are possible.' 03:17:26 but often, you must first convert the macros that these parts of the program use 03:17:33 Summermute66: For the most part, I don't think automatic transformations *are* possible. There's no connection made between the `foo' that is the input of a macro call and the one that appears in the output; how do you transform such a program? 03:17:43 for instance, in QRes, all the infrastructure with which we define persistent classes, etc. 03:18:29 Also, I've always thought that the CL symbol's various binding semantics could be duplicated by a series of hash tables that map the symbol to function value, it's plist, etc. Perhaps even setf forms could be set up to make this fairly transparent. 03:18:48 chandler, large parts of the program don't do play any games with the metalevel. 03:19:04 I think it would be possible to add support for lexical hygiene to an existing implementation of Common Lisp, while preserving compatibility with DEFMACRO. This would make migrating macros a lot easier. 03:19:36 Fare: It doesn't matter if they don't play games; the information simply isn't there to determine that! 03:19:44 Summermute66, it could but if you want to preserve all the semantics of CL symbols, you'll get something so rigid that what you have is a CL implementation and no refactoring of the code. 03:20:05 While we're speaking of ponies, why don't we discuss Scheme ponies in #scheme instead of Common Lisp ponies? 03:20:17 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Connection timed out] 03:20:25 Yes, but it could fit into scheme semantics and be manually refined later. 03:20:32 jcowan, I want optimistic software transactional memory in Thing One, please. 03:20:36 *jcowan* notes that SRFI-7 doesn't prefer files to code *or* vice versa. 03:20:49 Riastradh: Write a SRFI and get lots of implementations to adopt it, pronto. 03:21:00 chandler, when all you have is defun's and defvar's that don't invoke any symbol-value or such (and the control flow or a promise tells you it won't be called somehow) then you can trivially translate to Scheme or C++ 03:21:08 That way, I could just run lots of my Scheme48 code on any RkRS system, for whatever k we're up to now! 03:21:45 just like when you KNOW that a continuation won't be captured by a flow analysis or programmer promise, there are a lot of optimizations that become possible in Scheme. 03:21:49 I really am doing my very best to invent nothing. 03:22:13 (except of course, in the general case, every function can be dynamically redefined to something that captures a continuation) 03:22:33 (The compiler can know whether that will happen.) 03:23:03 (Only if it's a whole-program compiler; it's like knowing whether pairs will be mutated or not.) 03:23:06 Riastradh, only if it has whole-program analysis or optimization-invalidation, etc. 03:23:15 All you need is a reasonable module system! 03:23:24 and love 03:23:37 a lot of love 03:23:52 (This is one unreasonability in the R6RS's module^Wlibrary system.) 03:24:12 (and a pony, of course http://fare.livejournal.com/113107.html ) 03:24:25 Now you are organizing modules not for the benefit of the user but for the benefit of the implementor. 03:24:35 If a feature's hard to implement, we put it in a module. 03:24:37 No, I'm not, jcowan. 03:24:56 This is very much to the benefit of the user, who is guaranteed, by the semantics of the module system, that nobody will scribble all over the variables he defined. 03:25:43 What's that got to do with mutable pairs? 03:25:46 *jcowan* is confused. 03:25:49 but regarding the color of ponies, CLers don't usually care much about semantics or refactoring. Schemers do more often, and would benefit from a mass migration of CL code if it happened 03:25:59 It has nothing to do with mutable pairs, jcowan; it has to do with mutable variables. 03:26:14 *jcowan* nods. 03:26:17 So you put set! in a module too. 03:28:29 No, that's not the issue. 03:28:41 In Scheme48 SET! is exported by the SCHEME structure. 03:28:41 you put anything but lambda and module import in a module. 03:28:58 That doesn't make all variables in all environments that open the SCHEME structure mutable. 03:29:28 Only those variables that are SET! by the same module that defined them are mutable. 03:29:41 And only within that module. 03:29:57 I believe R6RS has an even tighter restriction: no imported nor exported variables can be set!. 03:30:05 Quite the opposite. 03:31:00 Oh, excuse me. 03:31:17 You are right. 03:32:05 That forces you to hide mutable variables behind a screening procedure that gives access to the current state of them. 03:32:11 Indeed. 03:35:14 I consider that a Good Thing. 03:36:29 Quoth R6RS: 03:36:33 "An exported macro may, however, implicitly export an otherwise unexported identifier defined within or imported into the library. That is, it may insert a reference to that identifier into the output code it produces." 03:36:46 I take it that is of no effect when all macros are syntax-rules macros? 03:37:15 No, whether you use SYNTAX-RULES or SYNTAX-CASE or any other macro system is immaterial; that passage applies regardless. 03:41:00 In that case I do not understand it. 03:41:15 (define-syntax foo (syntax-rules () ((foo x) (set! frob x)))) 03:41:34 I see. 03:41:40 Where frob is not exported. 03:45:06 Ceylon barred the exportation of frobs, hoping to prop up their domestic frob industry. 03:45:18 Naturally that encouraged a black market. Even today, old Ceylonese frobs are worth a pile 03:45:21 That was foolish of them. 03:45:30 In that case they should have banned imports, not exports. 03:45:37 That's foolish too, but less obviously so. 03:46:00 Is that what induced them to change their name to Sri Lanka, or did I get it backwards, and they're now called Ceylon, but were formerly Sri Lanka? 03:46:40 They have always been called Sri Lanka locally. They have simply changed the Latin-alphabet form of the name. 03:47:18 from "Ceylon", which is misleading, to "Sri Lanka", which is less so. 03:48:01 *offby1* is happy to have spelled Ceylon properly, never mind getting import and export straight 03:48:03 Similarly with Burma > Myanmar, though in this case the change is from transcription (good only in British English) to transliteration (reversible but not very good for anglophones at all). 03:48:27 Well, don't feel bad. Renowned linguist Geoff Pullum can't get "incall" and "outcall" straight. 03:48:34 Even though I explained it to him very clearly. 03:48:46 I don't know either of those words. 03:49:17 `Myanmar' is now more accurately reflected in Latin orthography than in Burmese orthography, bizarrely enough. 03:49:18 Incall is where you go to see the girl, or boy, or whatever, whose services you are employing; outcall is where they go to see you. 03:49:49 Accurately with respect to what? It now accurately reflects in Latin orthography its Burmese *orthography*, which is very remote from its Burmese pronunciation. 03:50:33 Excuse me: I meant that the word's pronunciation is more accurately reflected in Latin orthography than in Burmese orthography. 03:50:34 And I call him "Renowned linguist G.P." in allusion to the works of Dan Brown, whom G.P. is a famous denunciator of. 03:50:54 "of whome G.P. is a famous denunciator"? 03:51:04 As you will. 03:51:04 Hm. Might help if I spelled "whom" correctly. 03:51:21 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 03:51:24 Or "who ... of" for that matter. But I was going for the note of awkward formality. 03:51:28 A la Dan Brown. 03:51:53 A trick I missed; apologies, sir. Let me fix that scuff atop your shoe. 03:52:10 He tends to begin his books with "Retired poodle-catcher George Henry" (who then dies a horrible death within a few paragraphs.) 03:52:12 s/) 03:52:31 *jcowan* is wearing Das Boot on one foot and a sandal on the other, but thanks. 03:53:02 Oh, I know all too well. In ages past, when I sold books for a living, I made a point of reading the top five or so sellers every month. I read a lot of Sophie Kinsella, Dan Brown, and wotzername. 03:53:11 One of those involves a voice speaking chillingly close, and revealing itself to be a pale silhouette, doesn't it? 03:53:47 Right. From 15 feet away, too. 03:53:59 Which wotzername would that be? 03:54:05 I'm trying to recall. 03:54:25 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 131 (Connection reset by peer)] 03:55:14 QinGW [n=wangqing@203.86.89.226] has joined #scheme 03:56:56 Nora Roberts. 03:57:26 *gnomon* shudders 03:58:08 And you read these because...? 03:58:26 Because a merchant should know the product, Riastradh. 03:58:36 "[...] and by error some of her works were published in the UK as Sarah Hardesty" 03:58:38 "By error"? 03:58:40 Gak. 03:59:46 Riastradh, jcowan has the straight of it - I felt that I should at least be able to answer the interminable questions people had about her book o' the week. 03:59:55 Well, sure: A book, after all, is a collection of folded paper, bound with a spine of some variety and with ink printed on it to form letters, in a style invented by a fellow named Gutenberg some five or six hundred years ago. 04:01:33 offby1, your mention of Ceylon reminds me that I have some particularly nice tea that isn't going to drink itself... 04:01:35 "At a literary dinner [Thomas] Campbell [author, 1777-1844) asked leave to propose a toast, and gave the health of Napoleon Bonaparte. The war was at its height, and the very mention of Napoleon's name, except in conjunction with some uncomplimentary epithet, was in most circles regarded as an outrage. A storm of groans broke out, and Campbell with difficulty could get a few sentences heard. `Gentlemen,' he said, `you must not mistake me 04:01:35 . I admit that the French Emperor is a tyrant. I admit that he is a monster. I admit that he is the sworn foe of our nation, and, if you will, of the whole human race. But, gentlemen, we must be just to our great enemy. We must not forget that he once shot a bookseller.' The guests, of whom two out of every three lived by their pens, burst into a roar of laughter, and Campbell sat down in triumph." 04:02:41 "He once shot a publisher" would be closer to the modern meaning, though. 04:02:42 Ho ho! 04:02:57 Ah, that's a mild relief. 04:03:01 *jcowan* well imagines that gnomon frequently desired to shoot publishers. 04:03:21 More than frequently, for more than a few reasons. 04:04:03 I still love their wares, but usually despite the publisher rather than with any credit to them. 04:04:16 first thing _I'm_ onna do, is kill all the lawyers. 04:05:45 offby1: you and Willie S 04:06:00 patmaddox [n=patmaddo@85.sub-75-217-204.myvzw.com] has joined #scheme 04:08:03 -!- Fare [n=Fare@c-98-216-110-136.hsd1.ma.comcast.net] has quit ["Leaving"] 04:09:04 -!- patmadd__ [n=patmaddo@207.sub-75-217-137.myvzw.com] has quit [Read error: 110 (Connection timed out)] 04:09:46 "I often wonder what the publishers buy / One half so precious as the stuff they sell." --Not Edward Fitzgerald 04:10:00 Speaking of books, has anyone here yet dug up and read a copy of Coders at Work? 04:10:12 Not I. 04:10:27 Adamant: No, no. Bill the Butcher, not Bill Shakespeare. And Bill the Butcher is just a dupe of the Duke of York. 04:11:22 Bill the Butcher is a son of a bitch 04:11:38 and a native to his bones 04:11:39 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 04:13:43 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 04:14:42 *jcowan* is no longer a coder -- at work. 04:15:11 What do you do at Google, then? Attach strings to pigeons' legs? 04:15:24 (They still do all their PageRank calculations with pigeons, right?) 04:15:31 (Or is that covered by the NDA that doesn't exist?) 04:17:02 I am an internal evangelist, basically. 04:17:16 What do you mean, doesn't exist? Of course it exists. 04:17:22 offby1, can you lend me a blank stare? 04:17:31 Doesn't the NDA have clauses prohibiting you from talking about it? 04:17:31 Anyhow, everything I do (as opposed to everything I know about) is public knowledge. 04:17:34 No. 04:17:56 (or, from disclosing its text) 04:18:04 That I don't know. Perhaps. 04:18:45 I imagine this line of questioning could by turns tend towards Kafka and Alice... 04:18:58 -1s/ards/ard/ 04:19:05 dzog [n=dzog@denali.ccs.neu.edu] has joined #scheme 04:20:21 That is to say, I work with projects that are not yet released, and I obviously can't talk about those. 04:20:43 But if I removed identifying information, I could give the world a blow-by-blow of my day. 04:20:54 Google turns up some pretty draconian text that claims to be a Google NDA. I don't know, though; the only Google NDAs that I've been presented with, I opted not to sign, and I don't remember much of what was on them. 04:22:49 How conve-e-e-e-enient... 04:23:41 *offby1* backs away slowly 04:23:48 gnomon: my wife says that, in EXACTLY THAT VOICE 04:23:57 The published NDA does not appear to be an employee NDA at all. 04:23:58 *gnomon* looks around shiftily 04:24:09 *offby1* examines gnomon with renewed interest 04:24:24 Hey, now. You'll have to buy me dinner first. 04:24:42 nah, you're not her; she doesn't like eating out 04:24:45 I don't fnord recall what was on my Google application. 04:24:52 Lemurian [n=lemurian@unaffiliated/lemurian] has joined #scheme 04:25:46 -!- mdg [n=mdg@unaffiliated/mgroman] has quit [] 04:26:00 *jcowan* also notes that the published NDA is dated 2005. 04:29:42 Does she like sandwiches, offby1? 04:30:27 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 04:30:37 Riastradh: I think it'd be prudent not to answer that. 04:30:45 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 04:30:50 (unless you're offering to buy her one.) 04:30:51 ((oops)) 04:31:05 No, I was just going to warn you about gnomon and sandwiches. 04:31:41 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 04:31:53 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 04:32:25 ? 04:32:43 Sorry, Lemurian, maybe we'll begin talking about Scheme at some point. 04:34:09 .oO(squids eat sandwiches?) 04:34:43 With relish. 04:41:16 Oh, hey: happy 25th anniversary, Elite. 04:44:27 to the game Elite! 04:44:39 they actually released it for the NES 04:44:51 hard controls but playable 04:46:09 Apparently it's possible to get the original Acorn version running on a modern rendition of the hardware. 04:46:16 Or so I'm told. 04:46:17 That's the game where the character's name is Bushmills, right? 04:47:04 You have flasted by gabber, sir. 04:47:42 *offby1* eats glabberfast right before breakfast 04:50:23 -!- Summermute66 [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)] 04:51:40 incubot: dance! watch?v=29cPSQrQ7as 04:51:44 Or just watch ESR masturbating merely by talking. Click the link! 04:52:01 leppie|work [i=52d2e3c8@gateway/web/freenode/x-oyeuztyxvhastivh] has joined #scheme 04:52:24 *sladegen* blows a kiss passe a bot. 04:53:16 eww 05:03:06 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING LATEST VERSION OF THE INTERNET"] 05:05:29 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 05:08:31 -!- dzog [n=dzog@denali.ccs.neu.edu] has quit [Client Quit] 05:11:58 Aw, man, so much for lunch :( 05:12:09 bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 05:12:17 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 05:13:03 you poor thing 05:13:09 oh 05:13:27 foof: I thought you said "Aw, man, I have so much to eat for lunch :(" 05:13:59 reprore [n=reprore@116.82.73.92] has joined #scheme 05:14:43 Ah, no, but I guess that's a possible interpretation. 05:16:00 I read it as `I just barfed my lunch up onto the lap of the Japanese prime minister on international television.' 05:16:01 unfortunately not the correct interpretation though. 05:21:21 -!- rcy [n=rcy@d154-20-143-140.bchsia.telus.net] has quit [Remote closed the connection] 05:22:12 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Read error: 54 (Connection reset by peer)] 05:24:17 Is there any handy-dandy SRFI 18 test suite lying around on an intertube somewhere? 05:24:18 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 05:29:34 did you try binging for it 05:30:10 No... Don't I need some windows to bing? I didn't know I could bing on my Mac with OmniWeb. 05:30:37 incubot: snotty binged me twice last night--it was wonderful 05:30:40 Well, here in the US it plays directly to the stereotype of the French, as "snotty". 05:42:17 Does SRFI 18's THREAD-TERMINATE! run DYNAMIC-WIND exit thunks? 05:43:21 Doesn't SRFI 18 leave pretty much all such hairy issues unspecified? 05:43:31 No, It misspecifies some of them, in fact. 05:43:40 Oh? 05:44:11 For example, the thread returned by MAKE-THREAD inherits the dynamic environment of the current thread, *except* for the DYNAMIC-WIND state and the current exception handler. 05:44:47 That's kind of bizarre. 05:44:57 Hmm. I don't know why I emphasized the word `except' there. Inheriting the dynamic environment is the main mistake -- making it inconsistent with the DYNAMIC-WIND state is a secondary mistake. 05:45:43 -!- jonrafkind [n=jon@98.202.86.149] has quit [Read error: 110 (Connection timed out)] 05:50:21 I don't see that it's formally specified but the SRFI does say that it is impossible for the thread to perform "any sort of cleanup" after a thread-terminate!, which to me would include dynamic-wind exit thunks 05:50:45 That is true. That's rather silly, though. 05:51:04 -!- reprore [n=reprore@116.82.73.92] has quit [Remote closed the connection] 05:51:14 Killing threads from other threads is just a Bad Thing To Do. 05:51:21 Indeed. 05:51:32 I think he threw in thread-terminate! as a paean to java, which later removed that possibility itself 05:51:42 Just so. 05:51:59 Of course, shared-everything threads themselves are a Bad Thing To Have. 05:52:19 s/shared-everything threads/peanut butter/ ? 05:52:32 Riastradh: Don't you have a writeup somewhere of the problems with SRFI-19 vs. the dynamic environment? 05:52:36 Peanut butter themselves? Are they multiplying?? 05:53:00 I mean, I like peanut butter, but if they multiplied and began to eat me I'd start to worry a little. 05:53:04 No, that's safety-pins/coat-hangers/bicycles 05:53:05 I *knew* some wag would make a crack about the pluralization. J'accuse. 05:53:11 J'excuse. 05:53:18 thtuck to the roof of my mouf 05:53:22 J'pamplemousse 05:53:38 J'gordita 05:53:40 J'hippopotame. 05:53:54 No, no, it's "Voici l'hippopotame". 05:54:07 J'Lo 05:54:13 *jcowan* chuckles. 05:54:25 (the French Bible's rendering of "Behold now Behemoth") 05:54:27 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 05:54:28 Non. J'ai eu l'intention d'ecrire `J'hippopotame'. 05:55:23 Whatever. 05:56:06 Yes, sorry about that digression. I don't know what's gotten into me tonight. 05:56:41 So, about thread-terminate! being a sop for the Java folk - jcowan, zbigniew, do either of you have a reference for that being removed from Java? 05:56:55 omlette du fromage 05:57:06 gnomon: Not offhand, but I bet jcowan does 05:57:17 Peut-etre l'hippopotame vous a mis, gnomon. 05:57:22 (too late to grovel or even bing for it right now) 05:57:43 dad-binggit 05:57:59 "omelette de fromage", monsieur; et c'est rare de ne pas spécifier quelle sorte de fromage... 05:58:06 http://java.sun.com/javase/6/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html 05:58:08 -rudybot:#scheme- http://tinyurl.com/yar28k 05:58:11 Hmmmm. Peut-etre cette phrase-la n'a pas un sens. 05:58:25 jcowan, you scare me just a little sometimes. Thanks for the link. 05:59:40 *jcowan* marches into an anglophone restaurant and orders "I'll take a platter of meat, please, with starch and vegetables." 06:00:16 With butter, sir, or Hollandaise? 06:00:22 gnomon, comment dit-on `gotten into you' en francais? 06:00:48 Hm. Roughly, or idiomatically? 06:00:55 (Avec sauce marron, s'il vous plait.) 06:01:01 In America, cheese specifies you. 06:02:12 gnomon, quelle est la difference entre `roughement' et `idiomatiquement'? 06:02:18 reprore [n=reprore@116.82.73.92] has joined #scheme 06:03:24 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 06:03:25 In Lloyd Biggle's _Watchers of the Dark_, the human protagonist (one of only two let loose in the Galaxy) places his order something like this: 06:04:01 "meat of the second type, well-done [as opposed to raw, half burned, or completely carbonized], vegetables of the first type, medium-sized pieces, and water." 06:04:43 incubot: Close encounters, of the second type 06:04:46 See the code -- it needs to close over `n'. 06:05:00 Riastradh, la difference? L'un, je le sais; de l'autre, j'en suis quelque peu moins sûr. 06:05:52 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 06:06:41 A code closed over epsilon: U+029A 06:07:06  06:07:23 -!- p1dzkl [i=p1dzkl@208.92.234.202] has quit [Read error: 104 (Connection reset by peer)] 06:07:28 A very nice property, which I hadn't really thought about until recently, of Scheme48's software transactional memory is that all code in transactions intended to be safe threadwise is also safe interruptwise, without danger of livelock, since writes are committed with interrupts blocked in a brief loop that will always halt reasonably quickly. 06:07:53 *jcowan* nods. 06:07:57 p1dzkl [i=p1dzkl@208.92.234.202] has joined #scheme 06:07:58 Interrupts are just another thread in some ways. 06:08:05 Scheme48 has STM? 06:08:06 Except they can't block. 06:08:22 Yes, foof, and has for about ten years. 06:08:44 Then why is Clojure so hyped? 06:09:10 ... and actually, doesn't that predate STM for Haskell? 06:09:46 I recently ran across a message on a mailing list, probably Scheme48's, from Jonathan Rees, quoting some article that mentioned Scheme48 as a `popular' Scheme system, and remarking that he must be doing something wrong. 06:10:18 Now, Scheme48's transactions are a little different from Clojure's and Haskell's. 06:11:41 attila_lendvai [n=ati@catv-89-134-66-153.catv.broadband.hu] has joined #scheme 06:12:02 Scheme48 is hip and indie. If it had a haircut it would perhaps be a mohawk. 06:12:08 foof: Because it's Javatose. 06:12:16 A transaction doesn't see the state of the world as it was when the transaction began, but the state of the world that the transaction has looked at don't change in the transaction. Moreover, transactions are not hooked up with thread suspension, as in Haskell, and there's no (general, composable) way to retry a transaction in the middle; you have to wait until the end to retry. 06:12:27 What is common to them is that all writes in a transaction happen simultaneously or not at all. 06:13:31 Sorry, to clarify: my first sentence there contrasted Scheme48 with Clojure: Clojure remembers the state of the world when you start the transaction; Scheme48 doesn't -- it only remembers the parts of the world state that you read, so that subsequent reads of the same locations yield the same values. 06:17:14 There are many things to dislike about Scheme48's transactions. Each primitive reader and writer comes in two variants: the usual variant, and the provisional variant. You can't use, say, MAP on a list whose cdrs are undergoing concurrent update, because MAP uses CDR rather than PROVISIONAL-CDR; however, the system won't detect that for you. (Consequently, there are some bugs due to carelessness in parts of Scheme48.) As I sai 06:19:13 As you sai 06:20:14 As I said, also, you can't abort a transaction in the middle and retry it, like in Haskell. This makes things a little difficult somtimes: you might read from two different locations, and find them inconsistent. But you have to pretend that the world is in a consistent state, long enough not to cause an error to be signalled by the end of the transaction, when it will be retried. 06:21:06 (This is what some weird code in Scheme48's (buggy) implementation of queues is about, with a comment `someone got in first' and a call to a procedure INVALIDATE-CURRENT-PROPOSAL!.) 06:21:38 (There is, by the way, a much better implementation of queues at .) 06:22:53 -!- crypto_ is now known as z0d 06:23:59 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has quit ["Leaving"] 06:25:30 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:30:18 -!- reprore [n=reprore@116.82.73.92] has quit [Remote closed the connection] 06:30:44 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 06:31:14 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 06:35:17 mmc [n=mima@esprx01x.nokia.com] has joined #scheme 06:37:33 The documentation for GHC's STM is not very clear. 06:37:53 I'm trying to figure out whether `atomically' takes a snapshot of the state of the world's TVars. 06:40:58 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 06:43:26 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit ["Leaving"] 06:46:55 -!- Fade [i=fade@outrider.deepsky.com] has quit [Read error: 104 (Connection reset by peer)] 06:46:59 Fade [i=fade@outrider.deepsky.com] has joined #scheme 06:57:45 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 110 (Connection timed out)] 06:58:26 ebzzry [n=ebzzry@124.217.83.66] has joined #scheme 07:13:07 -!- Lemurian [n=lemurian@unaffiliated/lemurian] has quit ["reboot"] 07:16:32 The rrrs-authors mailing list archive is back now. 07:18:18 rickardg [n=user@c-4e7271d5.027-77-6c756e10.cust.bredbandsbolaget.se] has joined #scheme 07:19:58 Riastradh: 07:20:07 yo, what do you think of the stack using parameters point? 07:20:20 (you seem to be rather cynical at times; which is good; since it points out flaws in designs) 07:23:22 ejs [n=eugen@77.222.151.102] has joined #scheme 07:26:54 -!- ASau [n=user@83.69.240.52] has quit [Remote closed the connection] 07:32:33 ejs1 [n=eugen@nat.ironport.com] has joined #scheme 07:39:52 -!- ejs [n=eugen@77.222.151.102] has quit [Read error: 110 (Connection timed out)] 07:42:01 -!- chylli [n=lchangyi@119.181.6.48] has quit [Remote closed the connection] 07:44:51 Sveklo1 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 07:46:19 -!- proq [n=user@38.100.211.40] has quit [Remote closed the connection] 07:46:29 proq [n=user@38.100.211.40] has joined #scheme 07:51:48 rcy [n=rcy@d154-20-143-140.bchsia.telus.net] has joined #scheme 07:51:49 -!- kiko_ [n=user@67.207.130.53] has quit [Remote closed the connection] 07:52:00 kiko_ [n=user@67.207.130.53] has joined #scheme 07:55:44 chylli [n=lchangyi@119.181.6.48] has joined #scheme 07:57:00 -!- dmoerner [n=dmr@89-151.res.pomona.edu] has quit [Read error: 110 (Connection timed out)] 08:07:49 -!- stepnem [n=stepnem@88.103.132.186] has quit [SendQ exceeded] 08:09:00 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Remote closed the connection] 08:09:36 stepnem [n=stepnem@88.103.132.186] has joined #scheme 08:10:23 -!- chylli [n=lchangyi@119.181.6.48] has quit [Remote closed the connection] 08:13:51 -!- stepnem [n=stepnem@88.103.132.186] has quit [SendQ exceeded] 08:15:24 stepnem [n=stepnem@88.103.132.186] has joined #scheme 08:16:49 -!- stepnem [n=stepnem@88.103.132.186] has quit [Excess Flood] 08:17:39 leppie [n=lolcow@41.243.43.194] has joined #scheme 08:18:05 stepnem [n=stepnem@88.103.132.186] has joined #scheme 08:18:35 -!- leppie [n=lolcow@41.243.43.194] has quit [Read error: 131 (Connection reset by peer)] 08:23:10 chylli [n=lchangyi@119.181.6.48] has joined #scheme 08:29:36 -!- rstandy` [n=rastandy@net-93-144-23-247.t2.dsl.vodafone.it] has quit [Remote closed the connection] 08:30:18 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 08:31:01 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 08:31:43 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 08:34:58 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 09:01:01 thehcdreamer [n=thehcdre@81-174-49-12.dynamic.ngi.it] has joined #scheme 09:08:32 -!- sstrickl [n=sstrickl@pool-151-199-30-68.bos.east.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 09:08:49 sstrickl [n=sstrickl@pool-151-199-30-68.bos.east.verizon.net] has joined #scheme 09:12:04 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Remote closed the connection] 09:13:00 rstandy [n=rastandy@net-93-144-127-196.t2.dsl.vodafone.it] has joined #scheme 09:14:34 cornucopic [n=r00t@202.3.77.134] has joined #scheme 09:14:54 alaricsp [n=alaricsp@79.135.115.242] has joined #scheme 09:17:18 ASau [n=user@83.69.227.19] has joined #scheme 09:21:49 -!- thehcdreamer [n=thehcdre@81-174-49-12.dynamic.ngi.it] has quit [] 09:33:18 QinGW [n=wangqing@203.86.89.226] has joined #scheme 09:33:23 eliyahoo [n=eli@24.61.14.53] has joined #scheme 09:33:59 foo? 09:34:42 -!- eliyahoo [n=eli@24.61.14.53] has quit [Remote closed the connection] 09:36:42 bar! 09:38:21 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 60 (Operation timed out)] 09:39:22 zab! 09:42:49 bleh. 09:42:59 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 09:44:56 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 09:53:07 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Remote closed the connection] 09:53:49 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 10:03:36 -!- Sveklo1 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has quit [Remote closed the connection] 10:16:00 masm [n=masm@bl7-192-76.dsl.telepac.pt] has joined #scheme 10:22:42 -!- QinGW [n=wangqing@203.86.89.226] has quit [Success] 10:29:28 rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has joined #scheme 10:29:34 -!- rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has quit [Client Quit] 10:29:39 -!- mmc [n=mima@esprx01x.nokia.com] has quit [Remote closed the connection] 10:30:00 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 10:30:00 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 10:30:24 rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has joined #scheme 10:33:57 -!- rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has left #scheme 10:35:36 Edico [n=Edico@unaffiliated/edico] has joined #scheme 10:36:13 rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has joined #scheme 10:36:35 -!- rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has quit [Client Quit] 10:37:56 steiger [n=steiger@189.105.114.204] has joined #scheme 10:38:02 hey guys, quick question: 10:38:15 (set! x (+ x 2)) 10:38:59 when calling this, which is evaluated first, the first argument x or the sexp (+ x 2) ? 10:41:00 set! doesn't evaluate its first argument, does it? 10:41:42 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 10:43:37 Jafet1 [n=Jafet@unaffiliated/jafet] has joined #scheme 10:45:16 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Nick collision from services.] 10:45:22 -!- Jafet1 is now known as jafet 10:45:49 hotblack23 [n=jh@p5B0549C4.dip.t-dialin.net] has joined #scheme 10:46:26 -!- rstandy [n=rastandy@net-93-144-127-196.t2.dsl.vodafone.it] has quit [Success] 10:46:43 rstandy [n=rastandy@net-93-144-127-196.t2.dsl.vodafone.it] has joined #scheme 10:48:49 jafet: right 10:48:59 dumb question 11:04:11 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Remote closed the connection] 11:05:07 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 11:05:21 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Remote closed the connection] 11:06:09 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Remote closed the connection] 11:06:21 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 11:07:26 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 11:07:50 -!- proq [n=user@38.100.211.40] has quit [Remote closed the connection] 11:08:29 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 11:14:22 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 11:30:25 rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has joined #scheme 11:30:29 -!- rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has quit [Client Quit] 11:30:40 rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has joined #scheme 11:31:09 -!- masm [n=masm@bl7-192-76.dsl.telepac.pt] has quit ["Leaving."] 11:31:24 masm [n=masm@bl7-192-76.dsl.telepac.pt] has joined #scheme 11:34:53 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Remote closed the connection] 11:36:39 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Remote closed the connection] 11:37:28 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 11:38:19 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Remote closed the connection] 11:38:31 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 11:41:31 -!- tonyg [n=tonyg@host226.lshift.net] has quit ["Leaving"] 11:44:37 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 11:49:54 -!- bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Client Quit] 11:50:17 -!- jafet [n=Jafet@unaffiliated/jafet] has quit ["Leaving."] 11:50:23 Sveklo1 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 11:50:25 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 11:52:48 so who else is making SRFI's ? ;p 11:53:24 -!- sstrickl [n=sstrickl@pool-151-199-30-68.bos.east.verizon.net] has quit [] 11:58:29 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 12:04:51 leppie [n=lolcow@41.243.43.194] has joined #scheme 12:15:20 mario-goulart [n=user@67.205.85.241] has joined #scheme 12:18:50 -!- rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has quit [] 12:30:55 -!- jao [n=jao@75.Red-88-6-168.staticIP.rima-tde.net] has quit [Remote closed the connection] 12:35:07 -!- masm [n=masm@bl7-192-76.dsl.telepac.pt] has quit ["Leaving."] 12:35:37 masm [n=masm@85.240.192.76] has joined #scheme 12:37:13 jao [n=jao@75.Red-88-6-168.staticIP.rima-tde.net] has joined #scheme 12:39:22 sepult [n=levgue@xdsl-87-78-73-96.netcologne.de] has joined #scheme 12:41:47 mdg [n=miles@unaffiliated/mgroman] has joined #scheme 12:51:24 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 12:51:59 -!- masm [n=masm@85.240.192.76] has quit ["Leaving."] 12:52:13 masm [n=masm@bl7-192-76.dsl.telepac.pt] has joined #scheme 12:54:17 -!- leppie [n=lolcow@41.243.43.194] has quit [Remote closed the connection] 12:56:03 edward2 [n=edwardk@32.136.124.174] has joined #scheme 12:58:47 -!- edward2 [n=edwardk@32.136.124.174] has quit [Read error: 54 (Connection reset by peer)] 12:59:40 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 13:00:37 sstrickl [n=sstrickl@nomad.ccs.neu.edu] has joined #scheme 13:04:02 -!- ebzzry [n=ebzzry@124.217.83.66] has quit ["Leaving"] 13:06:31 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:10:56 samth [n=samth@nomad.ccs.neu.edu] has joined #scheme 13:19:53 -!- masm [n=masm@bl7-192-76.dsl.telepac.pt] has left #scheme 13:27:17 -!- Sveklo1 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has quit [Remote closed the connection] 13:30:51 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 13:32:59 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 13:37:30 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 13:38:13 -!- ecraven [n=nex@140.78.42.103] has quit [Read error: 104 (Connection reset by peer)] 13:38:38 ecraven [n=nex@140.78.42.103] has joined #scheme 13:39:57 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 13:40:48 thehcdreamer [n=thehcdre@81-174-49-12.dynamic.ngi.it] has joined #scheme 13:41:36 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 60 (Operation timed out)] 13:42:19 Sveklo1 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 13:44:23 ejs1 [n=eugen@77.222.151.102] has joined #scheme 13:44:24 rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has joined #scheme 13:44:29 -!- rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has quit [Client Quit] 13:48:48 -!- ejs1 [n=eugen@77.222.151.102] has quit [Read error: 131 (Connection reset by peer)] 13:49:21 ejs1 [n=eugen@77.222.151.102] has joined #scheme 13:55:41 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 13:57:49 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 13:59:44 masm [n=masm@bl7-192-76.dsl.telepac.pt] has joined #scheme 14:00:01 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Nick collision from services.] 14:00:04 -!- offby1` is now known as offby1 14:03:29 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 14:07:12 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 14:09:52 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 14:12:03 -!- ejs1 [n=eugen@77.222.151.102] has quit [Read error: 104 (Connection reset by peer)] 14:12:24 ejs1 [n=eugen@77.222.151.102] has joined #scheme 14:21:01 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 104 (Connection reset by peer)] 14:22:43 annodomini [n=lambda@130.189.179.215] has joined #scheme 14:23:06 -!- masm [n=masm@bl7-192-76.dsl.telepac.pt] has quit [Remote closed the connection] 14:23:33 masm [n=masm@bl7-192-76.dsl.telepac.pt] has joined #scheme 14:23:36 -!- masm [n=masm@bl7-192-76.dsl.telepac.pt] has quit [Remote closed the connection] 14:24:35 masm [n=masm@bl7-192-76.dsl.telepac.pt] has joined #scheme 14:24:51 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 14:26:27 -!- ejs1 [n=eugen@77.222.151.102] has quit ["This computer has gone to sleep"] 14:27:11 -!- chylli [n=lchangyi@119.181.6.48] has quit [Remote closed the connection] 14:29:56 Summermute [n=scott@68.34.67.216] has joined #scheme 14:31:19 rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has joined #scheme 14:31:50 -!- rbf [n=robby@c-68-51-72-31.hsd1.il.comcast.net] has quit [Client Quit] 14:33:04 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 14:44:18 schoppenhauer [n=christop@unaffiliated/schoppenhauer] has joined #scheme 14:44:26 rudybot_: ghost rudybot 14:44:27 offby1: eh? Try "rudybot_: help". 14:44:37 hello. i have a program running on petite chez scheme 7.3, but not on 7.9, probably due to differences between r5rs and r6rs. i cannot find an option to petite to run r5rs-compatible, nor can i find a download for an older version (7.3) of petite chez scheme. does anybody know more? 14:44:57 rudybot_: ghost rudybot 14:45:00 rudybot_: nick rudybot 14:45:01 -!- rudybot_ is now known as rudybot 14:45:16 *offby1* stares blankly at schoppenhauer 14:45:31 offby1, ? 14:45:41 male_terran [n=Male_Ter@ip98-162-159-132.pn.at.cox.net] has joined #scheme 14:52:08 I just mean "I don't know" 14:55:39 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 15:00:25 -!- mario-goulart [n=user@67.205.85.241] has quit [Remote closed the connection] 15:03:12 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 15:14:40 ejs [n=eugen@31-54-135-95.pool.ukrtel.net] has joined #scheme 15:15:30 -!- qebab [i=finnrobi@gaupe.stud.ntnu.no] has quit [Remote closed the connection] 15:17:46 -!- rcy [n=rcy@d154-20-143-140.bchsia.telus.net] has quit [Read error: 110 (Connection timed out)] 15:25:06 bweaver [n=user@24-247-129-155.dhcp.trcy.mi.charter.com] has joined #scheme 15:27:08 ebzzry [n=ebzzry@124.217.83.66] has joined #scheme 15:29:29 metasyntax [n=taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has joined #scheme 15:34:42 -!- schoppenhauer [n=christop@unaffiliated/schoppenhauer] has quit [Remote closed the connection] 15:34:47 -!- elmex [i=elmex@ist.m8geil.de] has quit [Remote closed the connection] 15:34:51 elmex [i=elmex@ist.m8geil.de] has joined #scheme 15:42:37 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 15:47:14 chandler, lisppaste's web interface is losing! 15:50:45 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Read error: 110 (Connection timed out)] 15:53:08 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 15:54:05 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 16:00:04 -!- cornucopic [n=r00t@202.3.77.134] has quit [Read error: 110 (Connection timed out)] 16:02:15 There needs to be a feature of mail composers like Google mail goggles, but that somehow checks for whether one has attached what one meant to attach (usually, whether one attached anything at all). 16:03:13 What is it losing? 16:03:23 Pastes aren't displaying. 16:03:29 16:03:32 I get a blank page. 16:04:11 Whoops. 16:04:14 works now :p 16:04:14 Fixed. 16:04:18 ha! 16:04:27 fixed between refreshs 16:04:42 There we go. Now you can see some weird Haskell behaviour: . (Intended for a different channel, though.) 16:05:02 -!- thehcdreamer [n=thehcdre@81-174-49-12.dynamic.ngi.it] has quit [] 16:05:49 i think I will save Haskell for when I retire :) 16:07:09 -!- Sveklo1 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has quit ["Leaving..."] 16:10:09 is there library code in PLT that implements a web client (as opposed to e.g. send-url which calls out to an external browser)? 16:10:19 I'm looking for an equivalent to Perl's WWW::Mechanize 16:13:33 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 16:14:09 I believe there's a HTTP client on PLaneT, but I don't know that there's a prefab equivalent to WWW::Mechanize 16:17:04 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 16:18:06 chandler: that might be enough. thanks. 16:30:12 cornucopic [n=r00t@202.3.77.134] has joined #scheme 16:36:00 thehcdreamer [n=thehcdre@93.37.245.66] has joined #scheme 16:36:28 -!- thehcdreamer [n=thehcdre@93.37.245.66] has quit [Client Quit] 16:44:07 -!- mreggen [n=mreggen@cm-84.215.28.167.getinternet.no] has quit ["leaving"] 16:44:56 -!- sstrickl [n=sstrickl@nomad.ccs.neu.edu] has quit [] 16:47:57 jbclements [n=clements@pcp062723pcs.wireless.calpoly.edu] has joined #scheme 16:48:47 mrsolo [n=mrsolo@nat/yahoo/x-bxbutpkmofsmullq] has joined #scheme 16:49:27 -!- jbclements [n=clements@pcp062723pcs.wireless.calpoly.edu] has quit [Client Quit] 16:49:42 jbclements [n=jbclemen@pcp062723pcs.wireless.calpoly.edu] has joined #scheme 16:51:40 -!- weinholt [i=weinholt@debian/emeritus/weinholt] has quit [] 16:51:46 -!- foof [n=user@FLH1Ahz107.osk.mesh.ad.jp] has quit [Read error: 113 (No route to host)] 16:54:04 -!- jbclements [n=jbclemen@pcp062723pcs.wireless.calpoly.edu] has left #scheme 16:58:48 -!- ASau [n=user@83.69.227.19] has quit ["restart"] 16:59:26 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [No route to host] 17:02:41 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 17:04:03 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 17:04:46 mario-goulart [n=user@67.205.85.241] has joined #scheme 17:05:00 rcy [n=rcy@d154-20-183-208.bchsia.telus.net] has joined #scheme 17:06:42 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 17:07:36 ASau [n=user@83.69.227.19] has joined #scheme 17:11:12 chandler: you can always spawn wget - not so elegant, but often effective 17:11:30 dstorrs rather 17:11:40 I don't see why it would be necessary if you have a native HTTP client. Mechanize does a lot more for you than a plain HTTP client, though. 17:13:19 Just a few times over the years I've found wget's little auto crawler and other cool features quite usefull 17:14:36 Yes, but if you need something that *works*, shelling out to another process is usually not the answer. There are too many corner cases to cover, situations where there is an error or partial error that does not get correctly reported, etc. 17:15:31 Unless you're writing bash scripts :-) 17:16:23 If you need something that works, why are you writing shell scripts at all? 17:16:33 -!- Kusanagi [n=Lernaean@unaffiliated/kusanagi] has quit [] 17:17:23 well, quite a few shell scripts make various parts of Unix go, but I do understand your point. 17:17:31 `Hobble along', more like it. 17:19:01 Easier to from and fix than binary code and the Windoze registry :-) 17:19:13 from => "frob" 17:20:21 I think that's a separate point. Fixing a problem in code that has source available is always easier than fixing it when you don't have source, but ideally you don't want to be doing either. 17:20:54 Sure. 17:22:20 And these days, Windows actually has a scripting environment (PowerShell) with actual data types and which uses exceptions for error handling. 17:23:37 Yeah, I gave it an install but never built up the motivation to take a hard look at it 17:30:53 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Read error: 113 (No route to host)] 17:31:20 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 17:31:25 Riastradh: I get an output like "read 0\nread1\n". It might be buffering? 17:31:44 Random Question #243 - Anyone know a really good font for Lisp/Scheme code? For example, courier works pretty nicely, but the backtick character is nearly invisible. I'd like to have a fairly elegant, conservative font but where all the punctuation characters are very distinct and well defined, - oh, and say, from 8pt on up. 17:32:32 jbclements [n=jbclemen@pcp062723pcs.wireless.calpoly.edu] has joined #scheme 17:32:44 Riastradh: ah, the difference was that I did "ghci Lose.hs", if i do "ghci" and then ":l Lose" i see your behaviour too. 17:33:09 Summermute: Try DejaVu Sans Mono. 17:33:13 I see the same behaviour either way, poe. 17:33:19 Summermute: http://dejavu.sourceforge.net/ 17:34:01 chandler: I'm looking now 17:34:14 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 17:34:42 Other options: Consolas (available from Microsoft), Inconsolata (http://www.levien.com/type/myfonts/inconsolata.html), Anonymous Pro (http://www.ms-studio.com/FontSales/anonymouspro.html - despite the URL, it's free) 17:45:04 choas [n=lars@p5B0DC9AA.dip.t-dialin.net] has joined #scheme 17:56:15 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 17:56:51 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 17:57:53 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Read error: 60 (Operation timed out)] 17:57:55 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 17:59:45 mreggen [n=mreggen@cm-84.215.28.167.getinternet.no] has joined #scheme 18:04:40 MrFahrenheit [n=RageOfTh@users-120-30.vinet.ba] has joined #scheme 18:05:51 -!- Summermute [n=scott@68.34.67.216] has quit [Read error: 145 (Connection timed out)] 18:06:26 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 18:06:59 where is parameter documented in r6rs? 18:08:24 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 18:09:19 You mean the general word `parameter'? 18:09:29 dynamically scoped ars 18:09:31 fluid vars 18:09:36 whatever they're called :-) 18:09:37 I don't think they are in the R6RS. 18:10:08 (The use of `parameter' to mean `dynamically scoped frob' was a pretty poor choice of term -- it needlessly leads to confusion like this.) 18:12:18 who chose that term? Kent Dybvig? 18:12:23 I don't know. 18:12:56 It's R. Kent Dybvig, by the way, not just Kent Dybvig -- just to make sure you don't confuse him with a human. 18:15:39 is there a . after R for robots? 18:15:52 *Fare* doesn't remember his Asimov that well. 18:16:04 Kusanagi [n=Lernaean@unaffiliated/kusanagi] has joined #scheme 18:16:16 Yes, there is. 18:16:37 albacker [n=eni@unaffiliated/enyx] has joined #scheme 18:18:12 hmm so make-parameter returns a _closure_ ? 18:18:49 For some reason I want to wonder if I could put a macro in there. 18:19:13 Instead of a macro, how about an egg? 18:19:34 And maybe some scallions and ginger, and perhaps some basil, and a touch of salt & pepper to taste? 18:19:42 That, sir, is a capital idea. 18:20:03 *gnomon* sighs 18:20:12 *gnomon* wishes for offby1's glorious kitchen 18:24:33 Or, alternatively, you could put some cheddar cheese, a few habaneros, a spot of garlic, a smidge of lime juice, and a sprinkling of oregano on it, and a drizzling of olive oil to make sure it doesn't stick together too much. 18:25:44 Unconventional, but tasty. 18:26:06 Actually, no: I'm chopping some celery, garlic, and an onion into a pot, sweating it a little, then adding some parboiled rice and a bunch of chicken broth; and then I'm tipping in a package of frozen dumplings. I'm getting over a pretty bad flu right now and chicken soup strikes me as a good idea. 18:26:46 (that does sound like a good idea, though) 18:27:43 Oh, and for the record: eggs with crumbled feta, fresh shredded basil and black pepper: awesome. 18:27:44 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Remote closed the connection] 18:28:03 (All that goes on pasta, by the way -- nice and ridged pasta, to grab all the melted cheddar cheese, which you have to put on grated as soon as the pasta comes out of the water while it's still hot enough to melt the cheese.) 18:28:15 Uh oh. Flu? Do you have swine flu? Is that transmissible via IRC?! 18:28:21 -!- sepult [n=levgue@xdsl-87-78-73-96.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 18:29:35 Yargh 18:30:04 We'll have to quarantine all of #scheme!! 18:30:25 Everyone who hears about this ailment immediately goes from "flu" to "swine flu". I've had to field a half-dozen phone calls from concerned friends and family members inquiring about my continued existence in the past couple of days. 18:30:32 ...heh. 18:30:49 Bloody hard to croak out "no, I'm not dying, it's just a garden variety miserable flu" when you can barely speak. 18:31:17 Also, I suppose I ought to disenfect my phone, now. 18:33:27 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 18:34:41 -!- mreggen [n=mreggen@cm-84.215.28.167.getinternet.no] has quit ["leaving"] 18:42:44 swine flu is a class C strain anyway, not very virulent from what I've heard 18:45:12 woohoo 3% speed boost due to missed optimization :p 18:59:10 -!- ejs [n=eugen@31-54-135-95.pool.ukrtel.net] has quit [Read error: 60 (Operation timed out)] 18:59:31 You got a speed boost from a missed optimization? Time to start removing all the other optimizations then! 19:01:13 no i found a missed optimization oppertunity, i didnt realize my crappy inliner actually got that far :) 19:03:47 -!- leppie|work [i=52d2e3c8@gateway/web/freenode/x-oyeuztyxvhastivh] has quit [Ping timeout: 180 seconds] 19:07:18 -!- ASau [n=user@83.69.227.19] has quit [Remote closed the connection] 19:07:29 ASau [n=user@83.69.227.34] has joined #scheme 19:15:45 -!- leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has quit [] 19:19:39 -!- cornucopic [n=r00t@202.3.77.134] has quit [Read error: 110 (Connection timed out)] 19:25:21 leppie [n=lolcow@dsl-243-43-194.telkomadsl.co.za] has joined #scheme 19:28:50 patmaddo_ [n=patmaddo@ip68-4-106-170.oc.oc.cox.net] has joined #scheme 19:29:11 the lizorkin sxml package on Planet's link to documentation is broken: does anyone know where I can find the documentation? 19:31:32 lol, after using codeplex for 2 years now, I just only now finured out how to 'save' password, so it does not prompt me everytime :) 19:35:20 -!- patmaddo_ [n=patmaddo@ip68-4-106-170.oc.oc.cox.net] has quit [Read error: 60 (Operation timed out)] 19:35:50 A comment on my message baord for IronScheme (I suspect he is one of my 2/3 actual users) : " 19:35:55 " I found that I am able to do this using these classes in Visual Basic.NET. " 19:36:38 patmaddo_ [n=patmaddo@ip68-111-70-47.oc.oc.cox.net] has joined #scheme 19:37:02 (spicy chicken, noodle, rice and dumpling soup: win) 19:43:31 Mmm 19:46:21 -!- patmaddox [n=patmaddo@85.sub-75-217-204.myvzw.com] has quit [Read error: 110 (Connection timed out)] 19:59:37 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 20:05:45 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 20:15:39 Dawgmatix [n=dawgmati@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 20:17:05 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 20:23:00 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 20:24:50 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 20:39:40 -!- albacker [n=eni@unaffiliated/enyx] has quit ["gjum"] 20:45:04 Summermute [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has joined #scheme 20:50:10 sepult [n=levgue@xdsl-87-78-73-96.netcologne.de] has joined #scheme 21:09:15 peddie_ [n=peddie@c-67-170-201-38.hsd1.ca.comcast.net] has joined #scheme 21:15:06 antoszka_ [n=antoszka@unaffiliated/antoszka] has joined #scheme 21:15:39 -!- antoszka_ [n=antoszka@unaffiliated/antoszka] has quit [Client Quit] 21:16:49 -!- attila_lendvai [n=ati@catv-89-134-66-153.catv.broadband.hu] has quit ["..."] 21:17:31 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 21:17:45 is there a let equiv of parameterize ? 21:18:09 I want to create a scope where a parameter has a given value inside the scope 21:18:15 and not change it's value outside the scope 21:18:47 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 21:20:23 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 21:20:40 lowlycoder: Er, isn't that a lexical? I'm not understanding the motivation here. 21:20:45 i'm stupid 21:20:49 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:20:54 i didn't realize parameterize was already like leet 21:20:57 *let* 21:21:09 please ignore my earlier comment 21:21:11 Yes, but: 21:21:14 rudybot: init r5rs 21:21:14 chandler: your r5rs sandbox is ready 21:21:22 rudybot: (#%require srfi/39) 21:21:23 chandler: eh? Try "rudybot: help". 21:21:27 rudybot: eval (#%require srfi/39) 21:22:11 for naming conventions, if *blah* is for global; is there a naming convention for dynamic vars / parameters ? 21:22:20 rudybot: eval (let* ((p (make-parameter 1)) (f (lambda () (p)))) (parameterize ((p 2)) (f))) 21:22:20 chandler: ; Value: 2 21:22:56 lowlycoder: Perhaps earlier you meant "extent" and not "scope"; this shows how within the scope of the `parameterize', the parameter `p' has the value 2 even for uses of that parameter not occuring within that scope. 21:23:26 chandler: I want to agree with you; but I don't know how extent and scope differ 21:23:50 -!- peddie [n=peddie@c-67-170-201-38.hsd1.ca.comcast.net] has quit [Read error: 110 (Connection timed out)] 21:24:07 The extent of the `parameterize' form covers the execution of all of the body forms; the scope covers just lexical body. 21:24:47 scope determined at compile time; extent at runtime then right? 21:24:57 Yes. 21:25:26 Sometimes one says `dynamic scope' versus `lexical scope' or `static scope', but usually it's clearer to use the terms `lexical scope' and `dynamic extent', which are then abbreviated to omit their qualifiers. 21:25:56 nice; thanks. 21:26:21 -!- mdg [n=miles@unaffiliated/mgroman] has quit ["leaving"] 21:26:34 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 21:26:59 Riastradh: what's the convention for naming paramters? i.e. *blah* for globals ... what to denote "hey, this is a parameter, watch out" 21:27:16 (Usually, `dynamic scope' is used as a mass noun to refer to the concept, not as a count noun to refer to a particular dynamic extent; whereas `dynamic extent' is the opposite: used as a count noun to refer to a particular one. `Dynamic extent' also is sometimes applied to objects, as in `this object has dynamic extent', meaning that the object exists only for the duration of a dynamic extent.) 21:27:43 There is no general naming convention. I usually use asterisks. Sometimes they will begin with `CURRENT-' (e.g., CURRENT-INPUT-PORT is often a parameter). 21:29:13 -!- choas [n=lars@p5B0DC9AA.dip.t-dialin.net] has quit ["leaving"] 21:32:01 Why in PLT Scheme is r6rs:current-output-port not the same as scheme:current-output-port and not a parameter? 21:32:21 Probably to expose portability mistakes in R6RS code. 21:33:15 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 21:34:49 -!- hotblack23 [n=jh@p5B0549C4.dip.t-dialin.net] has quit ["Leaving."] 21:35:00 -!- jbclements [n=jbclemen@pcp062723pcs.wireless.calpoly.edu] has left #scheme 21:35:20 at the same time, you have to import (stuff from) the r6rs port library to get make-custom-output-port 21:35:45 That's true in any implementation of the R6RS, isn't it? 21:36:22 a lot of scheme libraries just SCREAM for some good object system, abstract data type, etc. 21:36:51 Riastradh, maybe, but if I plainly (import ...) then current-output-port is masked and parameterize fails. 21:37:13 Yes...because CURRENT-OUTPUT-PORT is just a nullary procedure in the R6RS. 21:37:26 Lemurian [n=lemurian@unaffiliated/lemurian] has joined #scheme 21:37:55 The R6RS doesn't say what PARAMETRIZE is, let alone what happens when you try to use it with CURRENT-OUTPUT-PORT. By signalling an error when you do that, PLT Scheme lets you know when you have written non-portable code. 21:38:36 in many cases, PLT libraries are just thrown together with much overall design, so the functions you look for are there hidden, but hard to find, with no coherent name, no systematic order of arguments, lacking genericity, etc. 21:39:00 (`without much'?) 21:39:13 Riastradh, I agree - and by not providing make-custom-output-port in its scheme language it makes your life a pain. 21:39:30 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Remote closed the connection] 21:40:18 I believe PLT Scheme has its own way to construct custom output ports that predated the R6RS and that is more flexible in some very important ways. 21:40:37 Lemurian_ [n=lemurian@unaffiliated/lemurian] has joined #scheme 21:41:25 (I won't defend the PLT libraries overall -- but in this case, I think what PLT does is justified; at least, it's what I'd expect.) 21:41:58 -!- rickardg [n=user@c-4e7271d5.027-77-6c756e10.cust.bredbandsbolaget.se] has quit [Read error: 110 (Connection timed out)] 21:41:59 oh. Well that just means I suck at searching their docs database. 21:42:00 if I'm initializing a stack with (stack 1 2 3 4) should 1 or 4 be on top. why? 21:42:12 i'm thinking 1, since (list 1 2 3 4) would be 4 right before nil 21:42:19 lowlycoder, where is that "stack" from ? 21:42:26 i'm implementing it myslf 21:42:35 then you ask yourself 21:42:43 but i'm trying to figure out convention 21:42:56 like if I implement my-cons, (define (my-cons a b) (cons b a)) would be a bad idea 21:43:17 the convention is to not use your-cons but cons 21:43:53 -!- Lemurian_ [n=lemurian@unaffiliated/lemurian] has quit [Client Quit] 21:44:16 Fare: what library gave you that bad an impression of PLT library design? 21:44:33 bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 21:45:10 dmoerner [n=dmr@89-151.res.pomona.edu] has joined #scheme 21:45:25 samth: not "bad" design. More like total lack of syntactic design in terms of function names or order of arguments. 21:45:49 Fare, I didn't search; I just used the tables of contents: 21:45:59 all the while good stuff as far as the general semantics of stuff goes 21:46:12 which library are you thinking of, though? 21:46:27 Narrenschiff_ [n=ritchie@xolotl.plus.com] has joined #scheme 21:47:33 I've not done much -- some filesystem access, web server stuff, string manipulation, iteration libraries, etc. 21:47:56 i'm just looking for specific examples 21:48:04 where we could perhaps improve things 21:48:35 something stupid: add-between 21:49:08 in perl, python, etc., the thing you add between, that is short, comes as first element, which gives you immediate information 21:49:33 in PLT it's the second, lost after plenty of code, so you have to peek around to understand the intent of the form. 21:49:42 it's stupid 21:49:52 but a tiny waste of time 21:50:01 I don't know what ADD-BETWEEN does, but it is fairly common for the aggregate datum on which an operation operates to be the first argument of the operation. 21:50:02 than compounds with plenty other wastes of time. 21:50:27 the semantics is fine as such -- but a syntactic detail makes it a pain. 21:51:06 Consider, e.g., VECTOR-SET!, LIST-REF, &c. 21:51:12 i think this is a case where the convention in many scheme libraries (the compound data goes first, as in srfi 1) disagrees with many other languages 21:51:39 functions that beg to be written with keyword arguments are not (probably because they predate keyword arguments) -- like make-input-port 21:51:41 schoppenhauer [n=christop@unaffiliated/schoppenhauer] has joined #scheme 21:52:37 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [Read error: 110 (Connection timed out)] 21:52:37 -!- Narrenschiff_ is now known as Narrenschiff 21:52:41 because people are shy to depend on an object system, everything is monomorphic, which is a pain -- and names are not coherent between types 21:52:41 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 21:53:50 Let me know when you have an `object system' that solves all the problems that everyone expects such a beast to solve. 21:53:55 and once it's written, it's too late to change it and be incompatible. 21:53:57 (whatever an `object system' is) 21:54:27 Riastradh, so because you don't have a 100% solution, you advocate a 0% solution? 21:55:17 Riastradh, could use Haskell type classes for all I want. Or the PLT unit system, or whatever -- doesn't have to be "object" -- has to allow to write code that's both modular and extensible. 21:55:30 I'm not advocating anything here. But it's a lot easier to have no principled system than to spend a lot of time making one that makes everyone happy. 21:56:17 there's a balance to strike somewhere. I'm just saying that the decision to spend no time at all trying to make people happy has consequences. 21:56:42 Well, conversely, spending time making some people happy is likely to make some other people just as unhappy as the first ones were happy. 21:57:21 yes. Demanding consensus and having one standard every 20 years, the CL way, isn't conducive to happiness either. 21:57:25 there are plenty of places where PLT uses an object system 21:57:38 just not as many as you seem to think they should 21:57:48 samth: probably. 21:59:53 -!- mario-goulart [n=user@67.205.85.241] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:00:12 samth: it's just a downside I see, coming from the CL or OCaml world. There's so many different competing infrastructures that there is no coherent story in PLT. But at least with PLT these competing stories coexist and cooperate happily -- which is a feat greater than most appreciate. 22:00:49 certainly some of the things that use units wouldn't, if we wrote them today 22:00:54 if that's the sort of thing you mean 22:01:47 samth: I find units under-used in datastructure libraries. 22:02:11 or would you use something else than units for that? 22:02:20 sadly, we don't have very many data structure libraries to use them in 22:02:39 that too 22:03:38 maybe there should be some systematic port of ML or Haskell libraries to PLT as exercises to second year students or some such. 22:04:00 yes, that would be useful 22:04:42 (btw, is Olin's loop language released as a PLT module or as anything?) 22:05:18 (he has such a compelling story, but where's the code?) 22:05:31 (His code is probably for Scheme48.) 22:05:38 (Why don't you ask him?) 22:05:45 I did once. Will do again. 22:06:24 afaik, olin's loop language is written in xrename, and scsh, and unrelesed 22:06:45 -!- alaricsp [n=alaricsp@79.135.115.242] has quit ["Leaving."] 22:08:22 If you don't need a general control flow graph, by the way, Fare, or you do need a recursive construct, you might consider using in the mean time. 22:13:09 arcfide [i=1000@140-182-146-200.dhcp-bl.indiana.edu] has joined #scheme 22:14:37 Riastradh, how many astute readers do you have? 22:19:26 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 22:19:38 arcfide, ugh! Please detabify. Also, you don't need to preserve the copyright notice for the definitions of COMPOSE-NULLARY and COMPOSE-UNARY. 22:21:12 arcfide, did you have a reason for not preserving the convention of naming system-specific files by prefixing to them a short name for the system and a hyphen? E.g., r6rs-channel.scm (or r6rs-channel.sls), chez-locked-record.scm, &c. Using a mix of conventions makes it harder to see the organization of the code, and to guess what purpose each file serves. 22:24:10 one gripe about loops, etc.: they are seldom extensible in a way that allows for bindings from arbitrary macro-defined forms to execute as part of the binding chain. 22:24:29 e.g. let-values, match, etc. 22:25:16 cl:loop has its own variant of destructuring-bind builtin, for instance, but if you need more, it sucks. 22:26:02 cl:loop also can't intersperse bindings and computations 22:26:39 looks like neither can foof-loop though the named continue is cool. 22:26:49 Riastradh, did you design it all by yourself? 22:27:03 Not all by myself. Much of the design was inspired by foof, hence the name. 22:27:31 Fare: olin's loop package is extensible 22:27:36 or so he claims 22:27:48 I put it together in a somewhat more coherent framework, though, and designed the built-in iterators more carefully. I also implemented . 22:29:30 And I made the implementation much more robust. 22:30:58 arcfide, BASE-RENDEZVOUS is not to be exported by the rendezvous library. 22:32:43 arcfide, WITH-SUSPENSION-CLAIMED and MAYBE-RESUME belong in their own group, or with BASE-RENDEZVOUS, not with the primitive rendezvous interface. 22:33:01 what's the relationship between foof-loop and nested-foof-loop ? 22:33:12 Nested-foof-loop is a library implemented atop foof-loop. 22:34:29 There is currently no documentation for nested-foof-loop (beyond the aborted, and perhaps now outdated (I don't remember), attempt at ), but it is essentially my answer to SRFI 42 Eager Comprehensions, built using foof-loop. 22:34:41 Lower bounds are inclusive. Upper bounds are exclusive. => gah, couldn't he have imported below and above from CL??? 22:34:54 No. 22:35:01 I made that design decision very intentionally. 22:35:06 why? 22:35:34 It is too easy to screw up if you give several options like above and below and from and downto and so on. 22:36:23 There is a single convention. If you need something unconventional, you need to describe what you intend precisely. 22:36:42 "It is too easy to screw up if you give several options" ==> not a very scheme-like design statement. 22:37:08 anyway 22:37:52 I don't know what makes a design statement Scheme-like, but foof-loop doesn't inhibit you from expressing what you need -- it just identifies a single default convention and standardizes on it, requiring you to make it clear whenever you deviate from that convention. 22:42:19 arcfide, your DEFINE-LOCKED-RECORD-TYPE is probably buggy in several Scheme systems, of which it would not surprise me if Chez were one -- try using it multiple times in one library, or with a field named MUTEX. See mit-mutex-syntax.scm for an example of how to avoid it. 22:43:01 arcfide, what is the (srfi private include) library? 22:44:42 Riastradh: It'll take me a moment, ...just slightly busy right now. 22:44:57 Let me know if you'd rather that I accumulate these comments in email. 22:45:06 This is fine. 22:46:20 how do you define custom iterators? 22:46:51 That's documented toward the bottom of foof-loop.txt, Fare. 22:50:08 Firstly, sorry about the tabbing. I forgot to switch them out. 22:51:47 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 113 (No route to host)] 22:51:53 -!- masm [n=masm@bl7-192-76.dsl.telepac.pt] has quit ["Leaving."] 22:52:05 Riastradh, the macros called with plenty of arguments... smell like they should themselves have been written as part of a loop with a (continue (=> blah bloh) ...) clause... 22:52:05 Riastradh: As for the naming, yes, I did have a reason. 22:52:07 masm [n=masm@bl7-192-76.dsl.telepac.pt] has joined #scheme 22:52:31 (not that syntax-rules allows that) 22:52:51 Using the naming convention you are using makes it difficult to have both convenient library names and library loading in most R6RS systems. 22:53:14 Usually, importing (library x y z) will be searched in the paths for something like "library/x/y/z.sls". 22:53:33 And if you use system specific libraries, the usual convention is to have name.impl.sls. 22:54:18 So, with the names I have right now, importing (riastradh scheme-cml rendezvous) is a matter of just mentioning it as an import. If I change the name the users must ensure that the library has been loaded before loading a library that imports it. 22:54:45 meme [n=meme@c-76-104-20-221.hsd1.va.comcast.net] has joined #scheme 22:55:07 hey new to scheme 22:55:23 was wondering what the purpose of the begin exp is? 22:55:37 The (srfi private include) library is a library found in the portable R6RS libraries project that has all the SRFIs in it. They have a convenient 'include/resolve' macro that I use in the code. 22:56:15 I use that library because I presume that it has a reasonable level of portability. 22:56:34 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:58:45 please help?? 22:59:28 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 22:59:31 Riastradh: as for 'maybe-resume' and 'with-suspension-claimed', I found them in primitive.scm, so I exported them from there. 22:59:52 r5rs begin 22:59:53 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-7.html#%_idx_136 22:59:54 -rudybot:#scheme- http://tinyurl.com/w4m4a 23:00:00 there you go meme 23:00:03 meme: The 'begin' form expresses sequential evaluation. 23:02:56 does (do ((num num (- num 1))) 23:03:24 mean what I think it means? in this scope, create a new var "num", bind it to the value of the parent scope's num, and decrement it by 1 on every iteration? 23:04:41 can u provide examples of begin 23:04:47 (begin) 23:05:18 -!- MrFahrenheit [n=RageOfTh@users-120-30.vinet.ba] has quit [Read error: 60 (Operation timed out)] 23:06:33 if i understand correctly begin expression is used to evaluate expression but ignores values of expressions except for the last one 23:07:07 but wat is the point/logic of doing so? 23:07:22 (if (cond) ..p1.. ..p2..) 23:07:30 what if each of p1/p2 is more than one expression? 23:08:25 could u elaborate further 23:08:47 if x = 0, (set! x 2) (set! y 3) 23:08:49 how do you write that? 23:09:09 meme, if you were running several procedures primarily because of the way they affect the environment - side effects, that is - instead of the values that they return, BEGIN would let you group together a sequence of such operations. 23:11:39 gnomon: what is an example of why i would want to effect the enviornment? 23:12:51 for a function that only takes a finite # of args 23:12:59 -!- samth [n=samth@nomad.ccs.neu.edu] has quit [Read error: 113 (No route to host)] 23:13:06 given a function that only takes a finite # of args; is there a way to query it to get how many args it takes? 23:13:44 "If a condition is true, open a network port, log into a database, and modify a value in a table somewhere, then hand off flow control to a procedure which verifies that the operation succeeded before removing the task from a queue of other such jobs". 23:14:54 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Read error: 113 (No route to host)] 23:18:17 reprore_ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 23:20:33 lowlycoder: that's implementation dependent, at least until SRFI 102 is done 23:21:20 I'm curious why you want that information 23:23:23 foof [n=user@FLH1Ahz107.osk.mesh.ad.jp] has joined #scheme 23:25:54 Fare: to further kill your argument re `add-between': it is based on `string-join' from srfi-13 -- which is defined as: (string-join string-list [delimiter grammar]) 23:26:21 Fare: And yes, `list-join' was thoroughly considered. 23:27:02 (`add-between' is not really the list equivalent of `string-join' being the main point in that discussion.) 23:27:08 srfi's are not great examples of good design. 23:27:25 p1dzkl: is there really a srfi 102? 23:27:39 at least, it's not php. 23:28:06 (the prototypical antidesign from "irresponsible programming") 23:28:26 Fare: ?? You first have criticism for not following r6rs's name & protocol for custom ports, and then you criticise another bit for following srfi-13 (and as previously said -- lots of popular Scheme functions)? 23:29:24 lowlycoder: there is a draft for it at http://srfi.schemers.org/srfi-102/srfi-102.html 23:29:26 eli: nah, I had just missed the PLT builtin custom ports - for them, my only criticism is that the interface would retrospectively be so much better with keywords) 23:29:47 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 23:29:57 p1dzkl: i'm implementing a weird way of passing args 23:30:09 Fare: Yes, it would, and it will probably be done in the future -- possibly under a different name to avoid breaking code. 23:30:11 which brings the question: would/should there be a systematic general API redesign in a different namespace for all these things? 23:30:55 -!- ve [n=a@94-193-95-252.zone7.bethere.co.uk] has quit ["leaving"] 23:31:09 Fare: In both cases you have two examples of things that were made very carefully -- not at all some lack of global design. 23:31:36 jedc [n=jedc@c-67-171-246-227.hsd1.or.comcast.net] has joined #scheme 23:32:51 -!- meme [n=meme@c-76-104-20-221.hsd1.va.comcast.net] has quit [] 23:33:43 arcfide: does chez fully support R6RS? 23:34:02 mmmulani [n=mmmulani@taurine.csclub.uwaterloo.ca] has joined #scheme 23:34:10 how do you enter negative numbers into a program? 23:34:17 other than (- 0 a), of course 23:34:40 As you'd expect to? What isn't working? 23:34:50 rudybot: eval -5 23:34:50 chandler: ; Value: -5 23:35:09 oh, I tried (-5) 23:35:16 I thought it would interpret - as the function 23:35:58 ouu thanks 23:36:13 rudybot: eval (- 5) 23:36:13 p1dzkl: your r5rs sandbox is ready 23:36:13 p1dzkl: ; Value: -5 23:36:17 works too :0 23:36:20 :) 23:36:35 rudybot: eval (-5) 23:36:36 rotty: your sandbox is ready 23:36:36 rotty: error: procedure application: expected procedure, given: -5 (no arguments) 23:36:40 rotty: yes, in the prerelease 7.9.3. 23:38:49 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 23:39:52 rudybot: eval (-5) 23:39:52 chandler: ; Value: -5 23:41:03 -!- mmmulani [n=mmmulani@taurine.csclub.uwaterloo.ca] has left #scheme 23:41:03 chandler: what have you done to poor rudybot? :o> 23:41:47 -!- reprore_ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 23:43:24 meme [n=meme@137.54.9.206] has joined #scheme 23:45:41 *chandler* whistles innocently 23:46:33 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 23:48:16 It's simple to do: (define-syntax-rule (#%app x ...) (values x ...)) 23:49:01 reprore_ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 23:53:13 rudybot: init http://tmp.barzilay.org/x.scm 23:53:14 eli: your "http://tmp.barzilay.org/x.scm" sandbox is ready 23:53:22 rudybot: eval (+ 1 2) 23:53:22 eli: error: eval:1:0: compile: bad syntax; function application is not allowed, because no #%app syntax transformer is bound in: (+ 1 2) 23:54:19 rudybot: init http://tmp.barzilay.org/x.scm 23:54:20 eli: your "http://tmp.barzilay.org/x.scm" sandbox is ready 23:54:20 -!- jrtayloriv [n=jrt4@cpe-69-205-162-163.stny.res.rr.com] has quit [Connection timed out] 23:54:29 jrtayloriv [n=jrt4@cpe-24-24-93-226.stny.res.rr.com] has joined #scheme 23:54:34 rudybot: init scheme 23:54:35 eli: your scheme sandbox is ready 23:54:59 rudybot: eval (module foo scheme (provide (except-out (all-from-out scheme) #%app) (rename-out [app #%app])) (define-syntax (app stx) (syntax-case stx () [(_ x ...) (case (syntax-property stx 'paren-shape) [(#\[) #'(list x ...)] [(#\{) #'(lambda () x ...)] [else #'(#%app x ...)])]))) 23:55:05 rudybot: eval (+ 1 2) 23:55:05 eli: ; Value: 3 23:55:09 rudybot: eval [+ 1 2] 23:55:10 eli: ; Value: 3 23:55:14 rudybot: eval {[+ 1 2]} 23:55:15 eli: error: procedure application: expected procedure, given: 3 (no arguments) 23:55:42 Something wrong with the sandbox reader, probably. 23:58:08 Sorry, my internet got cut off there. Did anyone answer my '#;' question? 23:58:30 I think your internet got cut off before you asked it. 23:59:25 chandler, Indeed :) -- I just found a up-to-date IRC log, and saw that. One moment. 23:59:27 What does #; do? I'm unable to find it in r5rs or "The Scheme Programming Language", but in this --> http://mumble.net/~campbell/scheme/scm-syntax.text <-- there is a rule that looks has * "#;" * in it ...