00:00:17 good luck 00:06:07 <`sorrow-studinig> fortunately is database the scheme programming assignement is finish :D 00:11:18 luz [n=davids@189.60.54.152] has joined #scheme 00:12:03 ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has joined #scheme 00:13:56 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 00:13:56 -!- Dezlagrate [n=Dezlagra@unaffiliated/dezlagrate] has quit ["Leaving"] 00:19:09 -!- vixey [n=yoo@amcant.demon.co.uk] has quit [Connection timed out] 00:21:03 davidad [n=me@dhcp-18-111-16-64.dyn.mit.edu] has joined #scheme 00:22:10 -!- `sorrow-studinig is now known as `sorrow` 00:25:10 -!- Adrinael [n=adrinael@barrel.rolli.org] has quit [Read error: 60 (Operation timed out)] 00:25:14 Adrinael [n=adrinael@barrel.rolli.org] has joined #scheme 00:25:51 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Remote closed the connection] 00:26:01 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 00:26:15 rdd` [n=rdd@c83-250-154-52.bredband.comhem.se] has joined #scheme 00:26:31 -!- levi [n=user@levi.dsl.xmission.com] has quit [Remote closed the connection] 00:26:33 levi [n=user@levi.dsl.xmission.com] has joined #scheme 00:28:11 Modius_ [n=Modius@adsl-67-67-197-13.dsl.austtx.swbell.net] has joined #scheme 00:28:19 Riastradh: do you ever use foof-loop to iterate over all of the different types of objects? 00:28:27 -!- neilv [n=user@dsl092-071-030.bos1.dsl.speakeasy.net] has quit [Read error: 110 (Connection timed out)] 00:28:51 http://www.youtube.com/watch?v=jh8Unxua1qY 00:29:02 Riastradh: like (define (in-object object) (cond ((list? object) (in-list object)) (vector? object) (in-vector object) ... 00:29:04 * sorry wrong room :( 00:29:25 so I can write procedures which use foof-loop and take various types of inputs to iterate over 00:29:26 -!- rdd [n=user@c83-250-154-52.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 00:30:50 -!- Modius [n=Modius@99.179.101.167] has quit [Read error: 145 (Connection timed out)] 00:31:13 how can you print out a structure such that you can use the output to generate the struct in scheme? 00:31:19 -!- ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has quit [Read error: 104 (Connection reset by peer)] 00:32:51 bombshelter13 [n=bombshel@209-161-235-227.dsl.look.ca] has joined #scheme 00:35:35 arcfide, SLIB introduces its own notion of `modules', `macros', loader, evaluator, and REPL. 00:36:50 ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has joined #scheme 00:37:00 -!- ttmrichter__ [n=ttmricht@221.235.62.114] has quit [Read error: 60 (Operation timed out)] 00:37:26 geckosenator, IN-OBJECT is wrong. You must specify how you want the object to be treated, and it must be clear how each type of object potentially in question should be treated that way. 00:38:09 Modius__ [n=Modius@adsl-67-67-197-13.dsl.austtx.swbell.net] has joined #scheme 00:40:04 geckosenator, perhaps you are looking for something like , with a trivial example of its use in generic-examples.scm. This was an experiment that never came to fruition. 00:40:07 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 00:41:52 (The other example in that file is of .) 00:42:45 *Riastradh* vanishes. 00:43:08 -!- `sorrow` [n=kvirc@92.4.210.217] has quit ["good night to all !!!"] 00:44:06 I'm pretty sure you can do it with procedures if in-list returns a procedure 00:44:18 and in-list would be a procedure 00:48:43 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 00:55:16 -!- Modius_ [n=Modius@adsl-67-67-197-13.dsl.austtx.swbell.net] has quit [Read error: 110 (Connection timed out)] 00:57:59 -!- wingo-tp [n=wingo@92.Red-83-37-99.dynamicIP.rima-tde.net] has quit [Read error: 60 (Operation timed out)] 01:03:37 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 01:10:49 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 01:11:05 -!- RageOfThou [n=RageOfTh@92.36.213.94] has quit [Read error: 110 (Connection timed out)] 01:12:18 meanburrito920_ [n=John@adsl-76-195-144-101.dsl.lsan03.sbcglobal.net] has joined #scheme 01:15:45 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 01:16:37 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [] 01:17:39 hadronzoo [n=hadronzo@gateway.publicvpn.net] has joined #scheme 01:19:22 -!- acowley_ [n=acowley@pool-71-168-135-53.cmdnnj.east.verizon.net] has quit [] 01:21:45 -!- orgy` [n=ratm_@pD9FFF004.dip.t-dialin.net] has quit [Read error: 101 (Network is unreachable)] 01:22:06 orgy` [n=ratm_@pD9FFF310.dip.t-dialin.net] has joined #scheme 01:24:08 tripwyre [n=sathya@117.193.162.230] has joined #scheme 01:26:10 -!- mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 01:29:25 mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 01:30:08 Pb_ [n=Pb@75.139.140.101] has joined #scheme 01:32:30 -!- underspecified [n=eric@softbank220043052007.bbtec.net] has quit [] 01:32:42 -!- kniu [n=kniu@CMU-326478.WV.CC.CMU.EDU] has quit ["Leaving"] 01:32:42 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Read error: 104 (Connection reset by peer)] 01:32:57 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 01:33:35 kniu [n=kniu@CMU-326478.WV.CC.CMU.EDU] has joined #scheme 01:45:13 benny [n=benny@i577A02FC.versanet.de] has joined #scheme 01:46:11 -!- Pb_ [n=Pb@75.139.140.101] has quit ["Leaving"] 01:53:05 grettke [n=grettke@CPE-65-31-142-107.wi.res.rr.com] has joined #scheme 01:54:01 -!- grettke [n=grettke@CPE-65-31-142-107.wi.res.rr.com] has quit [Client Quit] 02:00:11 -!- benny` [n=benny@i577A04A5.versanet.de] has quit [Read error: 113 (No route to host)] 02:02:52 -!- [[mark]] [n=mark@unaffiliated/mark/x-957811] has quit [Remote closed the connection] 02:08:59 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 54 (Connection reset by peer)] 02:09:11 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 02:16:20 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 02:16:38 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 02:24:19 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 02:24:22 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 02:24:23 -!- jberg [n=johan@229.84-48-210.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 02:27:34 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 02:28:47 annodomini_ [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 02:30:03 geckosenator, generic.scm codifies the `procedure' (really, the collection of procedures) that you mentioned. 02:36:29 ttmrichter [n=ttmricht@58.49.18.17] has joined #scheme 02:37:08 -!- orgy` [n=ratm_@pD9FFF310.dip.t-dialin.net] has quit [Remote closed the connection] 02:38:13 As you can see, usefully codifying even three particular idioms (of collections (multisets), of sequences (collections indexed by natural numbers), and associations (collections indexed by arbitrary keys)) requires considerable overhead. Some of the overhead is wrong, which is why this remained an experiment -- the destructive updates, for example, are misplaced. 02:44:56 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 02:45:18 -!- davidad [n=me@dhcp-18-111-16-64.dyn.mit.edu] has quit [Read error: 110 (Connection timed out)] 02:48:14 bweaver [n=user@c-67-161-236-94.hsd1.tn.comcast.net] has joined #scheme 02:48:51 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 02:49:26 -!- ttmrichter [n=ttmricht@58.49.18.17] has quit [Read error: 145 (Connection timed out)] 02:50:53 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 02:54:02 ttmrichter [n=ttmricht@58.49.18.55] has joined #scheme 02:54:05 jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has joined #scheme 03:01:52 incubot: spaetcrack, like the german spaetwerk, refers to any diet crack after nine post meridiem 03:01:56 there's an interesting article in this month's Discover about eskimo's diet 03:02:56 jonrafkind [n=jon@c-66-30-14-230.hsd1.ma.comcast.net] has joined #scheme 03:12:14 incubot: Expedition leader Jorn Harald Hurum, from the University of Oslo's Natural History Museum, said "The Monster" would have been big enough to chomp on a small car. 03:12:17 naaa... The University of Oslo had lectures on Scheme 4 years ago, every term for I don't know how many years... Guess that 30-50 student passed the exam each term (twice a year that is) 03:17:21 -!- bombshelter13 [n=bombshel@209-161-235-227.dsl.look.ca] has quit ["If only your veins were filled with oil, the world would rush to your rescue!"] 03:18:52 -!- LobsterMan_AFK is now known as LobsterMan 03:22:27 -!- hadronzoo [n=hadronzo@gateway.publicvpn.net] has quit [Read error: 110 (Connection timed out)] 03:28:12 -!- a-s [n=user@92.80.114.159] has quit [Read error: 104 (Connection reset by peer)] 03:28:18 -!- timchen119 is now known as nasloc__ 03:36:30 sepult [n=buggarag@xdsl-87-78-145-58.netcologne.de] has joined #scheme 03:37:26 -!- bweaver [n=user@c-67-161-236-94.hsd1.tn.comcast.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 03:40:51 -!- kniu [n=kniu@CMU-326478.WV.CC.CMU.EDU] has quit [Remote closed the connection] 03:43:51 -!- gweiqi [n=greg@69.120.126.163] has quit ["Leaving."] 03:49:21 -!- jonrafkind [n=jon@c-66-30-14-230.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 03:54:45 acowley [n=acowley@pool-71-168-135-53.cmdnnj.east.verizon.net] has joined #scheme 03:57:26 -!- acowley [n=acowley@pool-71-168-135-53.cmdnnj.east.verizon.net] has quit [Client Quit] 03:59:08 -!- mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 03:59:27 hadronzoo [n=hadronzo@ppp-70-250-190-120.dsl.rcsntx.swbell.net] has joined #scheme 04:01:59 What should I call a macro which simply concatenates literal strings? 04:02:10 Right now I am being cute and calling it 'strap'. 04:02:16 syntax-string-append 04:02:29 ... 04:02:43 Something which I would want to use. 04:02:55 You actually need to call this often? 04:03:57 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 04:04:00 It is only to break up really long literal strings so they don't flow my lines over 80 chars. 04:06:38 Most compilers will constant fold a normal `string-append', and if you need the strings inside some other literal you can use quasiquote. 04:08:03 I just checked, and Chicken eliminates the string-append. 04:08:40 I guess that is less obvious to the reader but good enough. 04:09:30 the reader shouldn't be worried about when things happen if it doesn't change the meaning of the code 04:09:34 -!- luz [n=davids@189.60.54.152] has quit ["Client exiting"] 04:09:37 Is it less obvious? To someone who knows Scheme well it would be a lot easier to read than some new macro called `strap'. 04:10:18 That is why I was asking for a more obvious name. 04:12:40 Any name at all would be less obvious than existing Scheme procedures :) 04:13:14 *foof* mumbles something about cancer of the semi-colon 04:13:52 When I see string-append I think, this seems wasteful to do this operation at runtime. Only if I know this is being compiled, along with the compiler details, am I sure the author did that deliberately. 04:14:04 Or if the author marks it explicitly with syntax. 04:14:24 Do you think the same when people use huge chains of arithmetic operations in nested #define macros? 04:14:30 (in C) 04:15:13 -!- raikov [n=igr@203.181.243.11] has quit [Remote closed the connection] 04:16:56 Daemmerung [n=goetter@1133sae.mazama.net] has joined #scheme 04:17:07 -!- hadronzoo [n=hadronzo@ppp-70-250-190-120.dsl.rcsntx.swbell.net] has quit [] 04:17:42 jonrafkind [n=jon@pool-71-243-21-118.bos.east.verizon.net] has joined #scheme 04:17:47 hadronzoo [n=hadronzo@ppp-70-250-190-120.dsl.rcsntx.swbell.net] has joined #scheme 04:17:59 C is always compiled, eliminating that issue. Second, since those huge chains will be inserted verbatim for every token, I do not see how that is relevant. 04:20:15 -!- forcer [n=forcer@e179199048.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 04:20:31 Well ,the fact that they use #define is irrelevant, I just mention that because it tends to produce much larger constant arithmetic expressions than tend to be written manually. 04:21:07 But it's considered very poor style in C to manually fold those expressions, because it hurts readability and because the compiler will do it for you anyway. 04:22:05 The same applies to Scheme. If the Scheme compiler isn't going to do such a simple task as fold constants for you, then you can forget about it giving you acceptable speed for anything at all. 04:22:22 trivial efficiency concerns that can be handled by an SSC don't belong in the code 04:22:24 -!- meanburrito920_ [n=John@adsl-76-195-144-101.dsl.lsan03.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 04:23:27 Please cite a SSC that performs this particular SS-ness. I don't know of one. 04:24:13 (Which Scheme compilers constant-fold STRING-APPEND?) 04:24:18 (Right.) 04:24:55 Does LIAR? 04:25:12 According to foof, Chicken does. 04:25:30 Well, golly. I don't believe Gambit does. 04:25:30 Yeah, that's what I was wondering... Chicken does, Gauche doesn't, my compiler does... 04:25:51 My question is though, string-append is supposed to return a newly-allocated string, which should be mutable, unlike a string literal. 04:27:03 hmmm 04:27:19 That's a problem if your strings are mutable :) 04:27:35 And I guess a bug in Chicken? 04:27:39 All I want is syntax for a -string literal- which keeps my lines under 80 chars. That would also be usable in an interpreter, no need for an optimizing compiler. 04:28:22 Once upon a time I had a sharp-doublequote syntax for that. Never implemented it, though. 04:28:26 For example Chicken has #< Obviously it breaks paredit as well 04:31:00 Maybe STRING-LITERAL would be an acceptable name 04:31:26 LIAR does not. 04:31:40 Just curious. Thanks, Riastradh. 04:32:01 Moreover, what good would constant-folding STRING-APPEND do? 04:33:26 foof, any updates on your subprocess SRFI? (Have I been too belligerent about Unix robustness and gritty details to be cc'd?) 04:36:22 I find your lack of fstat disturbing. 04:36:49 Uh, I mean, I can only stat a file by its name in plt I think. 04:36:50 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 04:37:27 *zbigniew* decides on string-literal; it works exactly as I want 04:37:40 noo wait 04:38:04 (file-position port eof) -> the file size w/out file-size 04:38:19 Two extra seeks is a lot better than opening it twice. 04:38:37 -!- MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has quit [Remote closed the connection] 04:39:15 aw shoot but now I need the modified time. 04:40:32 meh maybe I could do it with URL rewriting 04:40:41 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 04:43:28 meanburrito920_ [n=John@76.222.111.2] has joined #scheme 04:44:40 -!- meanburrito920_ [n=John@76.222.111.2] has quit [Client Quit] 04:44:51 meanburrito920_ [n=John@76.222.111.2] has joined #scheme 05:06:25 MichaelRaskin_ [n=raskin@213.171.48.239] has joined #scheme 05:11:18 SugarGlider [n=stevie@220.245.104.218] has joined #scheme 05:22:35 geckosenator [n=sean@71.237.94.78] has joined #scheme 05:31:17 hadronzoo_ [n=hadronzo@ppp-70-247-161-14.dsl.rcsntx.swbell.net] has joined #scheme 05:45:34 -!- arcfide [n=arcfide@h-68-166-253-221.chcgilgm.dynamic.covad.net] has quit [Read error: 145 (Connection timed out)] 05:45:38 -!- hadronzoo [n=hadronzo@ppp-70-250-190-120.dsl.rcsntx.swbell.net] has quit [Read error: 110 (Connection timed out)] 05:48:57 -!- LobsterMan is now known as LobsterMan_AFK 06:02:28 -!- LobsterMan_AFK is now known as LobsterMan 06:10:53 -!- jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has quit [Read error: 113 (No route to host)] 06:27:51 -!- kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 06:31:16 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [] 06:41:10 kniu [n=kniu@128.237.235.152] has joined #scheme 06:46:23 ecraven [n=nex@140.78.42.103] has joined #scheme 06:49:48 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 06:49:57 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 06:53:44 -!- meanburrito920_ [n=John@76.222.111.2] has quit ["has been attacked by a grue"] 07:11:39 mib_l7e1mx [i=41b708c2@gateway/web/ajax/mibbit.com/x-7d68b46a891b38fd] has joined #scheme 07:16:18 i am trying to implement a queue in mit-scheme that runs in constant time. Can anyone help me??? 07:19:41 aack [n=user@s559195f7.adsl.wanadoo.nl] has joined #scheme 07:21:26 i am trying to implement a queue in mit-scheme that runs in constant time. Can anyone help me??? 07:21:28 ?? 07:23:38 -!- CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 07:25:38 kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 07:36:11 ASau` [n=user@host8-231-msk.microtest.ru] has joined #scheme 07:47:04 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 07:53:22 -!- aack [n=user@s559195f7.adsl.wanadoo.nl] has quit [Remote closed the connection] 07:53:25 -!- mib_l7e1mx [i=41b708c2@gateway/web/ajax/mibbit.com/x-7d68b46a891b38fd] has quit ["http://www.mibbit.com ajax IRC Client"] 07:54:19 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 07:54:52 -!- kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 07:55:29 -!- Debolaz [n=debolaz@berle.cc] has quit [Remote closed the connection] 07:57:51 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 08:00:12 [[mark]] [n=mark@unaffiliated/mark/x-957811] has joined #scheme 08:05:13 wingo-tp [n=wingo@92.Red-83-37-99.dynamicIP.rima-tde.net] has joined #scheme 08:09:23 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 08:11:12 -!- LobsterMan [n=a@host72-50.student.udel.edu] has quit ["g00dbye"] 08:22:23 mike [n=m@dslb-088-066-249-080.pools.arcor-ip.net] has joined #scheme 08:33:21 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 08:44:52 -!- wingo-tp [n=wingo@92.Red-83-37-99.dynamicIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 08:57:40 jewel [n=jewel@dsl-242-138-129.telkomadsl.co.za] has joined #scheme 08:59:12 -!- troter [n=troter@nurikabe.timedia.co.jp] has quit ["Leaving..."] 09:15:27 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 09:31:32 alaricsp [n=alaricsp@88-202-213-29.rdns.as8401.net] has joined #scheme 09:36:09 kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 09:43:40 Mr-Cat [n=Miranda@hermes.lanit.ru] has joined #scheme 09:52:04 Debolaz [n=debolaz@berle.cc] has joined #scheme 09:58:43 -!- jao [n=jao@148.Red-83-39-135.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 10:09:33 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 10:15:14 -!- sjamaan [n=sjamaan@netbsd/developer/sjamaan] has quit [Read error: 110 (Connection timed out)] 10:24:02 ejs [n=eugen@nat.ironport.com] has joined #scheme 10:39:51 hotblack23 [n=jh@p5B057998.dip.t-dialin.net] has joined #scheme 10:41:41 Riastradh: No, I need to finish up a draft and submit it. 10:42:02 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 10:42:21 -!- Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 10:42:58 orgy` [n=ratm_@pD9FFF310.dip.t-dialin.net] has joined #scheme 10:43:58 I keep meaning to get into the gritty details of Plan 9 interoperability, but Plan 9 is a pain to work with. Acme sucks and libc doesn't even have printf by default, it uses a whole separate IO library. 10:50:08 -!- mike [n=m@dslb-088-066-249-080.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 10:53:36 :) 11:06:07 Is it an implementation-specific feature or a standard feature, that a continuation of a toplevel definition does not include other toplevel definitions and expressions? This is an example: http://paste.lisp.org/display/77220. It prints "mark" and then "Hello, World" when executed at toplevel and prints "mark" twice and then fails if executed not at top level (i.e. when wrapped into a dummy lambda: ((lambda () ... )). 11:07:09 The behavior is afair the same for chicken and mzscheme. 11:08:18 s/a continuation of a toplevel definition/a continuation of a toplevel definition or expression/ 11:15:11 -!- kandinski [i=kandinsk@rowrcolo.net] has quit ["Lost terminal"] 11:16:29 jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 11:37:54 -!- tripwyre [n=sathya@117.193.162.230] has quit [] 11:47:01 elias` [n=me@unaffiliated/elias/x-342423] has joined #scheme 11:49:38 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 60 (Operation timed out)] 11:50:47 deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has joined #scheme 12:03:10 -!- metasyntax [n=taylor@pool-71-127-85-87.aubnin.fios.verizon.net] has quit [""Nichts mehr.""] 12:03:38 r5rs call-with-current-continuation 12:03:38 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_566 12:03:40 -rudybot:#scheme- http://tinyurl.com/dn3xsn 12:06:20 -!- pfo [n=pfo@chello084114049188.14.vie.surfer.at] has quit [Remote closed the connection] 12:07:53 hkBst: Do really you think, that I haven't read that? 12:08:54 "If the expression is evaluated at top level, for example, then the continuation might take the result, print it on the screen, prompt for the next input, evaluate it, and so on forever." - that's all about top level in taht section. 12:09:05 s/tath/that 12:09:30 r5rs define 12:09:30 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-8.html#%_idx_190 12:09:32 -rudybot:#scheme- http://tinyurl.com/cml55p 12:09:54 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 12:12:37 "RTFM" seems to be an answer to any question :) 12:15:01 Mr-Cat: *I* am reading it 12:15:20 Ah, sorry 12:16:18 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 12:16:49 *Mr-Cat* is ashamed 12:21:01 Mr-Cat: I think the continuation you catch at toplevel is ``define function, then read next expression and eval and print it'', whereas with the lambda the continuation does not include the repl, but goes ``define function, display "mark\n"''. 12:22:31 Yeah, and seems, that "read next expression and eval and print it" resets the continuation, so that it does not eval the same toplevel expression twice. 12:23:30 Mr-Cat: no, the next expression is simply the next expression read at the repl... it does not unget the characters making up the previous expressions. 12:23:58 Mr-Cat: how exactly are you running this example? 12:24:16 hkBst: Hm... thanks. That seems to be a good explaination. 12:24:21 Edico [n=Edico@unaffiliated/edico] has joined #scheme 12:25:28 hkBst: I either enter the expressions in repl (csi or mzscheme) sequentially or execute the file with those lines with `csi -s'. The result is the same. 12:26:59 Hm 12:27:26 And when compiling with csc - the result is the same as when wrapping into lambda 12:28:09 yes, that is to be expected. I wonder if this is not a bug. 12:28:45 So do I. 12:29:36 Mr-Cat: my tests indicate that gambit and scheme48 may work differently. 12:29:56 dlt____ [n=dlt@189.61.141.36] has joined #scheme 12:30:14 But I've already noticed, that compiled chicken programs and the same programs, run with `csi -s' can behave differently. 12:30:29 hkBst: And what do gambit and scheme48 do? 12:31:49 they go, mark mark, error aplying non-procedure, when load'ing your file 12:32:43 Aha, that's what happens when compiling with chicken. 12:35:46 Now I understand, why in R6RS `the design of an interactive environment is now completely in the hands of the implementors'. 12:36:48 nah, this is exactly why it should be specified precisely 12:36:50 ;P 12:36:59 :) 12:37:38 At least r6rs specifies preciesly, how should programs be executed when not in repl. 12:42:24 raikov [n=igr@p2080-ipbf406marunouchi.tokyo.ocn.ne.jp] has joined #scheme 12:44:51 dlt__ [n=dlt@189.61.141.36] has joined #scheme 12:55:01 Mr-Cat: ? 12:55:16 R6RS specifies that you can't have a repl. 12:55:20 M? 12:57:36 foof: Yeah, that's mentioned in r6rs rationale. 12:58:48 r5rs procedure call 13:00:22 foof: IMHO that's not necessary for the standard to specify repl semantics. 13:01:40 Dezlagrate [n=Dezlagra@unaffiliated/dezlagrate] has joined #scheme 13:02:35 -!- dlt____ [n=dlt@189.61.141.36] has quit [Read error: 110 (Connection timed out)] 13:09:29 annodomini_ [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:11:04 annodomini__ [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:15:54 -!- SugarGlider [n=stevie@220.245.104.218] has quit [Read error: 110 (Connection timed out)] 13:23:30 -!- annodomini__ [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has quit [] 13:23:40 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 13:27:23 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 13:40:12 vinvin [n=vinvin@ubiquarium.polytech.unice.fr] has joined #scheme 13:42:49 annodomini_ [n=lambda@64.30.3.122] has joined #scheme 13:43:14 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Client Quit] 13:43:56 dlt____ [n=dlt@189.61.141.36] has joined #scheme 13:47:27 Nshag [n=shagoune@Mix-Orleans-106-4-158.w193-248.abo.wanadoo.fr] has joined #scheme 13:51:20 vixey [n=yoo@amcant.demon.co.uk] has joined #scheme 13:57:19 -!- kniu [n=kniu@128.237.235.152] has quit [Read error: 110 (Connection timed out)] 13:59:56 dlt_ [n=dlt@189.61.141.36] has joined #scheme 14:01:13 laz0r [n=lazor@affenbande.org] has joined #scheme 14:01:28 -!- dlt__ [n=dlt@189.61.141.36] has quit [Read error: 110 (Connection timed out)] 14:03:04 annodomini_ [n=lambda@130.189.179.215] has joined #scheme 14:08:01 -!- dlt____ [n=dlt@189.61.141.36] has quit [Connection timed out] 14:11:06 -!- MichaelRaskin_ [n=raskin@213.171.48.239] has quit [Read error: 110 (Connection timed out)] 14:16:09 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 14:18:51 -!- Modius__ [n=Modius@adsl-67-67-197-13.dsl.austtx.swbell.net] has quit [Read error: 110 (Connection timed out)] 14:22:01 MichaelRaskin_ [n=raskin@213.171.48.239] has joined #scheme 14:22:48 vy [n=user@213.139.194.186] has joined #scheme 14:28:59 sepult_ [n=buggarag@xdsl-87-78-154-142.netcologne.de] has joined #scheme 14:29:08 -!- sepult_ [n=buggarag@xdsl-87-78-154-142.netcologne.de] has quit [Client Quit] 14:29:35 -!- sepult [n=buggarag@xdsl-87-78-145-58.netcologne.de] has quit [Nick collision from services.] 14:30:10 underspecified [n=eric@softbank220043052007.bbtec.net] has joined #scheme 14:30:33 ecraven [n=nex@140.78.42.103] has joined #scheme 14:31:27 sepult [n=buggarag@xdsl-87-78-154-142.netcologne.de] has joined #scheme 14:32:45 hi, i am looking at scheme right now, and tried installing chicken and bigloo under ubuntu linux to play around with scheme 14:33:07 both have the problem that i can't use the delete and up/down keys to scroll through the history 14:34:29 which of the numerous scheme implementations would you guys propose for a beginner? 14:35:08 i would like to have one with an interpreter in which i can play around with the language while i read through some introductions 14:35:54 laz0r: gambit includes line editing, otherwise you can use rlwrap for other schemes or emacs, or use PLTscheme which comes with its own editor 14:36:07 foof, why does printf and a separate I/O library matter for subprocesses? 14:37:16 neofreak [n=wtf@aulas-c.fe.up.pt] has joined #scheme 14:37:19 hi. 14:37:41 laz0r: just use Emacs for that. 14:38:06 what's the best scheme implementation with support for tcp/ip sockets?? 14:38:10 (You don't need history. :) 14:38:53 Any reason to deal with sockets? 14:39:01 Mr-Cat, some Scheme systems load files by reading, evaluating, and looping; others load files by reading the whole file and evaluating the whole file. The latter is the more sensible option, but generally you shouldn't rely on the continuations of the expressions on the right-hand sides of definitions (or LETRECs). 14:39:04 Use inetd. 14:39:11 foof, where does the R6RS specify that you can't have a REPL? 14:40:00 pfo [n=pfo@chello084114049188.14.vie.surfer.at] has joined #scheme 14:41:34 laz0r: For chicken look through 'using interpreter' section of its user manual. You can make the interpreter use gnu readline, which features history and so on. 14:43:23 -!- MichaelRaskin_ [n=raskin@213.171.48.239] has quit [Read error: 110 (Connection timed out)] 14:45:39 ASau: assignment requirements 14:46:10 Mr-Cat: thanks, didn't see that before, i'll try that additionally to gambit and plt 14:48:20 tripwyre [n=sathya@117.193.167.231] has joined #scheme 14:48:30 Riastradh: I'm not foof, but r6rs for example says nothing about what should happen in repl if you want to re-define a toplevel definition. So, iirc r6rs does not specify particular repl semantics, but assumes some implementation-defined reasonable semantics. 14:49:02 jerojasro [n=jerojasr@190.144.69.234] has joined #scheme 14:49:54 hi all. I'm reading sicp, and I'd like to hear your recommendations about which implementation to use 14:50:35 jerojasro: I'd prefer chicken scheme 14:51:03 That's an implementation I started learning scheme with 14:52:18 I started with sxm, but who remembers it? 14:52:39 Anyway, I don't recommend it. :) 14:53:36 Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has joined #scheme 14:53:51 Mr-Cat: hum, I've installed it, but I don't see the interpreter anywhere... 14:53:56 -!- rdd` [n=rdd@c83-250-154-52.bredband.comhem.se] has quit [Remote closed the connection] 14:54:07 jerojasro: csi 14:55:08 \o/ thanks! 14:57:09 Mr-Cat, that is very different from what foof said. Foof (and many others) claimed that the R6RS prohibits REPLs. 14:57:18 -!- neofreak [n=wtf@aulas-c.fe.up.pt] has quit ["I was part of the turks. But they kicked me out cuz I'm a freakin vampire!! And they don't want vampires in the turks. So the] 14:59:23 luz [n=davids@189.60.54.152] has joined #scheme 15:04:13 -!- jerojasro [n=jerojasr@190.144.69.234] has left #scheme 15:10:28 rdd [n=user@c83-250-154-52.bredband.comhem.se] has joined #scheme 15:13:31 attila_lendvai [n=ati@apn-94-44-15-215.vodafone.hu] has joined #scheme 15:18:34 jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has joined #scheme 15:20:42 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 15:21:14 -!- alaricsp [n=alaricsp@88-202-213-29.rdns.as8401.net] has quit [verne.freenode.net irc.freenode.net] 15:21:14 -!- mmc [n=mima@esprx02x.nokia.com] has quit [verne.freenode.net irc.freenode.net] 15:21:14 -!- nasloc__ [i=tim@kalug.ks.edu.tw] has quit [verne.freenode.net irc.freenode.net] 15:21:14 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [verne.freenode.net irc.freenode.net] 15:21:14 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit [verne.freenode.net irc.freenode.net] 15:21:14 -!- csmrFX_ [i=csmr@paha.arkkitehti.e21.fi] has quit [verne.freenode.net irc.freenode.net] 15:21:14 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [verne.freenode.net irc.freenode.net] 15:22:18 bweaver [n=user@c-67-161-236-94.hsd1.tn.comcast.net] has joined #scheme 15:23:17 pchrist [n=spirit@gentoo/developer/pchrist] has joined #scheme 15:23:18 csmrFX [i=csmr@paha.arkkitehti.e21.fi] has joined #scheme 15:23:45 Riastradh: How are you supposed to test and debug without printf? 15:24:22 mmc [n=mima@esprx01x.nokia.com] has joined #scheme 15:25:44 timchen1` [i=tim@kalug.ks.edu.tw] has joined #scheme 15:26:11 alaricsp [n=alaricsp@88-202-213-29.rdns.as8401.net] has joined #scheme 15:33:46 -!- ioczgd [n=ioczgd@209.216.196.2] has quit [Connection timed out] 15:33:52 foof: with _debugger_. 15:34:38 -!- ASau` [n=user@host8-231-msk.microtest.ru] has quit ["Off."] 15:41:52 -!- jonrafkind [n=jon@pool-71-243-21-118.bos.east.verizon.net] has quit [Read error: 110 (Connection timed out)] 15:42:17 -!- rudybot_ is now known as rudybot 15:42:55 R6RS does not prohited a REPL, in fact it makes no mention of it. The problem is that you can't implement exact R6RS semantics in a REPL's toplevel. So most provide a mostly compatible REPL. 15:44:14 peter_ [n=sjamaan@frohike.xs4all.nl] has joined #scheme 15:44:26 -!- peter_ is now known as sjamaan 15:45:24 I have only seen one example where the 'compatible' REPL does not work 15:47:15 sanita [n=sanchy@89.241.150.221] has joined #scheme 15:47:28 and that specific example can be fixed, by reordering the expressions 15:50:44 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 104 (Connection reset by peer)] 15:51:10 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 15:52:18 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 104 (Connection reset by peer)] 15:52:40 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 15:57:07 -!- vy [n=user@213.139.194.186] has quit [Read error: 104 (Connection reset by peer)] 16:05:26 athos [n=philipp@92.250.250.68] has joined #scheme 16:09:00 -!- jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has quit [Read error: 113 (No route to host)] 16:15:54 kazzmir_ [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 16:16:32 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:16:43 -!- kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 16:17:00 foof: What's wrong with printf and r6rs? 16:17:26 Does r6rs prohibit printf? 16:18:57 CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has joined #scheme 16:19:35 ejs1 [n=eugen@77.222.151.102] has joined #scheme 16:21:16 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 16:21:33 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 16:23:07 -!- ejs1 [n=eugen@77.222.151.102] has quit [Client Quit] 16:23:46 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 16:29:21 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 16:40:37 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 16:54:42 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 16:58:14 -!- alaricsp [n=alaricsp@88-202-213-29.rdns.as8401.net] has quit [] 16:59:48 protip 17:00:04 if you define a plt class with (field [a *b*]) 17:00:21 Then (define *b* (new that% ...)) 17:00:31 expect a segfault on displaying a. 17:01:15 did you post a bug report? 17:02:14 ejs [n=eugen@181-20-178-94.pool.ukrtel.net] has joined #scheme 17:03:34 It's not a bug to be a dumbass. 17:03:50 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 17:04:09 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 17:04:13 mike_ [n=m@dslb-088-066-225-193.pools.arcor-ip.net] has joined #scheme 17:04:52 -!- mike_ is now known as Guest14499 17:09:26 -!- mmc [n=mima@esprx01x.nokia.com] has quit [Remote closed the connection] 17:09:46 Though I suppose technically it should error out. 17:13:46 huh no wait... 17:14:02 I made a simple reproduction and it /did/ error out. 17:24:07 Mr-Cat, concerning printf: foof and I were talking about Plan 9 and subprocesses, not the R6RS. 17:24:30 Ah 17:25:51 ok, let's vote to ban it it in R7RS :) 17:26:15 I don't pay attention to R_RSs beyond 5 17:26:31 leppie, it may not be possible to map the semantics of a library top-level to a REPL, but it is possible to implement a useful subset of the semantics, or a different semantics that intersects substantially. 17:26:35 R7RS can be word for word copy of C++ for all I care 17:28:03 -!- Mr-Cat [n=Miranda@hermes.lanit.ru] has quit [Read error: 104 (Connection reset by peer)] 17:28:08 sorry to hear that vixey 17:28:58 so how do you feel about R3RS? 17:31:28 Okay it is a bug after all. Though I'm not sure there's any utility to doing this, it should still error out, not segfault. 17:31:58 synx pasted "class bug" at http://paste.lisp.org/display/77239 17:32:02 -!- vinvin [n=vinvin@ubiquarium.polytech.unice.fr] has quit ["leaving"] 17:32:48 hmmm 17:33:14 i dont know PLT, but it looks like you are using current before initializing it 17:33:25 It does indeed. 17:33:43 Somehow the mere presence of (dummy-func) prevents that from being an error though. 17:34:22 thats a bug then, but they could define letrec semantics and not letrec* and hence it may or may not work 17:34:42 R6RS requires you must check for those conditions 17:35:47 huh? 17:36:33 Oh you mean how they handle top level bindings. 17:36:58 no, any letrec/letrec* 17:37:11 I don't know what letrec* is. 17:37:11 including library and program toplevels 17:37:17 It sounds like some weird R6RS thing. 17:37:24 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #scheme 17:37:27 no, im sure PLT has it 17:37:54 Yes, under rnrs/base-6 17:38:08 most sure most other Scheme use the same semantics for internal defines within a body 17:38:32 its like let* is to let 17:38:49 defined evaluation order 17:39:13 Almost. One could imagine a LET*REC that is `more' analogous to LET* and LET. 17:39:49 While LET* (resp. LET*REC) has an expansion in terms of LET (resp. LETREC), LETREC* has no expansion in terms of LETREC that uses any interesting properties of LETREC. 17:40:48 You can invoke any of the names in letrec in any of the other init clauses can't you? 17:41:04 as long as they have been initialized 17:41:14 So how would you instantiate them in order? 17:41:20 with letrec* 17:41:23 A later one might refer to the value of a former. 17:41:24 You can refer to their locations but not to their values. 17:41:50 (+ location location) does something to its values though. 17:42:13 To be precise: Evaluation of the expressions on the right-hand sides of LETREC clauses may refer to the locations of any of the left-hand sides, but not to their values. Only after all of the right-hand expressions have been evaluated can anyone refer to the values of the left-hand sides. 17:42:13 drwhen [n=d@c-69-139-19-235.hsd1.pa.comcast.net] has joined #scheme 17:42:52 So if I did a hypothetical (letrec* ((a (+ b b)) (b 2)) (display a)) it would error out, because b can use a, but a cannot use b? 17:43:01 That is correct. 17:43:05 -!- kazzmir_ [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 60 (Operation timed out)] 17:43:10 -!- athos [n=philipp@92.250.250.68] has quit [Read error: 131 (Connection reset by peer)] 17:43:21 Reversing the order of the clauses would yield the output 4. 17:43:28 whereas with letrec it would make sure that would display a 4. 17:43:28 LETREC, however, is independent of the order. 17:43:31 No. 17:43:58 it may or may not work 17:44:09 -!- attila_lendvai [n=ati@apn-94-44-15-215.vodafone.hu] has quit ["..."] 17:44:14 no i lie 17:44:24 with letrec that is! 17:44:53 With LETREC either order is an error. 17:44:55 huh, it doesn't quite work actually. 17:44:55 I'm not real familiar with letrec sorry. 17:45:10 This is the procedure for evaluating a LETREC expression: 17:45:39 Not so much an error, but b has an undefined value in the context of a's init. 17:45:42 1. The environment is extended with new bindings for variables whose names are given on the left-hand sides. These variables do not have values. 17:46:30 2. The expressions on the right-hand sides are evaluated in the extended environment, in which the variables are bound, but before they have values. During this step it is an error to use the value of one of the variables, because they do not have values. 17:46:47 3. The values of the expressions on the right-hand sides are stored in the locations to which the variables named on the left-hand sides are bound. 17:46:56 4. The body is evaluated in the extended environment. 17:47:17 kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 17:48:43 I thought the point of letrec was... 17:48:58 davidad [n=me@wireless-25-95.media.mit.edu] has joined #scheme 17:49:21 OH I get it. 17:50:31 (letrec ((a (lambda (i) (if (< i 0) #t (a (- 1 i)))))) (a 10)) doesn't actually use a in its initialization. It defines a lambda that will use a, when it is invoked in the body. 17:50:56 The lambda doesn't close on a and hold it as #, through some kind of trickery. 17:51:28 The procedure remembers the location of the variable named A, not its value. 17:51:39 So you can only use letrec to define lambdas that refer to the other varuables. 17:52:43 not limited to lambdas 17:53:27 rudybot: eval (map force (letrec ((a 10) (b 20) (c `(,(delay a) ,(delay b)))) c)) 17:53:28 gnomon: your sandbox is ready 17:53:28 gnomon: ; Value: (10 20) 17:53:46 Barring clumsiness of terminology, yes, synx. 17:54:34 rudybot: eval (letrec ([x (if (eq? (cons 1 2) (cons 1 2)) x 1)]) x) 17:54:35 leppie: your sandbox is ready 17:54:35 leppie: ; Value: 1 17:55:08 as long as you do not use it 17:56:56 so letrec* would let you "use it", but only variables previously specified. 17:57:15 previously initialized 17:58:23 leppie pasted "letrec*" at http://paste.lisp.org/display/77242 17:59:08 huh 17:59:09 just think of internal defines in a body 17:59:32 well yeah, that's what I was thinking. 18:00:08 so mentally rewrite it as (let () (define a ...) ...) 18:00:31 but assuming that plt uses letrec to implement their top-level "defines in a body" then *current* in my example there would print as #, not segfault. 18:01:37 i dont know how the R5RS toplevel works really, but it is different from letrec/letrec* IIRC 18:03:01 yeah... 18:03:22 maybe it's trying to refer to some syntax object it is expecting to find 18:03:30 The R5RS's top-level has approximately LETREC* semantics. 18:03:31 is get-field a macro? 18:03:41 thanks Riastradh :) 18:03:56 yes, it has to be 18:04:49 i think you have a expansion issue 18:04:56 or PLT does :) 18:05:48 Well (display *current*) with inspect set to #f also causes the segfault. Any access of the "parent" member will do it. 18:06:04 hmm 18:06:07 dudrenov [n=user@67.101.217.41] has joined #scheme 18:06:14 my PLT spots the error correctly 18:07:45 sniff, I miss having all these fancy debug facilities :( 18:09:36 Narrenschiff [n=ritchie@mo-rsmitha21.op.umist.ac.uk] has joined #scheme 18:09:45 *leppie* wonders what the best way is to implement exact complex numbers, a pair of rationals (my native kind)? 18:09:50 jcowan [n=jcowan@72.14.228.89] has joined #scheme 18:10:05 exact complex numbers over Q 18:11:46 no wonder they are called complex :( 18:12:13 thanks vixey, will have a look, looks a bit above my rotten brains level of understanding 18:13:58 leppie: You don't know what complex numbers are? 18:14:28 i do know inexact complex numbers and have them implemented 18:14:47 not sure what difference it makes 18:14:52 that can be done efficiently with 2 doubles 18:15:18 doubple precision floating point 18:16:00 but rationals are already pairs of bignums, which could be huge 18:16:34 memory-wise that is, but I guess that will happen in any case... 18:16:56 i'll just go for the naive approach and check my foot every now and again :) 18:17:33 That's about all you can do. 18:17:48 We need exact complex numbers for completeness, but they can wind up running slow as *@#$*. 18:18:09 -!- kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 18:18:16 yeah, i think i was worrying about their efficiency for nothing 18:18:22 (the same is true of exact real numbers, if it comes to that) 18:18:48 Sometimes the difference between a Scheme program that runs like molasses and a suitably zippy one is a single judiciously added dot. 18:19:07 :) 18:20:21 -!- Daemmerung [n=goetter@1133sae.mazama.net] has quit ["Smoove out."] 18:20:39 That's the difference in the time you wait to find a difference in result of several orders of magnitude before you realize that you used a highly numerically unstable algorithm. 18:20:40 im also thinking if I should redo my native string types that uses surrogate pairs into something better for R6RS scheme 18:21:10 Mnyeh. 18:21:13 jcowan, `exact complex numbers for completeness'? In what world do complex numbers over Q constitute a complete space? 18:21:14 There are all kinds of arguments. 18:21:52 completely super 18:22:19 Riastradh: That is to say, all types of numbers should have both exact and inexact representations in Scheme. 18:22:34 kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 18:22:39 a-s [n=user@92.80.114.159] has joined #scheme 18:22:49 should exact numbers be closed under all numeric procedures? 18:23:05 Not necessarily. 18:23:24 There is explicit permission not to provide exact transcendental functions. 18:23:29 And a Good Thing Too. 18:23:41 I know, jcowan. I was poking fun at the term `complete'. 18:24:01 I thought you probably were, but I don't know what a "complete space" is. 18:24:07 (I love Mathesis far more than she loves me.) 18:24:37 A normed vector space is complete if every Cauchy sequence converges. 18:25:02 *leppie* just agrees 18:25:22 Kasha, the dictionary says, are rolled buckwheat groats. The problem is: what the *@#$ are ?rolled buckwheat groats?? I know, of course; they?re kasha. But that doesn?t help you any. 18:25:34 -- Every Goy's Guide to Yiddish 18:25:51 A Cauchy sequence is one whose successive terms grow arbitrarily close. 18:26:10 *jcowan* nods. 18:27:44 jlongster [n=user@75.148.111.133] has joined #scheme 18:31:22 For instance, if you consider a sequence whose terms are the sum of 1/k! for k up from 1 to n, each successive addend grows arbitrarily small, so the difference between consecutive terms of the sequence grows arbitrarily small, but there is no single rational number that the sequence of sums grows arbitrarily close to. There is such a real number (e), but no such rational number. 18:32:10 like NaN and infinities? 18:32:49 Those are floating-point values, not among anything that anyone calls a number. 18:32:58 ok :) 18:33:31 NaN is, well, not a number. It is a substitute for a number yielded by operations for arguments on which they are not defined. 18:33:41 R6RS semi-arbitrarily says they are real but not rational. 18:34:08 This applies well to +Inf and -Inf but not to NaN 18:34:21 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 18:34:46 The floating-point +/- infinity values denote sets of real numbers -- specifically, the intervals of all real numbers above or below certain real numbers that bound those real numbers representable in the floating-point format. 18:35:02 True, but every floating point number denotes a set of real numbers. 18:35:55 That is true, but there is no distinguished real number that infinities represent exactly. Floating-point *numbers* represent one real number exactly and an interval of real numbers approximately. 18:43:39 geckosenator [n=sean@71.237.94.78] has joined #scheme 18:44:19 jonrafkind [n=jon@nmd.sbx11684.cambrma.wayport.net] has joined #scheme 18:44:44 Do you really have a theoretical argument for that? It seems to me that all the real numbers in question have equal status. 18:44:59 As a practical matter, inexact->exact has to pick one, but otherwise.... 18:47:22 Take the bits of floating-point format and evaluate them to form a rational number. 18:47:58 -!- Narrenschiff [n=ritchie@mo-rsmitha21.op.umist.ac.uk] has quit [] 18:48:29 but that will fail with nan and infinity 18:49:09 That's right. Those are not floating-point numbers. 18:49:31 (that technique will also fail when applied to oranges, and goats, and freedom) 18:50:23 There is a unique rational number exactly encoded by each floating-point number. 18:51:25 i had to do that exercise the other day :) 18:55:47 *jcowan* pictures the exercise of reducing a goat to an exact rational number. 18:55:58 Fuggeddaboudit. Goats just aren't rational. 18:59:18 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 19:01:16 -!- geckosenator [n=sean@71.237.94.78] has quit [Remote closed the connection] 19:03:44 -!- jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 19:04:20 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has left #scheme 19:19:07 -!- dlt_ [n=dlt@189.61.141.36] has quit [Read error: 110 (Connection timed out)] 19:19:55 Eataix [n=Eataix@121.35.166.224] has joined #scheme 19:20:07 -!- Eataix [n=Eataix@121.35.166.224] has quit [Client Quit] 19:32:06 jah [n=jah@40.138.72-86.rev.gaoland.net] has joined #scheme 19:32:19 -!- jah [n=jah@40.138.72-86.rev.gaoland.net] has quit [Client Quit] 19:37:34 geckosenator [n=sean@71.237.94.78] has joined #scheme 19:45:33 -!- ttmrichter [n=ttmricht@58.49.18.55] has quit [Connection timed out] 19:46:10 -!- bzzbzz [n=franco@207.236.146.245] has quit ["leaving"] 19:57:30 -!- davidad [n=me@wireless-25-95.media.mit.edu] has quit [Read error: 110 (Connection timed out)] 20:02:12 mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 20:02:21 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 20:03:24 synthasee [n=synthase@68.63.48.10] has joined #scheme 20:05:38 -!- synthase [n=synthase@68.63.48.10] has quit [No route to host] 20:06:16 -!- sanita [n=sanchy@89.241.150.221] has quit [] 20:09:03 -!- hadronzoo_ [n=hadronzo@ppp-70-247-161-14.dsl.rcsntx.swbell.net] has quit [] 20:14:40 -!- tripwyre [n=sathya@117.193.167.231] has quit ["bye all"] 20:14:52 melgray [n=melgray@70.99.250.82] has joined #scheme 20:19:18 jao [n=jao@148.Red-83-39-135.dynamicIP.rima-tde.net] has joined #scheme 20:24:57 la la la 20:29:22 ken-p [n=unknown@84.92.70.37] has joined #scheme 20:29:57 DUM DE DUM 20:31:39 hadronzoo [n=hadronzo@nmd.sbx06329.dallatx.wayport.net] has joined #scheme 20:31:54 hadronzoo_ [n=hadronzo@gateway.publicvpn.net] has joined #scheme 20:31:59 -!- hadronzoo_ [n=hadronzo@gateway.publicvpn.net] has quit [Remote closed the connection] 20:35:43 SugarGlider [n=stevie@220.245.104.218] has joined #scheme 20:36:53 athos [n=philipp@92.250.250.68] has joined #scheme 20:38:49 -!- SugarGlider [n=stevie@220.245.104.218] has left #scheme 20:48:02 -!- hadronzoo [n=hadronzo@nmd.sbx06329.dallatx.wayport.net] has quit [Read error: 110 (Connection timed out)] 20:49:36 HONGG HONNG 20:49:56 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 20:50:35 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 20:51:11 (of course, Riastradh would be talking about _Taylor_ series) 20:51:22 -!- foof [n=user@dn157-046.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 20:51:31 lol 20:57:14 synx pasted "pointer-address" at http://paste.lisp.org/display/77248 20:58:17 eli: so, I don't think ptr-ref can duplicate the behavior of get-pointer-address. I could be wrong though. 21:03:45 -!- jonrafkind [n=jon@nmd.sbx11684.cambrma.wayport.net] has quit [No route to host] 21:04:58 error_de6eloper_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 21:04:59 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 131 (Connection reset by peer)] 21:05:27 arcfide [n=arcfide@adsl-99-186-239-125.dsl.bltnin.sbcglobal.net] has joined #scheme 21:12:17 -!- ejs [n=eugen@181-20-178-94.pool.ukrtel.net] has quit [Read error: 110 (Connection timed out)] 21:24:11 wingo-tp [n=wingo@133.Red-83-36-163.dynamicIP.rima-tde.net] has joined #scheme 21:24:47 bombshelter13p [n=bombshel@24.114.235.1] has joined #scheme 21:25:45 -!- bombshelter13p [n=bombshel@24.114.235.1] has quit [Client Quit] 21:26:19 -!- annodomini_ is now known as annodomini 21:26:26 ejs [n=eugen@181-20-178-94.pool.ukrtel.net] has joined #scheme 21:27:57 -!- Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 21:34:42 bombshelter13 [n=bombshel@142.204.133.36] has joined #scheme 21:36:09 bombshelter13p [n=bombshel@24.114.235.1] has joined #scheme 21:43:22 -!- bombshelter13p [n=bombshel@24.114.235.1] has quit ["Get Colloquy for iPhone! http://mobile.colloquy.info"] 21:46:03 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 21:47:03 kilimanj4ro [n=kilimanj@70.116.95.163] has joined #scheme 21:47:08 -!- error_de6eloper_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit ["Reconnecting"] 21:47:21 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 21:48:43 *sladegen* converges to exact floating irrational complex. 21:49:01 -!- ejs [n=eugen@181-20-178-94.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 21:50:08 so you are going to support exact irrationals? 21:50:28 I always thought they were a missing feature we need 21:51:20 all irrationals? 21:54:25 incubot: are you you or not you? and don't try to confabulate! 21:55:03 incubot: dead dackie? 21:55:07 Hahaha. ESR: `Guido is not going to remove lambdas. Among other things, I told him that he's get [sic] my lambdas back only when he pried them from my cold, dead fingers... One great use for lambdas is for defining callback hooks. There are others.' 21:56:18 incubot: Hahaha. 21:56:21 ...hahaha. 21:56:49 Hahaha. 21:57:23 incubot: Guido is not. 21:57:24 Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has joined #scheme 21:57:26 it's like if you get Sussman, Steele, Knuth, Larry Wall and Guido van Rossum and Ken wossname all to write a report on the state of play with language design. 21:58:12 incubot: quantum computers will make all languages irrelavent anyway. 21:58:15 BNF is mostly irrelavent here 21:58:33 incubot: QBitNF 21:59:31 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 22:03:36 -!- Guest14499 [n=m@dslb-088-066-225-193.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 22:04:06 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 110 (Connection timed out)] 22:04:12 -!- kilimanj4ro is now known as kilimanjaro 22:08:54 dudrenov` [n=user@adsl-99-147-43-193.dsl.pltn13.sbcglobal.net] has joined #scheme 22:14:16 ttmrichter [n=ttmricht@59.172.141.201] has joined #scheme 22:21:38 uninverted [n=njs@ip98-184-78-122.ri.ri.cox.net] has joined #scheme 22:22:18 Does a closure save its entire environment, or just the variables that appear within it? 22:22:44 what's the difference? 22:23:50 Absolutely nothing, just wondering. 22:24:24 as far as the closure is concerned, all the variables that appear in it *is* the entire environment 22:25:24 Ah, thanks. 22:25:26 -!- uninverted [n=njs@ip98-184-78-122.ri.ri.cox.net] has quit [Client Quit] 22:26:54 -!- raikov [n=igr@p2080-ipbf406marunouchi.tokyo.ocn.ne.jp] has quit [Remote closed the connection] 22:27:35 -!- dudrenov [n=user@67.101.217.41] has quit [Read error: 110 (Connection timed out)] 22:30:14 Elly: the difference is that if you copy the entire environment, mutations to it won't affect your closure. 22:33:09 kniu [n=kniu@CMU-326558.WV.CC.CMU.EDU] has joined #scheme 22:36:00 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 22:36:14 -!- dudrenov` [n=user@adsl-99-147-43-193.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 22:41:53 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 60 (Operation timed out)] 22:44:35 -!- jcowan [n=jcowan@72.14.228.89] has quit ["Leaving"] 22:52:34 RageOfThou [n=RageOfTh@92.36.150.100] has joined #scheme 22:52:50 Wow, Chicken constant-folds (eq? (string-append "r" "s" "t") "rst") to #f, and no literals are generated. 22:53:04 gweiqi [n=greg@69.120.126.163] has joined #scheme 22:53:35 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 22:56:51 So? 22:58:11 great! 22:58:19 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:58:37 hkBst: if a variable in the environment is not in your closure, how can a mutation to it matter? 22:59:02 I guess I am just easily impressed. 22:59:18 Elly: it is in the closure of functions you call? 23:00:08 Elly: it is in the surrounding environment then 23:00:19 the interesting case is when a mutable variable IS in your closure, and you're copying the environment -- you better have boxed the variable in heap, and only copy the immutable reference to the mutable box. 23:03:34 Fare: I'm using the transitive version of "inside your closure" there 23:04:45 I'll cps transform inside your closure, if you know what I mean 23:10:25 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 60 (Operation timed out)] 23:10:34 -!- jewel [n=jewel@dsl-242-138-129.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 23:13:36 geckosenator [n=sean@71.237.94.78] has joined #scheme 23:13:36 -!- geckosenator [n=sean@71.237.94.78] has quit [Client Quit] 23:13:53 geckosenator [n=sean@71.237.94.78] has joined #scheme 23:16:42 Never mind, I see now that identical string literals do not share storage under Chicken so even (eq? "a" "a") will fail. 23:16:45 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 23:18:10 So foof is right in that (string-append "a" "b" "c") folds to the literal "abc", but it is also "newly allocated" so does not violate R5RS prescription. 23:22:58 sorrow [n=kvirc@92.4.210.217] has joined #scheme 23:23:13 -!- sorrow is now known as Guest1367 23:23:27 -!- Guest1367 is now known as `sorrow` 23:24:28 *`sorrow`* Good evening to all ! 23:26:38 -!- bweaver [n=user@c-67-161-236-94.hsd1.tn.comcast.net] has quit [Read error: 110 (Connection timed out)] 23:26:54 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 23:36:43 -!- ken-p [n=unknown@84.92.70.37] has quit [Success] 23:44:51 neilv [n=user@dsl092-071-030.bos1.dsl.speakeasy.net] has joined #scheme 23:44:56 Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has joined #scheme 23:46:37 -!- wingo-tp [n=wingo@133.Red-83-36-163.dynamicIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 23:49:38 -!- neilv [n=user@dsl092-071-030.bos1.dsl.speakeasy.net] has quit [Client Quit] 23:51:40 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 23:52:12 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 23:54:33 jonrafkind [n=jon@pool-71-243-21-118.bos.east.verizon.net] has joined #scheme