00:00:53 -!- vixey [n=yoo@amcant.demon.co.uk] has quit ["Quitting!"] 00:01:10 -!- meanburrito920_ [n=John@adsl-76-222-232-175.dsl.lsan03.sbcglobal.net] has quit ["has been attacked by a grue"] 00:02:00 -!- ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has quit [Read error: 104 (Connection reset by peer)] 00:02:31 meanburrito920_ [n=John@adsl-76-222-232-175.dsl.lsan03.sbcglobal.net] has joined #scheme 00:09:58 ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has joined #scheme 00:12:06 -!- Deformative [n=joe@71.238.45.45] has quit [Read error: 104 (Connection reset by peer)] 00:15:59 -!- JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has quit ["This computer has gone to sleep"] 00:16:30 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 00:18:48 -!- ASau [n=user@193.138.70.52] has quit [Remote closed the connection] 00:18:55 ASau [n=user@193.138.70.52] has joined #scheme 00:19:33 breily [n=breily@173.15.192.254] has joined #scheme 00:19:36 cknapp [i=40836631@gateway/web/ajax/mibbit.com/x-7b27bc884ddca0e2] has joined #scheme 00:20:12 benny` [n=benny@i577A0331.versanet.de] has joined #scheme 00:22:03 -!- cknapp [i=40836631@gateway/web/ajax/mibbit.com/x-7b27bc884ddca0e2] has left #scheme 00:30:18 -!- hotblack23 [n=jh@p5B05385E.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 00:31:20 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 00:32:36 -!- benny [n=benny@i577A0C46.versanet.de] has quit [Read error: 113 (No route to host)] 00:36:52 -!- alaricsp [n=alaricsp@217.205.201.45] has quit [] 00:40:16 -!- Lemonator [n=kniu@DA-YU.RES.CMU.EDU] has quit ["Leaving"] 00:40:52 benny [n=benny@i577A0A09.versanet.de] has joined #scheme 00:40:52 kniu [n=kniu@DA-YU.RES.CMU.EDU] has joined #scheme 00:46:06 -!- meanburrito920_ [n=John@adsl-76-222-232-175.dsl.lsan03.sbcglobal.net] has quit ["has been attacked by a grue"] 00:46:32 -!- chaoslynx [n=cpehle@p57A73C2C.dip.t-dialin.net] has quit [Read error: 113 (No route to host)] 00:48:47 -!- benny` [n=benny@i577A0331.versanet.de] has quit [Read error: 113 (No route to host)] 00:50:58 -!- RageOfThou [n=RageOfTh@92.36.176.175] has quit [Read error: 101 (Network is unreachable)] 00:55:52 JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has joined #scheme 00:59:43 -!- melgray [n=melgray@70.99.250.82] has quit [] 01:02:55 dlurf [n=dlurf@s83-191-238-2.cust.tele2.se] has joined #scheme 01:02:58 -!- dlurf [n=dlurf@s83-191-238-2.cust.tele2.se] has left #scheme 01:04:33 -!- benny [n=benny@i577A0A09.versanet.de] has quit [Read error: 113 (No route to host)] 01:08:19 ttmrichter [n=ttmricht@59.172.141.201] has joined #scheme 01:24:52 Does anyone here know a good place to find out about win32 oddities? 01:25:03 I've got more win32 problems that I can't seem to figure out from msdn. 01:25:56 arcfide: probably not going to work, but the Old New Thing blog might have something in it 01:26:06 appletizer [i=user@82-32-123-217.cable.ubr04.hawk.blueyonder.co.uk] has joined #scheme 01:27:29 Specifically, anything on ReadFile and its reading beyond EOF would be...helpful. 01:28:03 Aha! 01:28:07 Nevermind, I think I got it. 01:28:08 Gah. 01:28:13 Stupid MSDN docs. 01:32:34 http://www.reddit.com/r/programming/comments/84sqt/dear_reddit_i_am_seei\ 01:33:14 yeah, that thread got stupid quickly 01:33:16 -!- appletizer [i=user@82-32-123-217.cable.ubr04.hawk.blueyonder.co.uk] has quit [] 01:33:22 not that it wasn't stupid to begin with 01:35:57 reddit in general has gone down the tubes 01:36:01 yep 01:36:17 something vaguely resembling a moderator would be nice 01:36:28 not needed 01:36:44 well apparently it's needed 01:36:53 because that self post has 242 points and it's a waste of time 01:37:10 what's needed is to create a new Reddit and not tell the current new wave of redditors about it 01:37:11 -!- rdd [n=user@c83-250-154-52.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 01:37:24 there's http://www.cs.toronto.edu/~ad/news/ 01:37:35 yeah 01:37:50 Hacker News, Academic Hacker News, and Non-Hacker News are all OK 01:38:03 Non-Hacker News is quite slow but decent overall 01:40:13 rdd [n=user@c83-250-154-52.bredband.comhem.se] has joined #scheme 01:43:56 orgy_ [n=ratm_@pD9FFBC93.dip.t-dialin.net] has joined #scheme 01:59:20 -!- orgy` [n=ratm_@pD9FFE62B.dip.t-dialin.net] has quit [Read error: 101 (Network is unreachable)] 02:04:16 Mr_Awesome [n=eric@pool-98-115-45-152.chi01.dsl-w.verizon.net] has joined #scheme 02:09:34 sepult_ [n=buggarag@xdsl-87-78-145-143.netcologne.de] has joined #scheme 02:15:27 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [] 02:16:11 -!- Debolaz2 is now known as Debolaz 02:20:52 benny [n=benny@i577A077B.versanet.de] has joined #scheme 02:24:49 -!- sepult [n=buggarag@xdsl-87-78-152-39.netcologne.de] has quit [Read error: 113 (No route to host)] 02:25:36 Victorr [n=Victorr@modemcable247.139-80-70.mc.videotron.ca] has joined #scheme 02:29:53 sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 02:34:55 brweber2 [n=brweber2@ip68-100-65-167.dc.dc.cox.net] has joined #scheme 02:45:23 Def [n=joe@71.238.45.45] has joined #scheme 02:48:24 -!- Deformati [n=joe@71.238.45.45] has quit [Connection reset by peer] 03:01:22 mreggen [n=mreggen@cm-84.215.50.79.getinternet.no] has joined #scheme 03:04:48 -!- Mr_Awesome [n=eric@pool-98-115-45-152.chi01.dsl-w.verizon.net] has quit [Remote closed the connection] 03:05:32 jonrafkind [n=jon@cpe-68-174-50-30.hvc.res.rr.com] has joined #scheme 03:06:48 -!- brweber2 [n=brweber2@ip68-100-65-167.dc.dc.cox.net] has quit [] 03:07:28 Mr_Awesome [n=eric@pool-98-115-45-152.chi01.dsl-w.verizon.net] has joined #scheme 03:15:27 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 03:15:59 grettke [n=grettke@CPE-65-31-142-107.wi.res.rr.com] has joined #scheme 03:17:06 -!- pfo [n=pfo@chello084114049188.14.vie.surfer.at] has quit [Remote closed the connection] 03:17:22 pfo [n=pfo@chello084114049188.14.vie.surfer.at] has joined #scheme 03:23:24 gaze__ [n=gaze@Manzanita-40-198.resnet.ucsb.edu] has joined #scheme 03:27:37 -!- dfeuer_ is now known as dfeuer 03:34:35 -!- grettke [n=grettke@CPE-65-31-142-107.wi.res.rr.com] has quit [] 03:43:59 -!- tarbo [n=me@unaffiliated/tarbo] has quit [Read error: 104 (Connection reset by peer)] 03:48:34 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [Remote closed the connection] 03:54:00 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 03:57:50 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 04:01:23 tarbo [n=me@unaffiliated/tarbo] has joined #scheme 04:10:06 -!- JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has quit ["This computer has gone to sleep"] 04:13:19 -!- jao [n=jao@148.Red-83-39-135.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 04:34:51 -!- Victorr [n=Victorr@modemcable247.139-80-70.mc.videotron.ca] has quit [] 04:35:19 Yes! It's working! ... Mostly. 04:37:12 -!- MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has quit [Remote closed the connection] 04:38:30 -!- jberg [n=johan@229.84-48-210.nextgentel.com] has quit ["leaving"] 04:43:34 -!- arcfide [n=arcfide@adsl-99-186-239-125.dsl.bltnin.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 04:51:13 -!- Jstick [n=e@c-76-19-197-119.hsd1.ma.comcast.net] has quit [Read error: 145 (Connection timed out)] 05:41:53 repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 05:42:17 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 05:43:16 amazon10x [i=amazon10@gateway/shell/blinkenshell.org/x-7aae87dc6c451fec] has joined #scheme 05:43:39 hello 05:44:20 i'm trying to make a function that has three parameters, the last of which is optional and will have a value of 0 if the caller doesn't pass a value 05:45:53 i could do this by doing the period before the last variable which lets the procedure take any number of arguments 05:46:15 but then i would have to check if there has been given more than three parameters 05:46:32 so this will work, but my question is: is there a better way to do this? 05:48:01 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 06:02:10 -!- orgy_ [n=ratm_@pD9FFBC93.dip.t-dialin.net] has quit [Read error: 113 (No route to host)] 06:10:00 thom_logn [n=thom@pool-96-229-99-100.lsanca.dsl-w.verizon.net] has joined #scheme 06:19:05 ejs [n=eugen@63-134-124-91.pool.ukrtel.net] has joined #scheme 06:22:04 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:38:58 amazon10x: Some schemes have better tools. 06:50:35 -!- ejs [n=eugen@63-134-124-91.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 06:51:21 -!- hark [n=strider@hark.slew.org] has quit [Read error: 101 (Network is unreachable)] 06:54:20 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 07:02:11 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 113 (No route to host)] 07:02:13 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 07:04:20 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit [Read error: 110 (Connection timed out)] 07:10:50 -!- sreeram [n=sreeram@122.164.213.204] has quit [] 07:23:37 jwh335 [n=will@adsl-240-38-122.jan.bellsouth.net] has joined #scheme 07:23:45 -!- jwh335 [n=will@adsl-240-38-122.jan.bellsouth.net] has left #scheme 07:24:45 jwh335 [n=will@adsl-240-38-122.jan.bellsouth.net] has joined #scheme 07:34:18 -!- repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 07:34:45 reprore_ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 07:49:57 adrian3 [n=adrian@84.232.185.52] has joined #scheme 07:50:57 breily_ [n=breily@173.15.192.254] has joined #scheme 07:55:27 -!- gaze__ [n=gaze@Manzanita-40-198.resnet.ucsb.edu] has quit [] 07:58:29 -!- breily [n=breily@173.15.192.254] has quit [Read error: 110 (Connection timed out)] 08:06:20 schmalbe [n=bernhard@p549A055A.dip0.t-ipconnect.de] has joined #scheme 08:07:13 sreeram [n=sreeram@122.164.213.204] has joined #scheme 08:12:33 -!- halfcore is now known as constable 08:12:47 -!- constable is now known as halfcore 08:18:48 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 08:21:32 jwh3351 [n=will@adsl-240-38-122.jan.bellsouth.net] has joined #scheme 08:22:43 foof [n=user@dn157-046.naist.jp] has joined #scheme 08:22:48 -!- jwh335 [n=will@adsl-240-38-122.jan.bellsouth.net] has quit [Read error: 104 (Connection reset by peer)] 08:23:05 -!- jwh3351 [n=will@adsl-240-38-122.jan.bellsouth.net] has quit [Client Quit] 08:23:18 jwh335 [n=will@adsl-240-38-122.jan.bellsouth.net] has joined #scheme 08:25:31 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 08:26:14 breily [n=breily@173.15.192.254] has joined #scheme 08:27:20 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 08:32:18 repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 08:32:19 -!- reprore_ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 08:33:29 -!- breily_ [n=breily@173.15.192.254] has quit [Read error: 110 (Connection timed out)] 08:56:00 -!- jwh335 [n=will@adsl-240-38-122.jan.bellsouth.net] has quit ["Leaving."] 09:14:43 lore17 [n=jed@c-98-232-225-102.hsd1.or.comcast.net] has joined #scheme 09:37:24 -!- adrian3 [n=adrian@84.232.185.52] has quit [Remote closed the connection] 09:38:07 -!- davidad [n=me@NORTHWEST-THIRTYFIVE-FOUR-TWENTY-TWO.MIT.EDU] has quit [Remote closed the connection] 09:39:30 jewel_ [n=jewel@dsl-242-133-68.telkomadsl.co.za] has joined #scheme 09:39:58 -!- lore17 [n=jed@c-98-232-225-102.hsd1.or.comcast.net] has quit ["Leaving"] 09:44:30 andy_ [n=andy@87.113.17.251.plusnet.pte-ag1.dyn.plus.net] has joined #scheme 09:50:31 -!- sreeram [n=sreeram@122.164.213.204] has quit [] 09:56:02 dsmith [i=mj1sew5q@cpe-71-74-230-225.neo.res.rr.com] has joined #scheme 09:56:53 athos [n=philipp@92.250.250.68] has joined #scheme 10:02:28 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #scheme 10:02:32 hark [n=strider@hark.slew.org] has joined #scheme 10:07:21 eli: any chance you release before tomorrow? 10:12:34 Yes. 10:12:47 Hopefully in a few hours. 10:37:54 `sorrow` [n=kvirc@92.4.210.217] has joined #scheme 10:46:02 sreeram [n=sreeram@122.165.2.126] has joined #scheme 11:02:39 -!- sreeram [n=sreeram@122.165.2.126] has quit [Read error: 104 (Connection reset by peer)] 11:07:29 -!- `sorrow` [n=kvirc@92.4.210.217] has quit ["KVIrc 3.4.0 Virgo http://www.kvirc.net/"] 11:16:04 -!- ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has quit [Read error: 104 (Connection reset by peer)] 11:21:07 eli: I didn't quite understand your comment from yesterday (about not having define even), but I think I already solved that part by loading r5rs explicitly. Now I only need to re-enable case sensitivity. 11:21:20 mzscheme -l r5rs/init -l srfi/27 -f ising.scm -e "(main 10 10)" <== this is my current call 11:21:42 -!- greg` [n=greg@ip72-207-244-108.br.br.cox.net] has quit [Read error: 60 (Operation timed out)] 11:22:42 ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has joined #scheme 11:23:04 hkBst: Do you *want* R5RS as your language? 11:23:35 eli: is that a trick question? 11:23:44 Not at all. 11:24:07 I need case insensitivity, but for the rest my program is r5rs+srfi27 11:24:14 I need case *sensitivity, but for the rest my program is r5rs+srfi27 11:24:35 So you want a language that is like r5rs but case sensitive? 11:24:39 yes 11:25:09 Is there any reason that something like `scheme/base' doesn't work? 11:26:11 ? 11:28:17 eli: no :) that seems to do the trick. 11:28:22 thanks 11:29:12 That was the reason I asked. There are relatively simple solutions for r5rs+case-insensitive, but `scheme/base' makes them unneeded. 11:29:34 This is, BTW, related to your question, 11:30:03 when you do `mzscheme -f foo.scm' you're basically trying to load "foo.scm" into a completely empty repl. 11:30:29 It doesn't make sense now for the repl to be populated since `scheme' and `scheme/base' and `r5rs' are all equal citizens. 11:31:05 I see 11:31:08 So to make `-f' work you need *some* bindings for the basic stuff (like function application and datums etc), 11:31:20 sreeram [n=sreeram@61.247.251.10] has joined #scheme 11:31:23 you can get it with `-l r5rs' or you can get it with `-l scheme/base'. 11:31:48 My guess, based on yesterday, is that you were just confused about this, and r5rs was not really necessary... 11:33:16 eli: (I am still a bit confused ;] ) Is there any difference between `-l r5rs' and `-l scheme/base'? 11:33:41 eli: I see mzscheme handles with-output-to-file differently from my other schemes, in that it complains when the target file exists. 11:34:42 eli: and `time' is not there by default 11:34:48 hkBst: re the first question -- yes, of course; `scheme/base' provides a bunch of stuff that is missing from `r5rs', as well as some things with different semantics. 11:35:50 re your second question, yes, it throws an error, you need to (with-output-to-file #:exists 'truncate (lambda () stuff)) -- or a number of other flags. 11:36:00 -!- sreeram [n=sreeram@61.247.251.10] has quit [Client Quit] 11:36:01 And re the last one, `time' should be there. 11:36:13 rudybot_: init scheme/base 11:36:14 eli: your scheme/base sandbox is ready 11:36:21 rudybot_: eval (time "blah") 11:36:22 eli: ; Value: "blah" 11:36:23 eli: ; stdout: "cpu time: 0 real time: 0 gc time: 0\n" 11:36:26 There. 11:36:36 rudybot_: describe time 11:36:37 eli: eh? Try "rudybot_: help". 11:36:42 rudybot_: help 11:36:42 eli: help [], version, quote, source, seen , uptime, init [], eval ..., give ..., apropos ..., desc , doc , later "tell" ... 11:36:47 eli: oh indeed. I guess that's one difference between r5rs and scheme/base :) 11:36:51 rudybot_: desc time 11:36:51 eli: `time' is a bound identifier, defined in "scheme/private/more-scheme.ss" required through "scheme/base.ss" 11:37:30 hkBst: Yes, the `r5rs' language contains exactly r5rs. 11:41:32 eli: is there a way to specify that keyword argument on the command line, or redefine with-output-to-file? Something like so: 11:41:35 mzscheme -l scheme/base -l srfi/27 -f ising.scm -e "(define (with-output-to-file file thunk) (with-output-to-file #:exists 'truncate file thunk)) (time (main 10 10))" 11:41:51 it's not working this way 11:42:35 You can, but the easiest way to do that is using a module. 11:42:59 It will be something like: #lang scheme/base 11:43:28 (define (my-with-output-to-file thunk) ...use with-output-to-file...) 11:43:47 (provide (rename-out [my-with-output-to-file with-output-to-file])) 11:44:07 Then just require this module after you require scheme/base, and it should overwrite that binding. 11:46:38 hmm, I would prefer to put it into the comand line for now. 11:49:40 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 60 (Operation timed out)] 11:49:59 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 11:50:30 mzscheme -l scheme/base -l srfi/27 -f ising.scm -e "(define (wotf file thunk) (with-output-to-file #:exists 'truncate file thunk)) (define with-output-to-file wotf) (time (main 10 10))" 11:50:46 eli: why does something like that not work? 11:56:42 Edico [n=Edico@unaffiliated/edico] has joined #scheme 11:57:05 hkBst: If you *really* want to put it in the commant-line, then the bad old r5rs hacks can work I think. 11:57:53 (define with-output-to-file (let ([old with-output-to-file]) (lambda (file thunk) (old #:exists 'truncate thunk)))) 11:57:58 Something like that. 12:01:26 eli: reference to undefined identifier: old 12:04:13 do I have to set some switch to allow redefinition of with-output-to-file perhaps? 12:05:47 This is weird. I just tried it and it worked: 12:05:49 mz -l scheme/base -e "(define with-output-to-file (let ([old with-output-to-file]) (lambda (file thunk) (old file #:exists 'truncate thunk))))" -e '(with-output-to-file "foo" newline)' 12:05:55 deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has joined #scheme 12:07:38 yes, that works here too. Hmmm 12:11:49 eli: I was redefining after loading my file, so that's why it didn't work. Sorry :) and thanks again. 12:15:32 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 12:17:18 hotblack23 [n=jh@p5B055823.dip.t-dialin.net] has joined #scheme 12:17:31 eli: mzscheme -l scheme/base -l srfi/27 -e "(define (with-output-to-file file thunk) (let ((wotf with-output-to-file)) (lambda (file thunk) (wotf file #:exists 'truncate thunk))))" -f ising.scm -e "(time (main 10 10))" 12:17:49 it doesn't run the thunk anymore 12:18:37 (with-output-to-file file thunk) 12:19:40 leppie: ? 12:20:09 that should just be: with-output-to-file 12:20:24 oh right :) 12:21:29 yes, it works :) 12:22:55 mzscheme seems to use the same random number generator as gambit and larceny, with gauche being the odd one out, so far. 12:27:24 how can you tell? 12:29:19 breily_ [n=breily@173.15.192.254] has joined #scheme 12:32:36 jah [n=jah@22.56.76-86.rev.gaoland.net] has joined #scheme 12:32:54 -!- deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has quit [] 12:35:07 leppie: the maze produced depends on it :) 12:35:28 -!- synthase [n=synthase@68.63.48.10] has quit [Read error: 145 (Connection timed out)] 12:36:22 leppie: since it's only pseudorandom, it's actually deterministic up to the rng 12:36:24 -!- breily [n=breily@173.15.192.254] has quit [Read error: 110 (Connection timed out)] 12:37:09 oh so you just give a constant seed 12:37:35 yes 12:37:58 i have no idea what I am using :) It just comes from .NET 12:43:51 rmns [n=ramunas@78-61-90-37.static.zebra.lt] has joined #scheme 12:44:05 -!- rmns [n=ramunas@78-61-90-37.static.zebra.lt] has left #scheme 12:44:10 rmns [n=ramunas@78-61-90-37.static.zebra.lt] has joined #scheme 12:48:56 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 12:50:36 annodomini_ [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:01:27 mike [n=m@dslb-088-066-255-105.pools.arcor-ip.net] has joined #scheme 13:01:55 -!- mike is now known as Guest32633 13:04:33 synthase [n=synthase@68.63.48.10] has joined #scheme 13:07:09 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 13:14:29 luz [n=davids@189.60.54.152] has joined #scheme 13:16:26 orgy` [n=ratm_@pD9FFBC93.dip.t-dialin.net] has joined #scheme 13:22:29 -!- jah [n=jah@22.56.76-86.rev.gaoland.net] has quit ["Quitte"] 13:25:59 vixey [n=yoo@amcant.demon.co.uk] has joined #scheme 13:36:15 -!- sepult_ [n=buggarag@xdsl-87-78-145-143.netcologne.de] has quit ["leaving"] 13:41:15 sepult [n=buggarag@xdsl-87-78-145-143.netcologne.de] has joined #scheme 13:41:54 deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has joined #scheme 13:44:04 -!- Guest32633 [n=m@dslb-088-066-255-105.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 13:50:37 breily [n=breily@173.15.192.254] has joined #scheme 13:56:27 -!- breily_ [n=breily@173.15.192.254] has quit [Read error: 110 (Connection timed out)] 14:05:24 Nshag [n=shagoune@Mix-Orleans-106-1-102.w193-248.abo.wanadoo.fr] has joined #scheme 14:06:18 mike [n=m@88.67.45.80] has joined #scheme 14:06:43 -!- mike is now known as Guest92099 14:17:51 -!- repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 14:29:03 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [] 14:39:34 JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has joined #scheme 14:40:33 RageOfThou [n=RageOfTh@92.36.173.168] has joined #scheme 14:41:19 sepult_ [n=buggarag@xdsl-87-78-153-130.netcologne.de] has joined #scheme 14:42:09 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 14:42:28 -!- sepult_ [n=buggarag@xdsl-87-78-153-130.netcologne.de] has quit [Client Quit] 14:42:59 -!- sepult [n=buggarag@xdsl-87-78-145-143.netcologne.de] has quit [Nick collision from services.] 14:43:18 annodomini_ [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 14:44:05 sepult [n=buggarag@xdsl-87-78-153-130.netcologne.de] has joined #scheme 14:46:53 reprore [n=reprore@EM114-48-32-52.pool.e-mobile.ne.jp] has joined #scheme 14:48:49 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [] 14:59:08 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 15:00:34 -!- andy_ [n=andy@87.113.17.251.plusnet.pte-ag1.dyn.plus.net] has quit [Nick collision from services.] 15:11:58 -!- reprore [n=reprore@EM114-48-32-52.pool.e-mobile.ne.jp] has quit [Client Quit] 15:20:35 sreeram [n=sreeram@122.164.213.204] has joined #scheme 15:23:29 annodomini [n=lambda@64.30.3.122] has joined #scheme 15:24:04 annodomini_ [n=lambda@64.30.3.122] has joined #scheme 15:37:11 -!- schmalbe [n=bernhard@p549A055A.dip0.t-ipconnect.de] has quit [Remote closed the connection] 15:38:26 [[[mark]]] [n=mark@60.53.211.179] has joined #scheme 15:38:55 -!- JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has quit ["This computer has gone to sleep"] 15:39:52 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 15:41:24 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 15:42:24 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 15:47:11 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 15:50:23 plt-scheme.org is very inconvenient to use. 15:54:27 JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has joined #scheme 15:59:57 -!- grnman [i=grnman@shell.thehostbusters.com] has quit ["leaving"] 16:08:12 schmalbe [n=bernhard@p549A055A.dip0.t-ipconnect.de] has joined #scheme 16:19:11 What are you trying to use it for, ASau? 16:19:40 I want to find direct links to distributed files. 16:19:49 CGI is evil. 16:20:05 That's at http://planet.plt-scheme.org/ 16:20:29 CGI? It's inconvenient...? 16:20:51 Oh you mean the download. 16:21:28 It's better than Sourceforge. 16:21:33 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 16:21:46 These are not files I'm looking for. 16:22:28 WHY is that meme so popular all of a sudden?! 16:22:39 which one 16:22:42 -!- rudybot_ is now known as rudybot 16:23:06 ASau: try http://www.eecs.northwestern.edu/plt-scheme/4.1.4/plt/plt-4.1.4-src-unix.tgz :p 16:23:08 -rudybot:#scheme- http://tinyurl.com/cloxhs 16:23:25 synx: where's the _INDEX_? 16:23:33 I don't think poorly of plt just because they can't figure out round robin DNS mirrors. 16:23:44 vixey: "These are not the X you are looking for" 16:23:47 The question is _not_ about distributed file itself. 16:24:18 ASau: The index is at http://plt-scheme.org/index.html :> 16:24:40 synx: it does _not_ contain references to distributed files. 16:24:56 _That_ is why plt-scheme.org is inconvenient. 16:25:02 You mean links? 16:25:02 is that off star wars? 16:25:19 vixey: I'm pretty sure it's from the new Battletoads 16:25:39 thanks synx 16:26:02 vixey: I assume it's from the original one ... Alec Guinness says to some guard "These are not the droids you're looking for". Messing with his mind, y'know. 16:27:27 "Move along" 16:27:42 you want to go home and rethink your life 16:27:59 I am home. 16:28:10 synx: look here: http://sourceforge.net/project/showfiles.php?group_id=203172&package_id=242122 16:28:12 -rudybot:#scheme- http://tinyurl.com/dyl9k6 16:28:30 This is why SourceForge is a _lot_ more convenient. 16:28:38 ASau: Since plt is hosted on various mirrors, the links to distributed files must be calculated, necessarily. 16:28:55 That's not convenient. Those aren't even direct links to the files! 16:29:23 It's just a poorly managed list of versions. 16:29:50 your mom is convenient 16:30:26 The only CGI plt-scheme.org uses is to redirect you to the right index file. Their forms are equivalent to links, oddly. 16:30:47 vixey: oh, burn :) 16:31:30 synx: MASTER_SITE_SOURCEFORGE+= \ 16:31:30 http://dfn.dl.sourceforge.net/sourceforge/ \ 16:31:30 http://easynews.dl.sourceforge.net/sourceforge/ \ 16:31:30 http://heanet.dl.sourceforge.net/sourceforge/ \ 16:31:47 And a dozen more prefices. 16:32:05 plt-scheme.org doesn't list anything either. 16:32:16 At least, it is pretty hard to find. 16:33:19 See you had to calculate those mirrors yourself though ASau. You could just as easily make (list "http://download.plt-scheme.org/bundles/4.1.4/plt/plt-4.1.4-src-unix.tgz" "http://www.eecs.northwestern.edu/plt-scheme/4.1.4/plt/plt-4.1.4-src-unix.tgz" "http://www.cs.utah.edu/plt/download/4.1.4/plt/plt-4.1.4-src-unix.tgz" "http://mirror.informatik.uni-tuebingen.de/mirror/plt/4.1.4/plt/plt-4.1.4-src-unix.tgz" ...) 16:33:21 -rudybot:#scheme- http://tinyurl.com/cloxhs 16:33:23 -rudybot:#scheme- http://tinyurl.com/djssfv 16:33:53 aha rudybot loves me 16:35:40 Where's the list itself? 16:35:50 Again, you give me list of distfiles. 16:36:00 Where's the _INDEX_? 16:36:08 I don't care of particular distfiles. 16:36:13 Just give me _INDEX_. 16:37:24 What's _INDEX_? 16:37:27 "http://www.cs.utah.edu/plt/download/" is index. 16:37:43 I see a list references to particular subdirectories. 16:38:05 I can see all existing subdirectories there. 16:38:13 But plt has a HTML document with direct links to the files... 16:38:24 Where is it? 16:38:53 http://download.plt-scheme.org/plt-4-1-4-src-unix-tgz.html 16:38:57 for instance. 16:39:08 This is _not_ index. 16:39:20 How is it not? 16:39:28 That's why plt-scheme.org is _very_ inconvenient to use. 16:39:37 http://download.plt-scheme.org/ has links to all the supported systems. 16:39:52 http://download.plt-scheme.org/all-versions.html has links to all the supported versions. 16:40:00 It doesn't contain references, that's why it isn't index. 16:40:04 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 16:40:12 That's why plt-scheme.org is _very_ inconvenient to use: 16:40:35 you don't understand what are needs of real users and developers. 16:40:43 http://www.cs.utah.edu/plt/download/ doesn't have any links to any downloads either. You still have to navigate the subdirectories. 16:41:13 Instead of providing plain usual index, you give "point-and-shoot" substitute. 16:42:58 This reminds me famous "Use KDE" talk. 16:43:54 BTW, how can I find this http://download.plt-scheme.org/plt-4-1-4-src-unix-tgz.html page? 16:44:01 How is it linked to main page? 16:44:59 Can I get at it in 2 hops? 16:45:01 3 hops? 16:45:03 4 hops? 16:45:27 Or how many hops is it? 16:47:50 Victorr [n=Victorr@modemcable247.139-80-70.mc.videotron.ca] has joined #scheme 16:47:52 Navigation starting from http://www.cs.utah.edu/plt/download/ is easy. 16:48:06 It is obvious, since hierarchy is regular. 16:49:21 Even if plt-scheme.org would simply redirected there, 16:49:21 it would be easy to find what you need. 16:49:27 It would only look archaic. 16:49:41 breily_ [n=breily@173.15.192.254] has joined #scheme 16:56:24 -!- breily [n=breily@173.15.192.254] has quit [Read error: 110 (Connection timed out)] 17:00:43 breily [n=breily@173.15.192.254] has joined #scheme 17:07:27 Rrrrrggghhhh. 17:07:47 -!- breily_ [n=breily@173.15.192.254] has quit [Connection timed out] 17:08:12 hi Rrrrriastragggdhhhh 17:08:15 Apparently, to Unix, the notion of a program's writing a file to disk and not proceeding until the file is actually stored on permanent, physical media...is hard. 17:10:03 yeah, the ext4 debate is, euhm, interesting ;) 17:10:34 Not to mention that the ext4 developers are dangerously confused about atomic versus reliable file replacement, and then suggest that data loss due to reordering bugs in ext4 are really the fault of the proprietary video drivers that Ubuntu includes. 17:10:50 s/are really/is really/1 17:11:57 (for making Linux crash more frequently) 17:12:39 So they suggest using fsync after writing any file. Forgetting the abject misguidance of this suggestion, it's actually a pragmatically bad suggestion for the sake of reliability, because it suggests that fsync even attempts to provide any useful guarantees. 17:13:30 Naturally, POSIX isn't clear enough on the subject when it says that `The fsync() function shall request that all data for the open file descriptor named by fildes is to be transferred to the storage device associated with the file described by fildes.... The fsync() function shall not return until the system has completed that action or until an error is detected.' 17:13:35 No, that wording isn't clear enough. 17:14:15 So on many Unices -- say, Linux, Darwin, NetBSD, AIX --, fsync doesn't actually do anything very useful; it just sort of nudges the file system and says, `hey, dude, could you try to do this file a little sooner? Thanks.' 17:14:34 It is perfectly happy to return long before any bits hit any physical spinning platters. 17:15:54 So instead Linux provides a system call sync_file_range, which includes eight different possible commands about precisely what action to take to synchronize a file to disk. 17:16:22 Darwin provides an fcntl command F_FULLFSYNC which means `yes, I really wanted you to do the fsync, please'. 17:16:51 NetBSD and AIX provide a system call fsync_range which has four different commands about synchronizing a file, of which two include the meaning `yes, I want this to hit the disk, damnit'. 17:17:30 Can you say MOBY LOSE?! 17:18:38 -!- schmalbe [n=bernhard@p549A055A.dip0.t-ipconnect.de] has quit [Remote closed the connection] 17:20:53 incubot: fsync Riastradh 17:20:58 I agree 100% you should *have* a procedural entry point. But I also want to be able to enter from the command line with usual command-line parsing. 17:27:23 incubot: your insight is refreshing 17:27:26 I will tell my friend you said I am innocence is refreshing. 17:30:39 incubot: you are too abrasive to have any friends 17:30:42 but one of my friends, a basic guy 17:31:27 ok 17:31:30 :) 17:32:31 the more coherent you talk to it the less grammatical its response seems ;P 17:32:40 incubot: yow 17:33:18 incubot: It's prog-o-clock 17:33:22 So why's your clock read 2:24? 17:34:25 -!- Guest92099 [n=m@88.67.45.80] has quit ["This computer has gone to sleep"] 17:41:12 jah [n=jah@juv34-5-88-167-73-110.fbx.proxad.net] has joined #scheme 17:41:20 -!- jah [n=jah@juv34-5-88-167-73-110.fbx.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 17:49:25 hkBst: i added a few proc to my constant foldable list (I only had one in there, kinda forgot I had it) and running ising with 10 10 in 20 seconds now :) 17:52:30 leppie: nice :) 17:53:15 hkBst, you're the chap who recently asked about using SRFI 43 in Larceny, right? 17:53:22 yes ir 17:53:24 sir* 17:53:45 Did that lead to your using it? 17:53:55 no not yet 17:54:04 and not really planning to either 17:54:49 Did I persuade you against it? 17:56:05 -!- dmoerner [n=dmr@ppp-71-139-45-71.dsl.snfc21.pacbell.net] has quit [Read error: 110 (Connection timed out)] 17:56:11 ejs [n=eugen@119-228-178-94.pool.ukrtel.net] has joined #scheme 17:56:39 Riastradh: no, not really :) but gambit is the main implementation of my simulation for now since it is the fastest and it doesn't come with srfi-43. 17:58:37 Riastradh: did you want to dissuade me? 17:59:28 What did you want to use it for? 17:59:31 btw did you see http://willdonnelly.wordpress.com/2009/03/14/runtime-scheme-detection/ 17:59:47 Riastradh: only vector-unfold really, nothing fancy 18:00:01 I suppose I could write my own just as easily 18:00:43 my own vector-unfold 18:01:18 I hadn't seen that, but...bletch. The sentiment is misguided: `To make simple, portable libraries, we need to find out some details about the Scheme implementation the code is running under.' That's completely wrong; you need to *avoid* those details so that your program is independent of them. 18:04:25 the alternative is to find out the details by using a specific way to start your program, but how does that work for libraries? 18:05:37 with this you can have a library do the abstracting for you instead of your startup files doing it 18:07:35 No. The alternative is to write your program using clear abstractions, and independently of pecularities of the implementation you're developing on. Then someone else can implement the abstractions on another host and run your code without change. 18:08:01 The distinction of `libraries' and `programs' is a red herring. 18:13:30 in the end there will always need to be a way to distinguish to make this porting possible. This provides a way to make the distinction. I don't see how that implies bad code.] 18:13:38 No. 18:13:49 Please justify your assertion `there will always need to be a way to distinguish'. 18:14:21 well, how else are you gonna smooth over the fact that implementation X does A and implementation Y does B? 18:14:40 unless there is a piece of code in which you know whether you are in X or in Y 18:14:43 Use a common interface that is expressible in both implementations. 18:15:03 and the implementation of that interface will need to know the difference 18:15:08 No. 18:15:38 because in your documentation you wil write, use implX for X and implY for Y 18:15:50 and then it will rely on that and thus know 18:17:08 and those separate implementation will probably share no code which is less than what is the probable maximum 18:21:31 well, maybe not that last sentence, but anyway 18:21:48 -!- Victorr [n=Victorr@modemcable247.139-80-70.mc.videotron.ca] has quit [] 18:25:42 Riastradh: is that not what you had in mind? 18:25:59 I was distracted by another conversation, and waiting for you to elaborate, sorry. 18:27:05 I didn't follow the last couple of things you said. 18:28:14 ejs1 [n=eugen@119-228-178-94.pool.ukrtel.net] has joined #scheme 18:29:18 Riastradh: aren't you saying that the proper way to make your code run in multiple implementations is to use proper abstractions (no argument there) and then to implement those abstractions for each implementation? 18:29:25 Yes. 18:29:54 So you will designate that certain files are to be used by certain implementations, right? 18:30:08 for the purpose of implementing the abstractions 18:30:13 Sure. 18:30:50 but with this you could just make those one file and that one file could be part of your program if you want 18:32:10 There are plenty of things you could do; you could also dance about nude in a cemetary singing hallelujah. 18:33:08 the difference is that that would be ineffective to achieving a program that runs in multiple implementations 18:33:27 So is requiring that your program fit in a single file. 18:33:34 Why do you care about one file versus two? 18:34:03 for small programs I care that I am not forced to have multiple files 18:34:37 Sorry, that's not justification. I'm still waiting for a justification that `there will always need to be a way to distinguish'. 18:35:08 The key word here is `need', not `will make my life marginally more convenient at the expense of anyone trying to understand and edit my program'. 18:36:04 breily_ [n=breily@173.15.192.254] has joined #scheme 18:36:05 Riastradh: how are you gonna implement abstraction A if you don't know what the underlying implementation is? 18:36:35 Sorry, I don't understand your question. Can you please be more specific? 18:38:51 Riastradh: the point is that having seperate files is ONE way of knowing which implementations you are running in... 18:39:08 why else are these files separate in the first place? 18:39:44 this blog describes ANOTHER way to know and it doesn't involve separate files. 18:39:59 Sorry, I have to eat dinner now. People are shouting at me ;P 18:41:11 The files are separate because programs are better organized that way. What is described is an unreliable test for information that is not actually useful for many purposes, such as making a program usable by other modules in the host, using or defining macros differently for different hosts, &c. 18:41:24 -!- breily [n=breily@173.15.192.254] has quit [Success] 18:43:44 -!- ejs1 [n=eugen@119-228-178-94.pool.ukrtel.net] has quit ["Leaving"] 18:44:19 gaze__ [n=gaze@Manzanita-40-198.resnet.ucsb.edu] has joined #scheme 18:44:57 -!- RageOfThou [n=RageOfTh@92.36.173.168] has quit [Read error: 110 (Connection timed out)] 18:45:15 pitui` [n=pitui@c-76-98-192-104.hsd1.nj.comcast.net] has joined #scheme 18:47:33 -!- pitui` [n=pitui@c-76-98-192-104.hsd1.nj.comcast.net] has quit [Remote closed the connection] 18:54:22 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 19:03:13 Edico [n=Edico@unaffiliated/edico] has joined #scheme 19:03:26 -!- breily_ [n=breily@173.15.192.254] has quit [Read error: 110 (Connection timed out)] 19:05:18 -!- Judofyr [n=Judofyr@c349BBF51.dhcp.bluecom.no] has quit ["raise Hand, 'wave'"] 19:15:03 I'd like to make a list of values where you can insert or remove values from the middle of the list. 19:15:21 I'm going to use a list of course, but I wonder if there's a better abstraction out there, or something more efficient... 19:20:21 -!- gaze__ [n=gaze@Manzanita-40-198.resnet.ucsb.edu] has quit [] 19:24:48 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 19:25:41 geckosenator [n=sean@71.237.94.78] has joined #scheme 19:36:08 meanburrito920_ [n=John@adsl-76-246-189-31.dsl.lsan03.sbcglobal.net] has joined #scheme 19:39:10 often I end up having to do like: (let loop ([a (get-elaborate-value 'with-typo-potential)]) ... (loop (get-elaborate-value 'with-type-potential))) 19:39:28 Is there a better way to only have the next-argument thing typed once? 19:39:50 Why is it an argument to LOOP? 19:40:15 don't use this ridiculous []'s 19:40:33 It's the next value in the loop. 19:40:45 (let loop ((a-symbol 'with-typo-potential)) (let ((a (get-elaborate-value a-symbol))) ... (loop 'with-type-potential))) 19:41:12 []'s make it harder to read 19:41:42 geckosen1tor [n=sean@71.237.94.78] has joined #scheme 19:42:02 oops you typoed that last symbol :3 19:42:04 []'s makes it easier to read... 19:42:16 synx: what 19:42:54 They do. You can match them at a glance instead of having to count. 19:43:21 eg, maybe (let ((get-next (lambda () (get-elaborate-value 'with-typo-potential)))) (let loop ((a (get-next))) ... (loop (get-next))))) 19:43:22 synx: oops you typoed that last symbol :3 -- what 19:43:31 Two lets always looks busy to me though. 19:43:50 synx: I thought you wanted to have get-elaborate-value only once 19:44:17 Why did you copy (GET-NEXT)? 19:44:20 vixey: The point I was trying to make is if you accidentally typo in the second part, say replacing "typo" with "type" then you end up with a problem. 19:44:20 No I need it for every execution of the loop. It gets the next value. 19:44:23 (let loop () (let ((a (get-next))) ...)) 19:44:57 Riastradh: I'm going to the next iteration of the loop. 19:45:48 -!- JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has quit ["This computer has gone to sleep"] 19:45:59 ? 19:46:30 JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has joined #scheme 19:47:08 Oh I see. 19:47:25 Sorry, a bit slow there. 19:47:40 It's still two nested lets though. 19:47:51 So? 19:49:23 Hard to tell when variables are in scope then, leaves the opportunity to refer to a outside the inner let. 19:49:31 Just makes me correct annoying errors, usually. 19:49:40 ?? 19:49:54 I can't even parse what you're saying, let alone follow it. 19:50:00 That does seem like a better solution though. Guess I'll settle for it... 19:52:50 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 19:52:58 With many nested lets, it's more difficult to examine when variables are in their defined scope. That leaves me, a humble sinner, the opportunity to refer to the variables outside of their scope, thus having annoying errors to correct. 19:53:17 Tough. Indent your code. 19:54:18 Well gee, when I said "That does seem like a better solution" I didn't think that at all. 19:55:00 why ident your code when you could invent a new kind of parenthesis instead 19:57:09 maybe I'll use tabulature to indicate nesting 19:59:06 X-Scale [i=email@2001:470:1f08:b3d:0:0:0:2] has joined #scheme 19:59:35 -!- kniu [n=kniu@DA-YU.RES.CMU.EDU] has quit [Read error: 145 (Connection timed out)] 20:05:27 -!- JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has quit ["This computer has gone to sleep"] 20:05:56 sanita [n=sanchy@89.241.150.221] has joined #scheme 20:21:02 ecraven [n=nex@140.78.42.103] has joined #scheme 20:24:59 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 20:25:51 synx: re "they can't figure out round robin DNS mirrors" -- that's highly bogus; if you know what round robin dns entries are, then you should also know why it won't work in the plt case. 20:25:59 gnomon, I thought I might let you know that something has possessed me to blather further on my blag. 20:26:31 ASau: (a) The Northeastern directory three does have index files; (b) index files don't make the hierarchy any more real than other links. 20:27:27 ASau: (c) the plt tree is also available is ftp and rsync form -- I've made that known several time yet the demand for this (except for mirror maintainers) has been (in all my PLT years) absolutely zero. 20:27:59 ASau: so given that you're the first one ever to complain about this, I hardly see it as "don't understand what are needs of real users and developers". 20:29:25 ASau: And just in case you really did want links instead of pointless flaming: http://download.plt-scheme.org/bundles/, ftp://download.plt-scheme.org/pub/plt/bundles/, rsync://download.plt-scheme.org/plt-bundles/. 20:31:23 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 20:32:06 eli: It's partially political, because all the mirrors have to host the file via the same URL path with round robin mirrors... I didn't mean to imply incompetence. 20:34:28 synx: That (the reason) is correct -- and it's not political at all; mirrors are hosted by random people, and AFAICT, there is not a single one (except for the Northeastern machine, which is a server I manage) of them hosted on a machine where the contact person actually controls the web server configuration. 20:35:16 So, having a RR mirror scheme would mean that we'll end up with just one site where it's possible to use it. Kind of take the edge off of "mirrors". 20:38:08 -!- noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 20:38:48 noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has joined #scheme 20:41:02 Right, so it's politics. If you had control of the contact person or the web server, you could ensure they're all hosted in such a fashion that allows the weird virtual host stuff. 20:41:47 I don't mind choosing a mirror if it gives the mirror hosters more freedom and less hassle. Other people just want a direct link though. A directory even. 20:42:57 Jstick [n=e@c-98-216-218-179.hsd1.ma.comcast.net] has joined #scheme 20:43:02 Though you could admittedly just do a 302 redirect to any of the mirrors at any URL, but eh... 20:43:40 anyone have a second? im trying to define a simple function but its really bugging me 20:44:15 I don't know how you make this to be "politics", but whatever. For links, I posted three "directory" links for http, ftp, and rsync; and HTTP redirects suck for this kind of thing, a thousand times more than a lack of a directory. 20:44:41 Riastradh, thanks for the news! I'll go read it in a bit. 20:45:03 kniu [n=kniu@OCEANSPRAY.ANDREW.CMU.EDU] has joined #scheme 20:45:17 -!- gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit ["Hardware upgrade (power supply, video card)"] 20:45:51 Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has joined #scheme 20:47:16 -!- Jstick [n=e@c-98-216-218-179.hsd1.ma.comcast.net] has quit [] 20:57:39 davidad [n=me@NORTHWEST-THIRTYFIVE-FOUR-TWENTY-TWO.MIT.EDU] has joined #scheme 21:01:26 nan8 [n=user@dslb-088-066-243-107.pools.arcor-ip.net] has joined #scheme 21:12:28 -!- noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 21:13:39 noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has joined #scheme 21:14:43 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 21:28:41 xz [n=ramana@158.20.168.202-static.velocitynet.com.au] has joined #scheme 21:29:39 in syntax-rules with literals list (quote quasiquote) why doesn't this pattern (_ 'a ... `f . k) match this invocation (macro 'a 'b `f `g) ? 21:29:44 Victorr [n=Victorr@modemcable247.139-80-70.mc.videotron.ca] has joined #scheme 21:30:35 The pattern language isn't clever enough to discern that that pattern is unambiguous. 21:31:09 Riastradh: thanks. any tricks for getting around that? 21:31:22 Write a hairer macro that picks apart the pattern incrementally. 21:31:44 Riastradh: could you give me an example template line? 21:31:49 Riastradh: I mean pattern line 21:31:52 You'll need to write a recursive macro. 21:34:39 -!- xz [n=ramana@158.20.168.202-static.velocitynet.com.au] has quit ["leaving"] 21:34:44 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 21:35:25 can macros emit top-level macros? 21:35:29 Yes. 21:39:06 -!- dysinger [n=tim@cpe-75-80-200-182.hawaii.res.rr.com] has quit [] 21:50:13 JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has joined #scheme 21:50:52 -!- JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has quit [Client Quit] 21:51:27 dysinger [n=tim@cpe-75-80-200-182.hawaii.res.rr.com] has joined #scheme 21:52:02 JoelMcCracken [n=joelmccr@pool-96-236-231-39.pitbpa.east.verizon.net] has joined #scheme 21:52:57 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 21:53:07 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 21:53:13 -!- dysinger [n=tim@cpe-75-80-200-182.hawaii.res.rr.com] has quit [Client Quit] 22:02:24 -!- sanita [n=sanchy@89.241.150.221] has quit [] 22:02:55 mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 22:03:54 -!- tltstc [n=tltstc@cpe-76-90-92-154.socal.res.rr.com] has quit [] 22:04:58 jao [i=jao@dhcp-18-190-55-103.dyn.mit.edu] has joined #scheme 22:06:56 -!- nan8 [n=user@dslb-088-066-243-107.pools.arcor-ip.net] has quit [Connection timed out] 22:07:05 jwh335 [n=will@adsl-240-36-235.jan.bellsouth.net] has joined #scheme 22:21:35 -!- ejs [n=eugen@119-228-178-94.pool.ukrtel.net] has quit [Read error: 110 (Connection timed out)] 22:23:39 Say, with continuation barriers is it possible to implement unwind-protect? 22:24:33 I sure can't figure out how to get a function so protected to evaluate to a value twice. Escape continuations are one way, and others get blocked by the barrier. 22:27:36 They're one-way I mean, not that they're a way. 22:28:38 synx: Do you use PLT Scheme? 22:28:56 Quetzalcoatl_: why what ever gave you that idea 22:29:05 Continuation barriers. 22:29:21 ... 22:29:30 Yes. Yes I am using PLT Scheme. 22:30:10 PLT has a function called "dynamic-wind," which does basically the same thing as unwind-protect, but requires the use of lambda expressions. I wrote an unwind-protect using it. Hold on while I paste it. 22:30:44 dynamic-wind does an entirely different task... 22:31:15 No, it does the same thing: http://codepad.org/vwEUFcsJ 22:31:18 No, it doesn't. 22:31:26 ??? 22:31:37 -!- kniu [n=kniu@OCEANSPRAY.ANDREW.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 22:32:17 Yeah seriously Quetzalcoatl_ 22:32:18 (UNWIND-PROTECT
) evaluates , and guarantees that will be run precisely once when control exits . 22:32:23 Let me work up an example. 22:32:45 This is what it does in Common Lisp, that is. 22:33:39 (DYNAMIC-WIND ) calls , and guarantees that whenever control enters the extent of , will be called, and whenever control exits the extent of , will be called. 22:34:05 So, can be used to implement from unwind-protect. 22:34:10 No. 22:34:14 Why not? 22:34:19 will be called *whenever* control exits the extent of . 22:34:43 So? 22:34:47 In Common Lisp, control can exit at most once, so it can guarantee that will be called precisely once. 22:35:29 s/called/evaluated/1 22:35:38 In Scheme, control can exit again and again (thanks to continuations), and the thunk is called each and every time. 22:35:53 Yes. So with your definition, there is no guarantee that will be evaluated precisely once. 22:36:36 tltstc [n=tltstc@cpe-76-90-92-154.socal.res.rr.com] has joined #scheme 22:36:37 Shit. 22:38:00 http://codepad.org/zKmdAVsM 22:38:27 A better way to think about this is that UNWIND-PROTECT guarantees that will be run after control can no longer ever be in the extent of , so that can release any resources needed by the extent of . 22:40:05 Promises are only executed once. How about this? http://codepad.org/elAvEOGZ 22:40:05 Anyhoo, my idea for unwind-protect is this: 22:40:20 This leads to a useful definition of UNWIND-PROTECT in Scheme: associate a finalizer with the entrance to the extent, so that when control can no longer enter that extent, the garbage collector will run the finalizer. 22:40:27 http://codepad.org/IPJf2yAZ 22:40:47 No, Quetzalcoatl_, because control can re-enter the extent after the release of a resource that requires. 22:40:53 That's true Riastradh, except you can never determine when the garbage collector will run the finalizer. 22:41:07 Therefore unwind-protect can never return, by the definition I'm going by. 22:41:26 It'd have to keep a weak box and collect garbage in a loop until the box's contents vanished. 22:41:36 Please don't confuse conditions with control transfers. 22:41:42 In other words: Don't call CLEANUP inside a condition handler. 22:41:49 Thus throwing out any advantages that delaying garbage collection can have. 22:41:59 synx, huh? 22:42:14 Riastradh: cleanup must be called, but the exception must not be ignored, so I don't see where else to call it. 22:42:23 (Why are you folks using `codepad.org', by the way, rather than lisppaste?) 22:42:35 Riastradh: I mean even if you put (collect-garbage) inside your unwind-protect procedure, it still won't guarantee the finalizer is run when it exits. 22:42:40 synx, why must the protector be run when a condition is signalled? What if I restart somewhere inside the extent? 22:42:45 I'm just using it because Quetzalcoatl_ did :> 22:43:11 *Quetzalcoatl_* doesn't know the URL for lisppaste 22:43:14 lisppaste: url 22:43:14 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 22:43:17 Riastradh: The cleanup routine must be run in all cases, exception or not, before the unwind-protect returns. 22:43:45 Signalling a condition does *not* imply that control is about to exit the extent of the thunk. 22:44:20 If it reaches that exception handler it does. How would you signal a condition and not leave the thunk? 22:44:36 You could catch it yourself, but then it'd never reach my exception handler. 22:45:02 The thunk signals a condition. The REPL tells me that it signalled a condition. I tell it to restart somewhere inside the extent of the thunk. Control never exits the extent of the thunk. 22:45:53 Quetzalcoatl_: http://www.ccs.neu.edu/home/will/UWESC/unwind.sch && http://www.ccs.neu.edu/home/will/UWESC/uwesc.sch 22:47:57 This one is better because it guarantees that the body only executes once? 22:48:12 At the very least, any definition of UNWIND-PROTECT must guarantee that the protector is executed precisely once. 22:48:33 One way is to prohibit control from re-entering the extent of the body, but this is unnecessarily restrictive. 22:48:36 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 22:49:24 Maybe unnecessarily. 22:49:34 For example, if I define a procedure that opens a database connection and applies another procedure to each row in the results of a query, and then closes the database connection, I can turn that into a first-class database cursor using CWCC -- but only if this procedure allows re-entry. 22:49:42 You notice I do prohibit that re-entering though. That's why I was asking about continuation barriers. 22:50:28 tripwyre [n=sathya@117.193.163.119] has joined #scheme 22:50:57 Anyway, suffices if you want to prohibit re-entry. But you shouldn't prohibit re-entry unless you have a very good reason to. 22:51:15 -!- geckosen1tor [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 22:51:29 *Quetzalcoatl_* updates his unwind-protect with the second one suggested by mejja 22:51:48 For instance, if you read a pass phrase into a buffer and then decrypt a private key with it, it is legitimate to scrub the pass phrase buffer after decryption and prohibit re-entry into the decryption. 22:52:41 Except for such special cases, however, one should generally not prohibit re-entry into an extent. 22:54:31 That's nice to say, but... 22:54:54 But what? What's wrong with the definition of UNWIND-PROTECT in terms of DYNAMIC-WIND and finalizers which I gave you the other week? 22:55:05 If you register a finalizer on the continuation, to call the cleanup routine when it is garbage collected, how do you know when to return from unwind-protect? 22:55:24 You return from UNWIND-PROTECT when the protected thunk returns. 22:55:43 What if it returns twice? 22:55:50 Then UNWIND-PROTECT returns twice. 22:56:19 ...hmmm. Did you see the updated definition? I can't remember now. It is at the same location, just a little higher in the file. 22:56:29 When in that sequence is the finalizer called? 22:56:38 The finalizer is called when control can never re-enter the extent of the thunk. 22:56:56 It must be called before unwind-protect returns. 22:56:59 That's when the for that extent is garbage-collected. 22:56:59 Why? 22:57:12 Where did that requirement come from? 22:57:15 http://www.lispworks.com/documentation/HyperSpec/Body/s_unwind.htm 22:57:25 "before unwind-protect exits" 22:57:50 It's an important requirement. You could run out of file descriptors quite easily without. 22:57:51 I'm not asking about how UNWIND-PROTECT works in Common Lisp; I'm asking why you want to carry this aspect of it to Scheme. 22:58:07 Have you written a program that runs out of file descriptors in practical usage because of this? 22:58:15 Also "whether it terminates normally or is aborted" 22:58:30 Yes I have. Not pretty I can tell you... 22:59:22 If you want to cycle through a loop of 30,000 files, and perform an operation on each one's contents, without the guarantee that the file is closed at each iteration you're just screwed. 22:59:40 Same goes for any limited resource really. 22:59:46 If the Scheme system doesn't run the GC when that happens, then you can work around it manually by explicitly invoking the GC. 23:00:02 (by explicitly invoking the GC when opening a file signals an error about file descriptor exhaustion, that is) 23:00:13 Even if it does run the GC, file objects might not take up that much memory, so aren't designated as important enough to collect. 23:00:23 ??? 23:00:26 That is nonsense. 23:00:43 I mean, there are times when I run collect-garbage and it doesn't collect everything that's collectable. It's not deterministic. 23:01:08 Not conservative, that is. 23:02:36 I donno think that word means what you think it means. 23:03:33 eh, probably not 23:05:21 Anyway, it may be possible with continuation barriers (or something provided by PLT Scheme) to run the finalizer immediately if it is safe to do that -- namely, when no continuations have been captured that remember the entry point. 23:06:34 Pegazus_ [n=awefawe@201.253.217.14] has joined #scheme 23:10:25 RageOfThou [n=RageOfTh@92.36.159.0] has joined #scheme 23:11:56 gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 23:16:20 -!- jewel_ [n=jewel@dsl-242-133-68.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 23:17:32 -!- Pegazus [n=awefawe@201.253.217.14] has quit [Connection timed out] 23:21:23 kniu [n=kniu@CMU-326910.WV.CC.CMU.EDU] has joined #scheme 23:26:14 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 23:27:46 -!- rmns [n=ramunas@78-61-90-37.static.zebra.lt] has left #scheme 23:30:46 -!- jao [i=jao@dhcp-18-190-55-103.dyn.mit.edu] has quit [Read error: 110 (Connection timed out)] 23:35:40 -!- hotblack23 [n=jh@p5B055823.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 23:36:35 -!- jwh335 [n=will@adsl-240-36-235.jan.bellsouth.net] has quit [Read error: 104 (Connection reset by peer)] 23:37:23 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 23:38:16 -!- Nshag [n=shagoune@Mix-Orleans-106-1-102.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 23:39:27 Riastradh: I guess you already know about this https://bugs.launchpad.net/ubuntu/+source/linux/+bug/317781 23:39:32 jwh335 [n=will@adsl-240-36-235.jan.bellsouth.net] has joined #scheme 23:39:53 geckosenator [n=sean@71.237.94.78] has joined #scheme 23:41:29 jao [i=jao@dhcp-18-190-55-103.dyn.mit.edu] has joined #scheme 23:43:01 incubot: Have you ever read the unix haters handbook? 23:43:05 makes sense, since I read the Unix haters handbook before ever trying to run my own unix box 23:46:43 -!- mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 23:46:43 arcfide [n=arcfide@adsl-99-186-239-125.dsl.bltnin.sbcglobal.net] has joined #scheme 23:49:36 mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 23:53:17 neilv [n=user@dsl092-071-030.bos1.dsl.speakeasy.net] has joined #scheme 23:53:31 proqesi [n=user@unaffiliated/proqesi] has joined #scheme 23:53:40 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 23:58:46 -!- noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 23:59:51 noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has joined #scheme