00:02:37 -!- rbarraud [~rbarraud@118-92-148-103.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 00:05:12 -!- bgs100 is now known as bgs000 00:05:42 morphir [~morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 00:20:34 -!- MrFahrenheit [~RageOfTho@users-33-220.vinet.ba] has quit [Ping timeout: 265 seconds] 00:23:08 _JFT_ [~JFT@modemcable204.87-177-173.mc.videotron.ca] has joined #scheme 00:26:15 -!- morphir [~morphir@84-52-234.12.3p.ntebredband.no] has quit [Ping timeout: 240 seconds] 00:29:37 peddie [~peddie@c-67-160-245-238.hsd1.ca.comcast.net] has joined #scheme 00:30:02 -!- peddie [~peddie@c-67-160-245-238.hsd1.ca.comcast.net] has quit [Client Quit] 00:33:19 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Ping timeout: 258 seconds] 00:35:38 ah, yes, after looking for the name of the randomization algorithm... it's already implemented in scheme :D 00:36:08 Fisher-Yates! 00:36:41 so good night! o/ o/ 00:38:09 -!- alvatar [~alvatar@63.149.220.87.dynamic.jazztel.es] has left #scheme 00:39:49 twopoint718 [~chris@adsl-76-208-70-243.dsl.mdsnwi.sbcglobal.net] has joined #scheme 00:41:25 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 264 seconds] 00:44:47 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 00:45:11 jcowan, the Right Thing for exiting condition handlers: invoking the next handler. 00:45:21 For returning from condition handlers, that is. 00:45:31 Non-local exits should be just that; they should have no added semantics. 00:46:02 If you don't adopt this semantics for returning from condition handlers, then you need a different mechanism by which a handler can decline to handle a condition, which makes everything more complicated. 00:46:04 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Disconnected by services] 00:46:13 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 00:46:29 Returning from a handler should not effect a non-local exit by default; one can always build HANDLER-CASE on top of HANDLER-BIND. 00:46:47 -!- snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has quit [Quit: snarkyboojum] 00:51:43 -!- bgs000 is now known as bgs100 00:52:08 -!- twopoint718 [~chris@adsl-76-208-70-243.dsl.mdsnwi.sbcglobal.net] has left #scheme 00:52:23 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 01:00:59 Is there anyone here who has tried the plt guide on 'Web Applications' ? 01:01:52 -!- _JFT_ [~JFT@modemcable204.87-177-173.mc.videotron.ca] has quit [Quit: _JFT_] 01:01:58 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 260 seconds] 01:04:24 *sladegen* feels non-locally conditionally mishandled. 01:05:00 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 01:07:23 george__ [~george@189.107.138.247] has joined #scheme 01:07:42 -!- ws [wswieb@akson.sgh.waw.pl] has quit [Quit: ...] 01:07:49 incubot: chant, peeping tom had in irc client eeya eya yo, and a ban there and a kill-line there, trolling all around. 01:07:52 hate hate kill kill 01:08:10 *sladegen* stfus, enough with comeedic relief. 01:08:37 -!- george_ [~george@189.107.146.24] has quit [Ping timeout: 265 seconds] 01:12:35 -!- Axioplase_ is now known as Axioplase 01:18:32 -!- george__ [~george@189.107.138.247] has quit [Read error: Connection reset by peer] 01:18:42 george__ [~george@189.107.150.177] has joined #scheme 01:19:09 -!- george__ is now known as summersault 01:23:58 -!- celtics_lakers [~gavin@w005.z209031033.sjc-ca.dsl.cnc.net] has quit [Quit: Leaving.] 01:33:03 asarch [~asarch@189.188.151.240] has joined #scheme 01:33:57 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Ping timeout: 245 seconds] 01:37:04 R3cur51v3 [~Recursive@173-30-57-91.client.mchsi.com] has joined #scheme 01:41:59 -!- bgs100 is now known as bgs000 01:42:50 -!- bgs000 is now known as bgs100 01:50:40 -!- arthurmaciel [~user@187.43.255.228] has quit [Ping timeout: 265 seconds] 01:53:12 proq [~user@unaffiliated/proqesi] has joined #scheme 01:53:35 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Quit: This computer has gone to sleep] 01:57:35 xwl [~user@125.34.174.67] has joined #scheme 02:03:57 xissburg [~chatzilla@187.3.132.241] has joined #scheme 02:04:46 -!- Dark-Star|away [~michael@HSI-KBW-109-192-121-077.hsi6.kabel-badenwuerttemberg.de] has quit [Ping timeout: 276 seconds] 02:06:15 incubot: (procedure? (car '(+))) 02:06:16 #f 02:06:20 why?? 02:06:39 (car '(+)) isn't the procedure +? 02:06:55 You asked Scheme not to evaluate the form (+). Consequently, taking its car yields a symbol, not the value of the variable to which it is bound in the source program. 02:07:08 hm 02:07:22 incubot: (procedure? (car (list +))) 02:07:22 #t 02:07:34 incubot: (list '(+) (list +)) 02:07:34 ((+) (#)) 02:07:44 hm 02:07:53 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 02:08:00 I though quote and list was the same thing 02:08:05 No. 02:08:37 hm back to studying...thanks : ) 02:08:49 Dark-Star|away [~michael@HSI-KBW-109-192-121-077.hsi6.kabel-badenwuerttemberg.de] has joined #scheme 02:12:43 xissburg: if they were the same thing, one would not exist in Scheme. 02:13:49 uh I see, I think 02:21:50 saint_cypher [~saint_cyp@c-76-126-70-224.hsd1.ca.comcast.net] has joined #scheme 02:22:11 toekutr [~toekutr@adsl-69-107-114-28.dsl.pltn13.pacbell.net] has joined #scheme 02:23:57 -!- joast [~rick@76.178.178.72] has quit [Ping timeout: 245 seconds] 02:37:35 -!- Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has quit [Quit: Leaving] 02:39:09 joast [~rick@76.178.178.72] has joined #scheme 02:48:22 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 264 seconds] 02:49:07 rbarraud [~rbarraud@202-180-88-252.callplus.net.nz] has joined #scheme 02:51:33 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Ping timeout: 265 seconds] 02:52:32 timj__ [~timj@e176194201.adsl.alicedsl.de] has joined #scheme 02:53:47 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 02:55:08 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Read error: Connection reset by peer] 02:55:53 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 02:56:23 -!- timj_ [~timj@e176193119.adsl.alicedsl.de] has quit [Ping timeout: 265 seconds] 02:58:25 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 03:02:28 bombshelter13b_ [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 03:03:22 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 03:03:58 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Ping timeout: 258 seconds] 03:06:33 -!- rbarraud [~rbarraud@202-180-88-252.callplus.net.nz] has quit [Remote host closed the connection] 03:07:09 -!- bombshelter13b_ [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Remote host closed the connection] 03:08:03 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 03:16:11 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Quit: Leaving] 03:16:24 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Remote host closed the connection] 03:17:08 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 03:18:05 bombshelter13b_ [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 03:19:16 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 03:21:36 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Ping timeout: 258 seconds] 03:33:59 xissburg: scheme is pretty "orthogonal"; it tries hard to not have two ways to do the same thing. 03:35:05 hm ook 03:35:06 so 03:35:22 one more: why does this work? (+ '2 '3) 03:35:33 heh 03:35:37 rudybot: '2 03:35:37 *offby1: eh? Try "rudybot: help". 03:35:39 rudybot: eval '2 03:35:39 *offby1: ; Value: 2 03:35:42 ? 03:35:48 hm 03:35:49 short answer: dunno. 03:35:51 it tries hard. but it doesn't go over the top 03:36:07 ya 03:36:12 '2 is the same as (quote 2) ... which means "I really mean plain old '2', no need to evaluate it". 03:36:20 logically, numbers should need to be quoted 03:36:24 turns out that evaluating it (which is what you usually do) yields the same result anyway. 03:36:29 so its because its the same thing 03:36:33 hm 03:36:35 rudybot: eval 2 03:36:35 *offby1: ; Value: 2 03:36:37 rudybot: eval (eval 2) 03:36:38 *offby1: ; Value: 2 03:36:41 rudybot: eval (eval (eval 2)) 03:36:42 *offby1: ; Value: 2 03:36:45 get it? 03:36:48 *but* since evaluating to itself will never cause a problem or confusion, it's a permissible convenience 03:36:50 rudybot: eval + 03:36:52 xissburg: your sandbox is ready 03:36:52 xissburg: ; Value: # 03:37:01 rudybot: eval (eval (eval #x10)) 03:37:02 *offby1: ; Value: 16 03:37:04 eval '+ 03:37:13 rudybot: eval '+ 03:37:13 xissburg: ; Value: + 03:37:18 incubot: + 03:37:18 xwl [~user@125.34.174.67] has joined #scheme 03:37:25 incubot: plus, damn you 03:37:28 hmph 03:37:29 plus a whole bunch of side trips into other languages 03:37:38 rudybot: tell incubot how dumb he/she is 03:37:39 incubot: how dumb he/she is 03:37:42 (2) A student that is bright enough to try out higher order functions, but is still dumb enough to not switch to a language called "advanced" that is just two lines in the same language dialog menu does not exist. 03:37:44 *sigh* 03:37:50 rudybot: please to be telling incubot how dumb he/she is 03:37:51 *offby1: Maybe he/she means someting like the org-mode to ascii text export? 03:38:02 ha 03:38:02 -!- asarch [~asarch@189.188.151.240] has quit [Remote host closed the connection] 03:38:09 uh 03:38:11 it's like a conversation with eliza 03:38:26 thats a cool bot 03:38:38 rudybot: + 1 2 3 03:38:39 toast`: eh? Try "rudybot: help". 03:38:50 rudybot: eval (+ 1 2 3) 03:38:54 toast`: your sandbox is ready 03:38:54 toast`: ; Value: 6 03:39:14 rudybox: eval ((lambda (x) (x x)) (lambda (x) (x x))) 03:39:25 rbarraud [~rbarraud@202-180-88-252.callplus.net.nz] has joined #scheme 03:39:26 rudybot and incubot are fraternal twins separated at birth. 03:39:28 ... wait, please tell me it has a timeout 03:39:31 -!- bombshelter13b_ [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Remote host closed the connection] 03:39:36 *toast`* feels bad... 03:39:41 I don't think rudybox will ever recover. 03:39:50 so '+ is a symbol, + is a procedure. but '2 and 2 are both numbers, then numbers are symbols 03:39:51 :-( sorry 03:39:57 toast`: you spelled his name wrong :) 03:40:02 rudybot, not rudybox 03:40:03 *offby1: eval ((lambda (x) (x x)) (lambda (x) (x x))) 03:40:04 whew! 03:40:11 *offby1* ponders 03:40:18 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 03:40:26 woa 03:40:35 wtf 03:40:44 he is smart 03:41:57 shuddup, I'm computing 03:42:23 hehe 03:42:53 that offby1 but seems almost sentient 03:42:58 bot, even 03:43:02 man, i'm sleep deprived 03:43:11 numbers are not symbols D: 03:43:26 rudybot: eval (symbol? 2) 03:43:27 toast`: ; Value: #f 03:44:14 asarch [~asarch@189.188.151.240] has joined #scheme 03:44:45 incubot: (= '2 2) 03:44:46 #t 03:44:56 -!- saint_cypher [~saint_cyp@c-76-126-70-224.hsd1.ca.comcast.net] has quit [Quit: Leaving] 03:45:04 numbers arent symbols ?? 03:45:27 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 03:45:27 rudybot: eval (symbol? '|2|) 03:45:29 rapacity: your sandbox is ready 03:45:29 rapacity: ; Value: #t 03:45:38 that's a symbol 03:45:39 rudybot: eval (symbol? '2) 03:45:40 toast`: ; Value: #f 03:45:54 oh 03:45:54 '2 evaluates to 2. 2 evaluates to 2. same thing 03:46:07 ''2 evaluates to (quote 2), which is a list 03:46:11 then (quote number) is not a symbol 03:46:22 (quote 2) is a list, that evaluates to a number 03:46:37 rudybot: eval ''2 03:46:38 xissburg: ; Value: (quote 2) 03:46:44 eval (number? (quote 2)) 03:46:53 rudybot: eval (number? (quote 2)) 03:46:54 toast`: ; Value: #t 03:46:57 rudybot: number? ''''''2 03:46:58 xissburg: yeah. If you pass a symbol in, instead of adding a number to a symbol and getting the expected error, the function might "work" 03:47:18 rudybot: eval (number? ''''''2) 03:47:18 toast`: ; Value: #f 03:47:58 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 03:48:02 remember, (quote ) evaluates to 03:48:33 but it doesnt evaluate 03:48:36 so, in (quote (quote )), = (quote ), which will always be a list 03:48:38 exactly 03:48:55 rudybot: eval ''''2 03:48:56 toast`: ; Value: (quote (quote (quote 2))) 03:48:59 hm I see 03:49:03 bombshelter13b_ [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 03:49:14 rudybot: eval (quote (quote 2)) 03:49:14 toast`: ; Value: (quote 2) 03:49:15 it does take some getting used to 03:49:18 yeah 03:49:21 it makes sense after a while though 03:49:31 you will never really use more than one quote 03:49:34 well, not generally 03:49:36 needs moar practive yea 03:49:40 *practice 03:50:07 unless you write common-lisp macros. there, something like `,``,x might even make sense 03:50:49 the worst i've seen personally was `',x 03:50:55 but i hear it gets worse 03:51:30 nah 03:51:35 well, CL, maybe 03:51:57 yeah. scheme macros you don't need to do that sort of thing, i think 03:51:57 -!- asarch [~asarch@189.188.151.240] has quit [Quit: Leaving] 03:52:39 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Ping timeout: 258 seconds] 03:53:35 g2g, thanks for the help 03:53:59 -!- xissburg [~chatzilla@187.3.132.241] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.3/20100401080539]] 03:55:38 -!- bombshelter13b_ [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Remote host closed the connection] 03:56:28 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 04:00:17 -!- rbarraud [~rbarraud@202-180-88-252.callplus.net.nz] has quit [Remote host closed the connection] 04:11:44 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 04:11:57 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 04:13:43 -!- summersault [~george@189.107.150.177] has quit [Ping timeout: 265 seconds] 04:13:44 george_ [~george@189.107.130.45] has joined #scheme 04:14:25 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 04:17:02 -!- george_ is now known as summersault 04:47:39 rbarraud [~rbarraud@118-92-148-103.dsl.dyn.ihug.co.nz] has joined #scheme 04:54:34 adu [~ajr@pool-71-191-173-118.washdc.fios.verizon.net] has joined #scheme 04:58:45 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 04:59:39 xwl [~user@125.34.174.67] has joined #scheme 04:59:41 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 05:11:18 snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has joined #scheme 05:20:53 -!- virl [~virl__@chello062178085149.1.12.vie.surfer.at] has quit [Remote host closed the connection] 05:29:37 xwl [~user@125.34.174.67] has joined #scheme 05:33:56 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 05:38:38 -!- JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has quit [Ping timeout: 240 seconds] 05:42:24 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 05:42:43 xwl [~user@125.34.174.67] has joined #scheme 05:43:58 JoelMcCracken [~joelmccra@pool-72-95-151-135.pitbpa.east.verizon.net] has joined #scheme 05:52:01 fradgers- [~fradgers-@5e02b45e.bb.sky.com] has joined #scheme 05:54:15 -!- arcfide [~arcfide@adsl-99-31-13-202.dsl.bltnin.sbcglobal.net] has quit [Quit: Leaving] 06:03:26 -!- dfeuer [~dfeuer@wikimedia/Dfeuer] has quit [Ping timeout: 265 seconds] 06:04:20 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 06:11:12 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 06:16:39 dfkjjkfd [~paulh@214-13-ftth.onsnetstudenten.nl] has joined #scheme 06:16:39 dfeuer [~dfeuer@wikimedia/Dfeuer] has joined #scheme 06:22:05 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 240 seconds] 06:34:37 HG` [~HG@xdsl-92-252-45-112.dip.osnanet.de] has joined #scheme 06:55:22 -!- jcowan [~jcowan@cpe-98-14-172-204.nyc.res.rr.com] has quit [Quit: Leaving] 06:57:29 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 07:16:06 wingo [~wingo@81.39.158.44] has joined #scheme 07:20:00 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Quit: leaving] 07:25:23 karme [~user@static.180.75.40.188.clients.your-server.de] has joined #scheme 07:25:36 -!- summersault [~george@189.107.130.45] has quit [Ping timeout: 265 seconds] 07:28:59 -!- wingo [~wingo@81.39.158.44] has quit [Read error: Connection reset by peer] 07:36:10 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 07:51:13 ASau [~user@77.246.231.175] has joined #scheme 07:52:34 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 264 seconds] 07:55:00 -!- ASau [~user@77.246.231.175] has quit [Read error: Connection reset by peer] 07:55:18 ASau [~user@77.246.231.175] has joined #scheme 08:05:46 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 08:08:28 mije [5641b192@gateway/web/freenode/ip.86.65.177.146] has joined #scheme 08:08:35 good morning 08:12:59 rdd [~rdd@c83-250-52-182.bredband.comhem.se] has joined #scheme 08:19:04 -!- HG` [~HG@xdsl-92-252-45-112.dip.osnanet.de] has quit [Quit: HG`] 08:20:10 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 264 seconds] 08:20:28 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 08:23:06 -!- adu [~ajr@pool-71-191-173-118.washdc.fios.verizon.net] has quit [Quit: adu] 08:26:53 -!- toekutr [~toekutr@adsl-69-107-114-28.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 08:28:27 masm [~masm@bl19-159-94.dsl.telepac.pt] has joined #scheme 08:35:44 HG` [~HG@xdsl-92-252-47-119.dip.osnanet.de] has joined #scheme 08:36:07 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 08:39:06 -!- karme [~user@static.180.75.40.188.clients.your-server.de] has quit [Remote host closed the connection] 08:40:39 -!- bgs100 is now known as bgs000 08:48:37 -!- proq [~user@unaffiliated/proqesi] has quit [Ping timeout: 264 seconds] 09:16:11 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Quit: bombshelter13b] 09:17:16 -!- mbohun [~mbohun@202.124.73.86] has quit [Quit: Leaving] 09:19:33 -!- rbarraud [~rbarraud@118-92-148-103.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 260 seconds] 09:21:58 -!- masm [~masm@bl19-159-94.dsl.telepac.pt] has quit [Ping timeout: 264 seconds] 09:25:38 -!- R3cur51v3 [~Recursive@173-30-57-91.client.mchsi.com] has quit [Read error: Operation timed out] 09:26:49 -!- Axioplase is now known as Axioplase_ 09:27:09 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 09:27:29 R3cur51v3 [~Recursive@173-30-57-91.client.mchsi.com] has joined #scheme 09:28:39 xwl [~user@125.34.174.67] has joined #scheme 09:29:44 minion: hello! 09:29:45 what's up? 09:33:21 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 09:35:13 masm [~masm@bl15-70-34.dsl.telepac.pt] has joined #scheme 09:46:04 -!- Nshag [user@lns-bzn-22-82-249-74-49.adsl.proxad.net] has quit [Ping timeout: 265 seconds] 09:53:21 sepult [~user@xdsl-87-79-53-158.netcologne.de] has joined #scheme 09:58:20 -!- ASau [~user@77.246.231.175] has quit [Read error: Connection reset by peer] 09:58:38 ASau [~user@77.246.231.175] has joined #scheme 09:59:22 Nshag [user@lns-bzn-20-82-64-50-164.adsl.proxad.net] has joined #scheme 10:01:08 alvatar [~alvatar@63.149.220.87.dynamic.jazztel.es] has joined #scheme 10:03:04 Blkt [~user@160.80.128.93] has joined #scheme 10:03:43 good day everyone 10:06:09 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 10:10:02 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:14:28 summersault [~george@189.107.148.224] has joined #scheme 10:16:52 -!- jao [~user@83.43.34.249] has quit [Ping timeout: 245 seconds] 10:26:18 -!- ecraven [~nex@octonex.swe.uni-linz.ac.at] has quit [Ping timeout: 276 seconds] 10:26:53 -!- Blkt [~user@160.80.128.93] has quit [Ping timeout: 240 seconds] 10:30:15 xwl [~user@125.34.174.67] has joined #scheme 10:30:20 kuribas [~user@d54C433D5.access.telenet.be] has joined #scheme 10:31:41 -!- Nshag [user@lns-bzn-20-82-64-50-164.adsl.proxad.net] has quit [Ping timeout: 265 seconds] 10:34:06 -!- masm [~masm@bl15-70-34.dsl.telepac.pt] has quit [Ping timeout: 265 seconds] 10:37:18 Nshag [user@lns-bzn-57-82-249-7-241.adsl.proxad.net] has joined #scheme 10:38:52 rbarraud [~rbarraud@118-92-98-233.dsl.dyn.ihug.co.nz] has joined #scheme 10:46:53 masm [~masm@bl19-147-187.dsl.telepac.pt] has joined #scheme 10:49:57 MrFahrenheit [~RageOfTho@users-33-247.vinet.ba] has joined #scheme 10:50:22 pjb-work [~t@60.Red-80-34-44.staticIP.rima-tde.net] has joined #scheme 10:54:48 -!- kuribas [~user@d54C433D5.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:03:03 jao [~user@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 11:04:35 ecraven [~nex@octonex.swe.uni-linz.ac.at] has joined #scheme 11:22:30 leo2007 [~leo@cpc1-cmbg13-0-0-cust596.cmbg.cable.ntl.com] has joined #scheme 11:24:10 how do people do OO in scheme? 11:34:19 In any of a number of ways, leo2007 11:34:24 Depending on their needs! 11:35:12 To pick one at random, http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/Meroon.html 11:37:46 strobedream: thanks 11:45:22 -!- R3cur51v3 [~Recursive@173-30-57-91.client.mchsi.com] has quit [Ping timeout: 264 seconds] 11:46:37 fschwidom [~fschwidom@p5B269409.dip0.t-ipconnect.de] has joined #scheme 11:46:41 -!- mije [5641b192@gateway/web/freenode/ip.86.65.177.146] has quit [Quit: Page closed] 11:46:48 -!- rbarraud [~rbarraud@118-92-98-233.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 11:55:04 is there a list of changes in r6rs compared to its previous version? 11:55:48 -!- summersault [~george@189.107.148.224] has quit [Read error: Connection reset by peer] 11:58:57 summersault [~george@189.107.198.9] has joined #scheme 11:59:28 Glendaal [Glendaal@83.231.92.46] has joined #scheme 12:05:52 -!- sepult [~user@xdsl-87-79-53-158.netcologne.de] has quit [Ping timeout: 252 seconds] 12:08:37 -!- strobedream [~tdgonzale@c-68-35-75-177.hsd1.nm.comcast.net] has quit [Ping timeout: 276 seconds] 12:27:31 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 12:36:02 -!- Glendaal [Glendaal@83.231.92.46] has quit [] 12:38:17 Pepe__ [~ppjet@ALille-256-1-134-205.w86-192.abo.wanadoo.fr] has joined #scheme 12:40:09 -!- leo2007 [~leo@cpc1-cmbg13-0-0-cust596.cmbg.cable.ntl.com] has left #scheme 12:47:02 -!- Pepe__ [~ppjet@ALille-256-1-134-205.w86-192.abo.wanadoo.fr] has quit [Remote host closed the connection] 12:49:19 asarch [~asarch@189.188.159.177] has joined #scheme 12:54:38 merimus [~makin@office.vivisimo.com] has joined #scheme 12:56:11 hmm... to write a scheme compiler in scheme... one would need to write 'read' in scheme. correct? If so could anyone point me to an implementation I could look at? 12:56:54 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 12:59:26 winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has joined #scheme 12:59:48 merimus: I have scheme compiler written in haskell =] 13:02:16 merimus: Lisp in small pieces explains that in detail 13:03:26 -!- luz [~davids@189.60.69.82] has quit [Quit: Client exiting] 13:05:18 -!- pjb-work [~t@60.Red-80-34-44.staticIP.rima-tde.net] has quit [Ping timeout: 260 seconds] 13:12:16 george_ [~george@189.107.167.194] has joined #scheme 13:12:37 -!- summersault [~george@189.107.198.9] has quit [Ping timeout: 265 seconds] 13:13:27 C-Keen: that book is on my want list... perhaps I shall order it :) 13:14:26 yep 13:15:01 I've actually got this crack-addled plan to design a chip and run scheme on it :) 13:17:57 -!- metasyntax [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit [Ping timeout: 265 seconds] 13:19:23 merimus: Sounsd like a modern-day lisp machine. 13:20:46 askhader: that's my plan. It'll use an fpga. I think the instruction set is going to be based on ARM but with hardware for tagged values, type checking, bounds checking, and maybe a microcoded GC 13:24:56 Is this for shits and teh giggles or some research? 13:28:05 it's for giggles... but I'd like to write about it. 13:28:46 I'd like to read about it, so would a lot of folks at my university computer science club. have a blog? 13:29:02 not yet :) 13:29:20 I'd like to get past the concept stage before I'm in the public eye 13:29:33 *merimus* is kinda shy 13:29:58 fair enough 13:30:44 you know how it goes... you start learning about languages.. next it's compilers, then OS, then microprocessors... 13:31:06 Indeed. That pretty much defines (more or less) the computer science cirriculum here hehe 13:32:07 I got a BS a long time ago... but I focused heavily on datastructures and algorithms 13:32:18 BCS you mean? 13:32:27 wingo-pi [~wingo-pi@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 13:32:51 *wingo-pi* trolls the outskirts of town looking for some hot lisppaste action 13:33:02 yea, bachelors in computer science. didn't have the opportunity to take a compiler course 13:33:21 chandler: ^ want to tell your minion to join #guile? :) 13:33:24 It's compulsory here at uwaterloo 13:34:06 it was a masters course for me. of course that was also ~15 years ago 13:34:29 uwaterloo is a good school. Used to compete against them 13:35:05 MIT? 13:35:18 University of Pittsburgh :) 13:35:26 heh nice 13:36:09 I wasn't cool enough for MIT ;) 13:36:22 buwahaha 13:37:09 not to mention the cash :P 13:37:17 That's the real issue =P 13:37:19 had the opportunity to go to CMU but I turned them down. Prolly shouldn't have done that. 13:37:28 yea... for out of state MIT is mucho expensivo 13:37:45 Out of country, even =] 13:38:10 I think that's actually cheaper on average 13:38:33 How do you figure? 13:38:54 the folks who get into MIT from overseas generally have a lot more assistance. 13:39:02 Oh 13:39:04 I meant from Canada. 13:39:05 But you're right 13:39:40 does the ACM still do the programming competitions? 13:40:02 mhmmm 13:40:42 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection timed out] 13:42:24 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 13:42:52 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Client Quit] 13:46:31 -!- JoelMcCracken [~joelmccra@pool-72-95-151-135.pitbpa.east.verizon.net] has quit [Quit: This computer has gone to sleep] 13:49:29 metasyntax [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has joined #scheme 13:52:36 -!- metasyntax [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit [Client Quit] 13:58:09 -!- bgs000 is now known as bgs100 14:03:45 luz [~davids@189.60.69.82] has joined #scheme 14:05:50 bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 14:11:15 JoelMcCracken [~joelmccra@c-67-163-143-192.hsd1.pa.comcast.net] has joined #scheme 14:14:19 -!- HG` [~HG@xdsl-92-252-47-119.dip.osnanet.de] has quit [Ping timeout: 265 seconds] 14:15:07 NNshag [user@lns-bzn-45-82-65-142-199.adsl.proxad.net] has joined #scheme 14:15:45 -!- Nshag [user@lns-bzn-57-82-249-7-241.adsl.proxad.net] has quit [Ping timeout: 240 seconds] 14:16:52 aintme [~betateste@105.37.221.87.dynamic.jazztel.es] has joined #scheme 14:24:12 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 276 seconds] 14:26:37 -!- saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 14:27:07 -!- merimus [~makin@office.vivisimo.com] has quit [Quit: Ex-Chat] 14:31:04 -!- JoelMcCracken [~joelmccra@c-67-163-143-192.hsd1.pa.comcast.net] has quit [Ping timeout: 252 seconds] 14:36:27 JoelMcCracken [~joelmccra@c-67-163-143-192.hsd1.pa.comcast.net] has joined #scheme 14:38:57 -!- leppie [~lolcow@196-210-254-163.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 14:45:17 leppie [~lolcow@196-210-254-163.dynamic.isadsl.co.za] has joined #scheme 14:50:34 metasyntax [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has joined #scheme 14:53:52 sepult [~user@xdsl-78-34-195-232.netcologne.de] has joined #scheme 14:58:21 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 15:00:50 HG` [~HG@xdsl-92-252-34-237.dip.osnanet.de] has joined #scheme 15:01:06 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 15:09:12 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:13:18 -!- ASau [~user@77.246.231.175] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 15:14:09 -!- aintme [~betateste@105.37.221.87.dynamic.jazztel.es] has left #scheme 15:15:57 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 15:29:05 puddingpimp [osgofs@118.92.33.194] has joined #scheme 15:35:32 mbishop__ [~martin@adsl-222-8-140.msy.bellsouth.net] has joined #scheme 15:38:34 -!- mbishop_ [~martin@adsl-222-48-160.msy.bellsouth.net] has quit [Ping timeout: 276 seconds] 15:47:56 the mutable pair discussion is amusing 15:50:34 where? 15:51:21 scheme-reports.org 15:56:32 -!- HG` [~HG@xdsl-92-252-34-237.dip.osnanet.de] has quit [Quit: Leaving.] 15:57:46 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #scheme 15:59:34 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 16:03:48 mbishop_ [~martin@adsl-157-32-119.msy.bellsouth.net] has joined #scheme 16:06:40 -!- mbishop__ [~martin@adsl-222-8-140.msy.bellsouth.net] has quit [Ping timeout: 248 seconds] 16:17:15 -!- jao [~user@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Ping timeout: 265 seconds] 16:25:58 -!- alaricsp [~alaric@relief.warhead.org.uk] has quit [Ping timeout: 260 seconds] 16:33:42 hhomar [~hhomar@92.27.36.218] has joined #scheme 16:46:57 gravicappa [~gravicapp@ppp85-140-119-82.pppoe.mtu-net.ru] has joined #scheme 16:50:08 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Remote host closed the connection] 16:50:19 -!- MrFahrenheit [~RageOfTho@users-33-247.vinet.ba] has quit [Read error: No route to host] 16:50:54 merimus [~makin@office.vivisimo.com] has joined #scheme 16:51:09 MrFahrenheit [~RageOfTho@users-55-241.vinet.ba] has joined #scheme 16:53:10 Blkt [~user@dynamic-adsl-94-34-41-13.clienti.tiscali.it] has joined #scheme 16:53:51 arcfide [~arcfide@adsl-99-31-15-216.dsl.bltnin.sbcglobal.net] has joined #scheme 17:03:15 proq [~user@unaffiliated/proqesi] has joined #scheme 17:03:47 -!- wingo-pi [~wingo-pi@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Remote host closed the connection] 17:05:22 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 17:05:50 eli, ping 17:06:11 ? 17:06:43 Glendaal [Glendaal@83.231.95.236] has joined #scheme 17:06:48 eli: Do you know much about the decision for immutable pairs. I was wondering something. 17:07:07 eli: Why did the PLT people decide to go with disjoint data types rather than just a different constructor? 17:07:16 eli, So, why not just have CONS and CONS/MUTABLE or something? 17:07:41 And then only on pairs created with CONS/MUTABLE do procedures like SET-CAR! and SET-CDR! work. 17:08:46 -!- xwl [~user@125.34.174.67] has quit [Ping timeout: 264 seconds] 17:09:37 arcfide: I'm not following that. "different constructor" == "different data type" 17:09:53 -!- merimus [~makin@office.vivisimo.com] has quit [Quit: Ex-Chat] 17:10:13 Hi, i need some help with Racket. 17:10:38 So, for example, in Chez Scheme, when dealing with weak pairs, you have WEAK-CONS and CONS. Pairs returned from either both return true for the PAIR? predicate, but only ones created with WEAK-CONS return true for WEAK-PAIR?. Additionally, all of the normal pair operations work on both pairs and weak pairs. 17:10:42 In particular i have problems using modules. 17:11:13 eli, basically, why not have a subtype that can handle a couple more operations than have an entirely disjoint type that requires MCAR and MCDR and the like. 17:11:16 Is it possible to declare a module and use it in a single file? 17:11:36 eli: It could set an "immutable flag" in the cons cell maybe 17:12:00 "immutable" flag, rather 17:12:04 Glendaal, How do you mean? 17:12:07 arcfide: I figured that this was the question -- why not have some subtype relation. 17:12:09 Although the flag would probably be immutable too 17:12:21 So an "immutable "immutable" flag" 17:12:25 (Yes, roughly like a flag) 17:12:31 eli, I assume that PLT has a good reason for not doing this. 17:12:42 One thing to note is that PLT had immutable pairs for a really long time. 17:12:45 *sjamaan* vanishes in a puff of recursion 17:12:52 Right. 17:12:52 You used to get them with `cons-immutable'. 17:13:01 -!- george_ is now known as summersault 17:13:08 And I don't remember anyone using them, ever. 17:13:09 Were they disjoint even then? 17:13:16 (Except for Matthew.) 17:13:25 arcfide: i have a bunch of very small programs and i've seen declaring them in modules for some reason makes performance much better. (those are some math exercises) 17:13:34 They were a kind of a immutable flag on. 17:13:55 So i'm looking for a way to declare the module and also run it in a single file instead of having to setup a different file as a launcher. 17:14:10 (where "run it" means running a particular provided procedure) 17:14:11 Glendaal: Then just put the whole thing in a single file -- you don't need to "use" it, just run it. 17:14:48 Oh, wait, i can't be that stupid. 17:14:52 arcfide: In any case, that whole thing was a motivation for the change -- the benefits were visible, yet it was clear that almost nobody will ever use them. 17:14:59 *Glendaal* tries. 17:15:41 eli, I guess people knew about them? 17:15:43 arcfide: In any case -- and this was discussed recetly on our list -- there's no super/sub type relationship between them. 17:16:10 Right, subtype isn't the right term here. 17:16:12 (My guess is that few new about them.) 17:16:15 It's really just a flag. 17:16:27 Not even a flag -- they're completely different animals. 17:16:40 mpairs support more operations, obviously. 17:16:54 ipairs provide more guarantees. 17:17:02 Neither is a subclass of the other. 17:17:11 eli, Well, so here's why I am asking. I agree and I think most of us agree that immutable data types have benefits. However, in the standards committee we have to deal with backwards compatibility. Still, it would be a shame not to make some progress towards giving implementations a direction forward with immutability. 17:17:19 And believe me, I tried all kinds of ways to make things easier. 17:17:43 If I execute a mysql prepared statement with http://planet.racket-lang.org/package-source/jaz/mysql.plt/ - does it actually query my db? 17:18:06 arcfide: I know the motivation... :) And I said that I don't really believe that anything will actually happen... 17:18:47 Well, nothign will happen if it breaks backwards compatibility. But I'd like to maybe find a way to present an easy solution that enables the benefits without ruining the tradition, if that's enough fuzziness for you. 17:18:55 arcfide: In any case, IMO -- the reason that they're so different is exactly that mutable pairs are a weird combination of two different things. 17:19:38 saccade [~saccade@BRAIN-AND-COG-THREE-TEN.MIT.EDU] has joined #scheme 17:19:56 To give you an example -- after I've been, uh, mpair-free for a while, it was very weird to me that you were talking about "weak pairs". 17:20:16 eli, I guess, what I'm wondering is, from the group that has dealt with this before are there good technical reasons to avoid using mutability "flags". I don't like the whole different datatype thing. 17:20:17 I had to figure out what exactly could be weak about them... 17:20:42 Well, yes -- see Matthew's post... 17:20:48 Which post? 17:20:53 I've had trouble keeping track here. 17:21:04 The one that Benjamin started that thread with. 17:21:15 http://blog.plt-scheme.org/2007/11/getting-rid-of-set-car-and-set-cdr.html 17:22:23 eli: I can't get it to work. I might be doing something pretty wrong. 17:22:33 Here is a pastebin: http://pastebin.ca/1884475 17:23:01 askhader: You'll have better chances getting an answer on the mailing list. I don't think than any of the regular racketeers here does much sqling. 17:23:17 I know this is a basic question, sorry to waste time. 17:24:10 Glendaal: Get rid of the first two lines. 17:24:25 (the `module' and the `provide') 17:24:37 Replace them with `#lang mzscheme' 17:24:54 Then remove paren that closes the now-gone module body. 17:25:10 So that the `time' form is part of the code. 17:25:38 Thanks, testing it. 17:26:14 Glendaal: And BTW, the `mzscheme' language has recently gone from a "compatibility for old code" status to "compatibility for ancient code". 17:26:22 Much better to use `#lang racket'. 17:27:45 Oh, it was another problem. 17:27:56 Is this normal? 17:28:02 C:\Program Files\PLT-Racket>racket euler14.ss 17:28:03 The longest chain under 1000000 starts from: 837799 17:28:03 cpu time: 577 real time: 577 gc time: 0 17:28:11 C:\Program Files\PLT-Racket>racket -f euler14.ss 17:28:14 no output at all 17:29:07 Glendaal: Oh, if you're using it on the command line then don't use `-f'. 17:29:15 This will make life much easier. 17:29:53 If you really want to use `-f' you can -- you'd use your code with the (module ...) wrapper and add a (require 'euler14) after the module. 17:30:16 But it really will make things easier if you avoid the whole `-f' thing. 17:30:26 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 17:32:13 Somehow i had the '-f' to be able to call it from Vim. 17:32:46 But it's my fault anyway, thanks for the help, the #lang racket statement did it. 17:33:09 eli, So, I'm not sure that Matthew's post really points out any technical reasons why not to use the flag approach instead of different types. 17:33:32 eli, He points out, rightly, that it doesn't solve problems such as handling incoming lists on library boundaries if you have to accept mutable lists. 17:34:18 arcfide: Yes, that's why it fails to just have a flag. 17:34:19 Still, I don't see him indicating any reason why it is important to have separate CAR functions, for example. 17:34:35 Huh? 17:34:45 The important thing is to have a separate type. 17:34:45 It fails if your goal is to ensure the safety of all code that is written by default. But I'm not trying to go that far. 17:35:10 I'm asking why it's important. 17:35:32 ASau [~user@83.69.227.32] has joined #scheme 17:35:57 It doesn't do anything if you're trying to support "some" degree of immutability -- as plt pre-v4 and r6rs show so effectively. 17:36:04 You start with a flag, and then what? 17:36:24 In addition to `list?' you'll want some `immutable-list?' for code that chooses to be robust. 17:36:52 And then that code is essentially using a different type -- if you send it mutable pairs it will not recognize it as a valid input. 17:38:27 IIRC, the best attempt I had was something like making `mcar' and `mcdr' work with immutable lists too, but that runs into very inconvenient hacks very fast. 17:39:05 (The best attempt I had to make compatibility less of an issue.) 17:39:40 But after two years of using the immutable default, I can definitely say that frankly my dear, I don't give a damn about compatibility of old code. 17:40:04 Given that rnrs will never say that, my guess is that it's not going to happen. 17:40:07 Why not stick to one, either mutable or immutable? 17:40:29 (Glendaal: that's exactly my point -- I'm stikcing with immutable ones.) 17:40:51 eli, It would still be nice to have the benefits of immutable pairs for those of us who want to write new code to make use of it. 17:40:54 Oops that's what happens when you don't read the whole thing. 17:41:00 wingo [~wingo@253.Red-79-151-219.dynamicIP.rima-tde.net] has joined #scheme 17:41:06 Hey wingo. 17:41:39 eli, we won't get the benefits of a default immutable type, and that's okay with me. 17:41:46 arcfide: Well, yeah -- you can add something like the pre-plt-v4 `cons-immutable' thing, but still nobody would use it... 17:41:48 -!- felipe [~felipe@my.nada.kth.se] has quit [Ping timeout: 276 seconds] 17:42:46 Having that (and `list-immutable?' etc, of course) is actually going to be a little worse in a generic Scheme context. 17:42:47 eli, Well, for some of us, such as myself, who use Chez Scheme, the benefits of immutable pairs come in terms of optimization and runtime speed, not safety. 17:43:16 You'll be writing some code and since you're a good programmer you only allow `immutable-list?'s in, 17:43:27 you publish it as a wonderful new library, 17:43:35 And then everyone hates you, of course. 17:43:56 Because all of their lists now either have to become immutable or they have to not use your library. 17:44:05 and next thing you know the tlbh is knocking on your door and scolding you for your anti-social behavior that makes your library useless to them. 17:44:28 Maybe I'll just secretly make an immutable copy of the list....:-P 17:44:37 They'll never know what hit them. 17:44:37 (Yes, that, sorry, I didn't read while I typed.) 17:44:51 Well, copies don't work in general too. 17:45:07 And re your comment about speed and optimization -- IMO, this is a very wrong perspective. 17:45:49 Well, yes, if you want to write libraries that interface with the rest of the world, you cannot take advantage of the immutable pairs. That's not going to change, and people will continue to be required to do extra work if they want to make their libraries robust. 17:45:56 Since if you're advocating adding this on the basis of more speed, then I think the tlbh would be fully justified in saying that they want Scheme with no speed concerns changing the language. 17:46:26 Exactly -- that's why the whole thing is futile to begin with. 17:47:00 I'm not just adding it for that reason. Adding it as a default in the standard presents an "upgrade" path if you will. *if* enough social activists push for immutability and it becomes a more widely accepted discipline, a later standard can make it the default. Without any immutable anything in the standard, that isn't going to happen. 17:47:05 The only thing that could do *something* at this point is what r6rs did, as a clear signal that having mutable pairs is a legacy thing that should eventually go away. 17:47:23 Right but that's only so much. 17:48:21 Oh, so you're asking about the desirability of some crippled `cons-immutable' as an alternative for that signal? 17:48:32 Not as an alternative. 17:48:47 Then as what? 17:48:50 the_unmaker [~gavin@w005.z209031033.sjc-ca.dsl.cnc.net] has joined #scheme 17:49:01 Adding immutable pairs to the standard, and keeping the mutation ibraries separated. 17:49:52 What good is keeping the mutation libraries separated? 17:49:58 Just keeping the mutation libraries separate seem impossible at this point, so why spend cycles on alternative universes? 17:50:02 chandler, It's purely social. 17:51:18 But does it really accomplish anything? If I use a library that imports the mutators, I lose all the benefits of immutable pairs in my own code. If you're suggesting I eschew libraries that use mutable pairs, why not just eliminate them entirely? 17:51:19 Honestly, I care a lot more about immutability for correctness, and would rather see a 'mutable' tag introduced, but scheme is not a typed language by default, so I don't think it's a good fit here. 17:51:40 chandler: Right, but at this point there's not even an indication that mutable pairs are somehow dangerous. 17:52:16 What's your suggestion? A big warning sign? A requirement that implementations slap the user three times with a dead fish if they import the mutators? 17:52:22 eli, Well, some of us are quieter than others. 17:52:32 chandler: BH keeps blabbering about having "a choice" -- but it's a choice that my guess he never made, and neither did any of his students. 17:52:37 chandler, We can't get ride of mutability by default because of backwards compatibility concerns. 17:52:51 Why is making this a special case even a consideration? 17:53:23 arcfide: Then you can't sensibly gain any of the benefits of immutability (except through disjoint immutable types, which eli has already discussed the failings of), so why bother talking about it? 17:53:26 Obfuscate, Well, this isn't actually a special case. There's discussion about immutable strings as well. I don't think anyone has brought up vector or bytevectors yet. :-) 17:53:33 (Obfuscate: Schemers at this point have a substantial older crowd; these older people fear such changes.) 17:54:26 And some implementations do have more of an obligation for backwards compatibility than others. 17:54:28 arcfide: That's still a special case. If you're going to have any structure tagged as mutable or immutable, you should probably make that behavior global. 17:55:26 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Quit: Leaving] 17:56:00 arcfide: If those implementations are concerned about it, they can always provide the now-missing mutators, sacrifice the efficiency benefits, and tell the users that nasal demons may result from using the mutators in the presence of standard code that expects them not to be used. 17:56:06 eli: I don't think the change makes sense, really. I'd like to see immutability by default, but that's just because I have a functional programming bias: except it can't sanely be done for scheme without introducing tagging as a core language feature (otherwise it makes little sense from a compiler-author viewpoint). 17:58:38 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 17:58:45 This isn't really well thought out, but I was thinking of something along the lines of letting CONS and the rest default to either mutable or immutable pairs, and then having the appropriate mutable and immutable variants available explicitly. Then, you could "have a choice" if you will, and still be explicit if you want. 17:58:52 :-D 17:59:13 mbishop__ [~martin@adsl-241-86-10.msy.bellsouth.net] has joined #scheme 17:59:16 I still don't see a reason to have individual MCAR and ICAR accessors though. 17:59:41 arcfide: If you provide that choice, then essentially everyone will use the mutable variants, because they will import some library that depends on mutability. 17:59:56 Will they? 18:00:19 I'm just trying to find a migration path here. 18:00:30 It's safe to say it'll be the standard form, at least. 18:00:33 Presumably the number of such libraries depending on mutability is the primary motivation for this "backwards compatibility" discussion, no? 18:00:34 The all or nothing approach isn't really going to work. 18:00:56 -!- the_unmaker [~gavin@w005.z209031033.sjc-ca.dsl.cnc.net] has left #scheme 18:01:21 Obfuscate: I very much agree with that. 18:01:22 chandler, That's what they say, but there may not be as many as people think, and this gives implementations that don't care about backwards compatibility and opportunity to push immutability. 18:01:40 I don't see why the mutators can't be sensibly removed from the standard. Implementations could easily provide backwards compatibility if they wished to. 18:01:52 -!- mbishop_ [~martin@adsl-157-32-119.msy.bellsouth.net] has quit [Ping timeout: 245 seconds] 18:01:57 chandler, You still want mutable pairs sometimes. 18:02:06 chandler: re the nasal-demons thing -- that's roughly what I did for arc -- wrote some ffi code that makes it possible to mutate lists. 18:02:34 what would a regexp for the empty string look like? (regexp #rx"") doesn't seem to work 18:02:42 arcfide: No, I don't. 18:02:47 askhader: #rx"^$" 18:02:47 chandler, I don't want to get rid of mutation at all, I just want to make it possible to take advantage of immutability. For me, in my code, that is going to be largely a speed concern, even though I acknowledge safety and reliability as a larger and more useful concern. 18:03:05 In any case, I did my best to present what I consider as a sane approach. 18:03:14 Hehe. 18:03:16 Well... 18:03:27 eli: Thank you sir 18:03:28 You tried to present it to...well, yeah. :-) 18:03:32 And I was treated as some buddhist who goes into a bar and gets greeted with a "we don't server your kind here". 18:04:01 arcfide: And therein lies the problem. If you don't want to get rid of it, of course you won't get rid of it. 18:04:21 After that, the local bar dwellers proceeded to wave their guns at me, while screaming "we *like* to have guns, so we can *choose* not to use them". 18:04:58 It was too much to expect a sensible reaction from them anyway. 18:05:05 I demonstrated that I can still kill things, and very often do, 18:05:09 chandler, Hey, don't lump us all together! :-) 18:05:25 arcfide: I was referring to the arc-ers. 18:05:29 :-) 18:05:35 but at that point they were all too drunk, and started to dance around singing praise songs to their guns. 18:06:04 So I'll excuse myself from talking more about it... 18:06:15 ...and get some real work done instead. 18:06:36 A capital idea. 18:06:49 (That's not because I'm pissed now or anything, just because I really don't see how this will get anywhere productive...) 18:11:35 It seems hard to evolve a language. 18:12:23 Glendaal: That's why there are so many of them. 18:12:24 Backwards compatibility-wise at least. 18:13:32 Yes, but i mean, people makes mistakes or find a better way to do something they didn't knew about, but you're doomed because you have to support that past mistakes. 18:13:39 mbishop_ [~martin@adsl-156-66-92.msy.bellsouth.net] has joined #scheme 18:15:06 Glendaal: exactly. Fortunately, Lisp in general has found greater propensity to change than most, which is why it is still alive. The superior intelligence of its practitioners helps too. ;-) 18:15:10 Even if everyone agreed (heh) a fundamental change to some language is needed and great a lot of times it won't make it if it breaks compatibility. 18:16:15 pookleblinky [~pookle@cpe-67-252-154-25.buffalo.res.rr.com] has joined #scheme 18:16:52 -!- mbishop__ [~martin@adsl-241-86-10.msy.bellsouth.net] has quit [Ping timeout: 245 seconds] 18:17:48 jao [~user@83.43.34.249] has joined #scheme 18:18:21 Well, CL has not changed much, but it's good to see changes and experiments in other fronts like clojure, racket and such. 18:19:35 -!- pookleblinky [~pookle@cpe-67-252-154-25.buffalo.res.rr.com] has left #scheme 18:20:11 saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has joined #scheme 18:21:28 virl [~virl__@chello062178085149.1.12.vie.surfer.at] has joined #scheme 18:23:05 Is there a function to determine of what type a object is? 18:23:30 carlos [~rustyshac@adsl-75-54-182-68.dsl.hstntx.sbcglobal.net] has joined #scheme 18:24:03 -!- carlos is now known as Guest61291 18:27:00 askhader: none that i'm aware of, except for explicit predicates (boolean? list? etc) 18:27:19 ssbr__ [~scorchsab@user65-127.vicres.utoronto.ca] has joined #scheme 18:27:22 I wrote a makeshift one 18:27:33 but also consider, what one should be the return type of that procedure? 18:28:22 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #scheme 18:30:40 -!- ssbr_ [~scorchsab@user65-127.vicres.utoronto.ca] has quit [Ping timeout: 248 seconds] 18:35:14 schmir [~schmir@p57ADE8A2.dip.t-dialin.net] has joined #scheme 18:35:46 -!- bgs100 is now known as bgs000 18:37:00 -!- bgs000 is now known as bgs100 18:37:09 -!- JoelMcCracken [~joelmccra@c-67-163-143-192.hsd1.pa.comcast.net] has quit [Quit: This computer has gone to sleep] 18:38:33 askhader: this package might be relevant: http://planet.racket-lang.org/display.ss?package=describe.plt&owner=williams 18:38:35 -!- metasyntax [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 18:38:36 -rudybot:#scheme- http://tinyurl.com/25tfz87 18:40:37 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 18:49:54 -!- Guest61291 [~rustyshac@adsl-75-54-182-68.dsl.hstntx.sbcglobal.net] has quit [Quit: #mit-scheme] 18:52:58 -!- saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 240 seconds] 18:54:11 charlie3 [~rustyshac@adsl-75-54-182-68.dsl.hstntx.sbcglobal.net] has joined #scheme 18:56:46 How do you pass and access arguments from the command line in mit-scheme? 18:57:47 charlie3, how do you mean? 18:58:14 You mean running a program that takes arguments on the command line that is written in MIT Scheme? 18:58:58 yes, i believe that's what i mean 18:59:41 that can be called with something like mit-scheme --load "file" --main 19:01:20 mbishop__ [~martin@adsl-156-73-171.msy.bellsouth.net] has joined #scheme 19:04:37 -!- mbishop_ [~martin@adsl-156-66-92.msy.bellsouth.net] has quit [Ping timeout: 276 seconds] 19:05:27 -!- arcfide [~arcfide@adsl-99-31-15-216.dsl.bltnin.sbcglobal.net] has quit [Ping timeout: 272 seconds] 19:09:19 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 19:13:09 JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has joined #scheme 19:18:45 greets 19:18:48 arcfide [~arcfide@adsl-99-50-224-27.dsl.bltnin.sbcglobal.net] has joined #scheme 19:21:30 hello arcfide 19:21:34 wingo! 19:21:39 wingo, Got a blog post for me yet. 19:21:40 ? 19:21:53 yeah the whole tone of that mutable / non-mutable pairs thing was pretty wrong... 19:22:00 arcfide: nope :) 19:22:13 also, we have had some bugs with r6rs libs, which i hope to finally fix tonight 19:22:45 wingo, Well, it would be nice to have some information about how Guile handled the module system, especially the syntactic part. 19:23:08 well, we don't have syntactic modules a la chez (their `module' form iirc) 19:23:21 Why not take a whack at porting ChezWEB to Guile and give me some feedback? :-) 19:23:35 wingo, I'm just thinking about LIbraries, not the internal, non-top-level 'module' form. 19:23:39 i would like to, but i have a lot of other things to do :) 19:24:20 Actually, I'm tempted now, to write the WPA Enterprise stuff for OpenBSD. 19:24:37 It's supposedly all userland work now, and I figure, what a more fun place to test out my Scheme skills than there? :-) 19:26:11 that would be fun 19:26:40 i want to do some distributed code hacking with gnunet, gpg, and a capabilities-based guile sandbox 19:26:46 next month, i guess... 19:29:08 -!- arcfide [~arcfide@adsl-99-50-224-27.dsl.bltnin.sbcglobal.net] has quit [Ping timeout: 258 seconds] 19:38:05 -!- saccade [~saccade@BRAIN-AND-COG-THREE-TEN.MIT.EDU] has quit [Ping timeout: 240 seconds] 19:41:19 arcfide [~arcfide@adsl-99-14-209-49.dsl.bltnin.sbcglobal.net] has joined #scheme 19:41:27 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Ping timeout: 245 seconds] 19:42:08 -!- hhomar [~hhomar@92.27.36.218] has quit [Quit: WeeChat 0.3.2] 19:47:21 benbaka [~ben@41.191.244.69] has joined #scheme 19:48:27 i am new bie to scheme. How do i learn it efficiently ? 19:49:09 benbaka: htdp.org 19:49:26 any more. i am heading there now. 19:49:57 sicp.org is a bit harder, but also educational 19:50:10 mejja [~user@c-14bee555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 19:50:13 http://docs.racket-lang.org/quick/index.html 19:50:14 ok that was the wrong url 19:50:24 http://mitpress.mit.edu/sicp/ 19:51:45 benbaka, I would go over the URLs in the topic. 19:51:57 yep. i am there 19:52:20 what should be the mindset since i am from the C background ? 19:52:39 hard reset... 19:52:41 benbaka, Forget everything you ever thought you knew. 19:52:56 arcfide: really ? 19:53:44 benbaka, It's best to enter Scheme without any preconceptions about how to program or what to expect, then, later on, you can come back and "link" your knowledge from C into Scheme, but that point is a rather long ways off for most beginners. 19:54:25 benbaka, Not everyone is like that though. Some people are perfectly capable of keeping their C knowledge around and using it to good effect. The problem is that most people want to learn Scheme like they would learn C++ coming from C. 19:54:56 This is not one of those "How do I do X in Scheme, I do it Y way in C." 19:56:13 ok 19:58:28 winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has joined #scheme 19:59:26 On the average, how long a day do you program to have a good standing in scheme ? 19:59:41 benbaka: C'mon, you know how silly that sounds. 19:59:52 Why are you in such a hurry? 20:00:09 i want to become good ( another silly one) 20:00:28 Okay, why do you want to become good? What appeals to you about scheme? 20:01:07 Its functional approach to solving problems. Recently discovered it. 20:01:23 Gleen [Glendaal@62.32.156.66] has joined #scheme 20:01:59 ws [wswieb@akson.sgh.waw.pl] has joined #scheme 20:02:03 benbaka: you'll probably find this essay interesting. 20:02:05 http://norvig.com/21-days.html 20:02:20 benbaka: Then perhaps you should start by defining problems for youself to solve. 20:03:30 i have already read it but i really feel stupid "ashamed" when i say i only program C amongst friends. 20:03:43 do you some times feel same ? 20:04:01 Uh, well I don't only program in C. 20:04:07 But I don't see why that should be cause for shame. 20:04:17 -!- rapacity [~prwg@unaffiliated/rapacity] has quit [Quit: waaaa] 20:04:26 There's no shame in not knowing, only shame in remaining ignorant. 20:04:45 -!- Glendaal [Glendaal@83.231.95.236] has quit [Ping timeout: 240 seconds] 20:04:47 Fare [~Fare@ita4fw1.itasoftware.com] has joined #scheme 20:05:02 eraF 20:05:23 I thought it was three times in a mirror. 20:05:27 -!- Gleen is now known as Gleendal 20:05:43 then he will love me 20:06:22 -!- Gleendal is now known as Glendaal 20:06:44 Let me shut up and learn to program. 20:09:32 benbaka, don't be discouraged! Scheme ought to be a bunch of fun to pick up. Just give it a try and come on back with questions when things seem mysterious. 20:09:41 ogniw 20:09:49 Indeed. the scheme way of doing things is always fun. 20:10:16 eli: re mutable pairs: what about mutable toplevel bindings? 20:10:28 askhader, I like the obscure error messages! 20:10:29 hum. Who shall I invite for a panel on module systems? 20:10:31 seems a number of the same considerations apply 20:10:47 jonrafkind: Hah, a well-planned design has error messages that speak to the ages. 20:11:11 wingo: Absolutely -- and that's nicely dealt with by modules. 20:11:54 wingo: I actually wanted to make that analogy, with references to all kind of obnoxious slib-isms like (define 1+ (let ((+ +)) (lambda (x) (+ x 1)))). 20:12:03 eli: but, i am given to understand that in plt, one may get into modules and edit them post facto 20:12:39 eli: dybvig still recommends capturing bindings in a lexical env, for optimization 20:13:12 Well, if you're using the reflective api to do stuff in modules then obviously you can break stuff. (And even that's assuming that you don't go into a module that was compiled with the default settings -- it won't rewrite inlined values.) 20:13:34 right, inlined vals are another thing... 20:13:43 wingo, you can't mutate the existing bindings, just add new ones 20:13:46 And re capturing lexical bindings for optimizations -- obviously -- and that's another (side) benefit of modules. 20:14:25 samth: You can, only not by default. 20:14:31 (It's `compile-enforce-module-constants', IIRC.) 20:14:35 yes 20:14:52 eli, that slib-ism is interesting. It's precisely the Scheme equivalent of a certain performance optimization grudgingly acknowledged by the Lua community. 20:15:18 gnomon, one of the advantages of a real module system is not having to do that 20:15:28 Lua doesn't have a real module system, AFAIK 20:15:29 samth, I know and understand. 20:15:33 It doesn't. 20:15:44 It *could*, but you're right, it doesn't. 20:16:24 -!- benbaka [~ben@41.191.244.69] has left #scheme 20:16:29 gnomon: I don't know about lua, but in scheme it's more than just for optimization (that's something that Will often uses that for) -- but because in most R5RS implementations allow `set!' your whole world away, then that's the only way to have your code sane. 20:16:46 (And yes, what samth said too.) 20:16:53 acarrico [~acarrico@pppoe-68-142-35-203.gmavt.net] has joined #scheme 20:17:16 eli, right; and I'm saying that it's possible to do that in Lua too, although the most common scapegoat is performance. 20:17:31 I just find it to be an interesting case of convergent evolution. 20:18:53 i kinda like being able to set! everything 20:19:01 does that make me a bad person 20:19:03 set! is not your friend. 20:19:06 Yes! Absolutely. 20:19:13 (set! wingo null) 20:19:15 ah that's better. 20:19:19 wingo, I bet you like Forth too, don't you? 20:19:51 *gnomon* tut-tuts 20:20:07 *wingo* tries to come up with something witty, fails 20:21:25 how do r6rs impls find versioned modules in the filesystem? 20:22:20 guile added an attempt to do that, but i think i am going to remove it 20:24:44 -!- Blkt [~user@dynamic-adsl-94-34-41-13.clienti.tiscali.it] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:25:36 Blkt [~user@dynamic-adsl-94-34-28-80.clienti.tiscali.it] has joined #scheme 20:25:38 wingo, I'm not aware of a common practice for library versioning in the file system. 20:25:40 -!- JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has quit [Quit: Leaving] 20:26:06 wingo, and I like SET! and mutable variables at the top level, but I also like that modules export immutable bindings. 20:26:25 I use the top-level only for REPL interactions, so I like the SET! semantics there. 20:26:27 -!- luz [~davids@189.60.69.82] has quit [Quit: Client exiting] 20:27:01 arcfide: so (rnrs (6)) is just rnrs.sls in the chez library path? 20:27:45 *wingo* grumbles, versions should not have been added to r6rs, and the module should have been named (r6rs)... 20:29:17 wingo, I do not believe Chez Scheme searches for version numbers in the file system. 20:29:30 You can achieve something to that end though. 20:29:59 o rly 20:32:16 wingo, Kind of. So, there is no restriction on how many library forms may appear in a single file in Chez Scheme. 20:32:32 Additionally, the include form is parameterized over a source-directories parameter. 20:32:51 arcfide: does chez support multiple modules with different versions in one process? 20:32:55 And when Chez Scheme loads in a file implicitly, it adds the directory where it is loading the file to the source=directories parameter. 20:32:57 wingo: (Nothing wrong with `set!'-ing everything, as long as it's not stuff that I depend on...) 20:33:45 -!- Glendaal [Glendaal@62.32.156.66] has quit [Ping timeout: 240 seconds] 20:33:46 eli: sure; but i just think that from my perspective, all the system is fair game to me ;) if i should not be able to set! something, I should be given a language without set! 20:33:59 -!- Blkt [~user@dynamic-adsl-94-34-28-80.clienti.tiscali.it] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:34:01 which is fine for plugins or something 20:34:01 wingo, No, Chez scheme only allows one version of a given library at a time to be loaded. 20:34:26 Blkt [~user@dynamic-adsl-94-34-28-80.clienti.tiscali.it] has joined #scheme 20:35:29 wingo: I don't know what you mean exactly. My bottom line is that I like a way to write (define (1+ x) (+ x 1)), and have that mean "a one-argument function that returns its input plus 1"; not have that mean "... provided that blah blah blah". 20:36:14 ack 20:38:23 if i write a correct program with letrec, is it still correct if i replace letrec with letrec*? 20:39:47 wingo, Not necessarily. 20:39:56 example? 20:39:58 Wait... 20:40:05 heh, cool :) 20:40:36 Yeah, wait, no, I am probably wrong here. 20:40:45 The case I was thinking of was for let*, not letrec*. 20:40:57 right 20:41:15 i am contemplating changing all internal definitions in guile to use letrec* 20:41:20 it seems a more useful construct 20:41:52 I am thinking that maybe there are some sort of interactions with continuations or some such that could mess things up maybe. 20:42:13 But I think in R6RS there are restrictions on continuations in these forms. 20:42:39 wingo: If you don't do some continuation trickery, and if you don't depend on something raising an error instead of working, then there shouldn't be any difference. 20:42:41 right; i never thought capturing rhs continuations in letrec was useful... 20:43:48 wingo, Well, in R6RS the continuation of each RHS should be invoked no more than once. 20:44:12 But implementations are not required to detect this. 20:44:15 though it is up to the impl to detect that 20:44:16 yeah 20:44:19 Your program might just go crazy. 20:44:34 we do "fixing letrec" already, should update to the newer version of that paper 20:44:42 It was interesting to see how that restriction benefited implementations. 20:44:54 wingo, You mean fixing letrec reloaded? 20:44:58 yeah 20:45:00 The R6RS version of the paper. 20:45:26 ah, you mean the (rnrs (6)) version of that (paper ()). 20:47:05 -!- sepult [~user@xdsl-78-34-195-232.netcologne.de] has quit [Remote host closed the connection] 20:47:40 rapacity [~prwg@unaffiliated/rapacity] has joined #scheme 20:49:00 whatever happened to aziz? 20:49:11 sepult [~user@xdsl-78-34-195-232.netcologne.de] has joined #scheme 20:49:51 wingo: he was doing fine last summer. 20:50:03 maybe he will scheme this summer 20:50:23 I know what you schemed last summer 20:50:55 *wingo* burns his diary 20:51:01 wingo, He has apparently been either very busy or very imprisoned. :-) 20:51:05 for good measure, you know 20:51:12 We've been wondering what has happened to him as well. We haven't heard any news. 20:51:33 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 20:53:58 Glendaal [Glendaal@83.231.87.92] has joined #scheme 20:56:14 toekutr [~toekutr@adsl-69-107-114-28.dsl.pltn13.pacbell.net] has joined #scheme 20:56:24 Any macro experts in da house? 20:56:57 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 20:57:07 mejja, ask away 20:57:27 http://groups.google.com/group/comp.lang.scheme/msg/f6b6c87b988aaa12 20:58:52 Oh, fun. 20:58:53 :-) 20:58:59 I think I could do that.... 20:59:22 mejja: Requirements on macro system? 20:59:56 A sane macro system, of course! 21:00:07 Of course, there's a problem with this macro example. 21:00:20 They say we can ignore the order of evaluation, but the example they give requires an order of evaluation. 21:00:37 It's assuming a left to right order of evaluation. 21:00:42 Also, should (letwreck ((x () 1) (x (x) 2)) x) be accepted, and if so, what does it evaluate to? 21:00:48 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:01:05 chandler, I think I'd assume that this should not be accepted. 21:01:41 mejja, Well, I'm going to do this after I eat. 21:02:15 arcfide: If this is supposed to generalize `let*', it ought to, oughtn't it? 21:03:22 I'll assume that it's not allowed for now, though. 21:06:44 -!- arcfide [~arcfide@adsl-99-14-209-49.dsl.bltnin.sbcglobal.net] has quit [Read error: Operation timed out] 21:09:36 -!- gravicappa [~gravicapp@ppp85-140-119-82.pppoe.mtu-net.ru] has quit [Ping timeout: 248 seconds] 21:13:02 letwreck can't properly generalize let* and letrec 21:13:18 as chandler's example demonstrates 21:13:55 unless we rule out duplicate variables, which might be reasonable 21:13:58 -!- yosafbridge [~yosafbrid@li14-39.members.linode.com] has quit [Quit: Coyote finally caught me] 21:14:38 yosafbridge [~yosafbrid@li14-39.members.linode.com] has joined #scheme 21:16:24 -!- virl [~virl__@chello062178085149.1.12.vie.surfer.at] has quit [Remote host closed the connection] 21:19:47 gws [~g@w005.z209031033.sjc-ca.dsl.cnc.net] has joined #scheme 21:21:40 arcfide [~arcfide@adsl-99-50-229-43.dsl.bltnin.sbcglobal.net] has joined #scheme 21:22:17 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 245 seconds] 21:22:32 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 21:22:58 felipe [~felipe@my.nada.kth.se] has joined #scheme 21:24:16 saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has joined #scheme 21:24:59 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 22:10:35 Blkt` [~user@dynamic-adsl-94-37-251-48.clienti.tiscali.it] has joined #scheme 22:12:27 -!- schmir [~schmir@p57ADE8A2.dip.t-dialin.net] has quit [Remote host closed the connection] 22:14:08 -!- Blkt [~user@dynamic-adsl-94-34-28-80.clienti.tiscali.it] has quit [Ping timeout: 248 seconds] 22:14:50 chandler pasted "I love how simple syntax-case makes these complex macros!" at http://paste.lisp.org/display/111513 22:14:56 mejja: ^^ 22:15:12 -!- wingo [~wingo@253.Red-79-151-219.dynamicIP.rima-tde.net] has quit [Ping timeout: 245 seconds] 22:15:17 mejja: Note: I don't actually recommend *reading* that. 22:21:49 chandler: Did you watch a lot of crime and violence on television as a child? 22:22:08 ... No? 22:22:41 I wrote a lot of BASIC, though, and according to Dijkstra that ruined me permanently. 22:22:58 -!- adzuci [~ada2358@login.ccs.neu.edu] has quit [Ping timeout: 252 seconds] 22:24:40 adzuci [~ada2358@login.ccs.neu.edu] has joined #scheme 22:26:12 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 22:28:15 chandler, get your semicolon checked for cancer. 22:31:22 6 1 7 7 8, right? 22:33:17 chandler: chandler, do you normally use r6rs? 22:37:10 so seriously, syntax-case makes scheme macro as powerful as common lisp macro? 22:37:25 kinda confuse as which to learn 22:37:29 I want power fo fourse 22:37:33 of course 22:38:21 `syntax-case' is as powerful as defmacro, in general 22:38:41 in CL in particular, there are some environment parameters that make the comparison hard to do in general 22:40:45 `syntax-case' is more powerful than defmacro, because it's not possible to perform lexical capture in a macro in Common Lisp. 22:40:59 hmmm 22:41:05 sounds good 22:41:08 whats the downside? 22:41:32 It can be horribly confusing and very difficult to write complex macros with `syntax-case'. 22:42:39 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Ping timeout: 260 seconds] 22:42:59 chandler: I think it works... 22:43:09 ... And, I think I just found the trick I was missing for this `letwreck' puzzle. 22:43:27 chandler pasted "The much, much easier way" at http://paste.lisp.org/display/111515 22:44:14 eno__ [~eno@adsl-70-137-167-249.dsl.snfc21.sbcglobal.net] has joined #scheme 22:44:28 I don't know why I didn't see this first, but this is clearly the way to do this. 22:46:00 are common lisp macro easier to write complex macro? 22:46:16 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 276 seconds] 22:46:43 -!- toekutr [~toekutr@adsl-69-107-114-28.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 22:48:25 gws: Are you gavino? 22:48:38 easier than what? 22:49:22 than syntax-case? yes and no. 22:49:43 Fare: If this is gavino (as I think it is), it's probably best not to waste your keystrokes. 22:50:00 defmacro plus lots of conventions might -- but syntax-case gives you hygiene automatically so you don't have to implement it manually with conventions. 22:50:50 -!- MrFahrenheit [~RageOfTho@users-55-241.vinet.ba] has quit [Read error: No route to host] 22:51:17 -!- mejja [~user@c-14bee555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: R5 > R6] 22:52:12 MrFahrenheit [~RageOfTho@users-55-217.vinet.ba] has joined #scheme 22:54:08 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 248 seconds] 22:55:38 -!- mbishop__ [~martin@adsl-156-73-171.msy.bellsouth.net] has quit [Ping timeout: 240 seconds] 22:55:41 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 22:58:09 winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has joined #scheme 22:58:52 alaricsp [~alaric@mukhadvaram.gurukuli.co.uk] has joined #scheme 23:03:42 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 23:06:23 -!- gws is now known as use_iceWM 23:08:50 -!- bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:09:26 mbishop__ [~martin@adsl-156-111-210.msy.bellsouth.net] has joined #scheme 23:12:16 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 276 seconds] 23:16:50 chandler, Interesting macro you've got there. 23:17:16 chandler i might be but im reformed 23:17:18 :) 23:18:06 Fare, I'm not sure I understand why you think that syntax-case is hard to write. 23:18:39 use_iceWM: Oh, that's why you keep trying to evade your bans in #chicken using different hosts and nicknames? 23:18:48 chandler, You really find it difficult to write correct syntax-case macros over other systems? 23:19:15 not VERY hard. You just have to do a little bit more programmatic bookkeeping than if you had conventions to tell you that yes you can rely on bindings not being shadowed between evaluation times. 23:19:27 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 23:20:31 Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has joined #scheme 23:21:24 sjamaan: I wish I knew why you would ban someone. 23:21:31 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has left #scheme 23:21:58 -!- saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 264 seconds] 23:29:24 chandler, How would you modify your letwreck macro so that the behavior of the forms that are supposed to match LET, LET*, and LETREC would actually work? 23:29:38 That is, how about doing it without the duplicates check now. 23:29:59 -!- Blkt` is now known as Blkt 23:30:09 So, it should error if you try to use or rebind a name that you should, with a duplicate identifier message, but it should let you get away with it if it is in the right scope. 23:34:34 -!- snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has quit [Quit: snarkyboojum] 23:40:36 -!- dfkjjkfd [~paulh@214-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 23:43:37 saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has joined #scheme 23:46:38 _JFT_ [~JFT@modemcable204.87-177-173.mc.videotron.ca] has joined #scheme 23:48:45 -!- use_iceWM [~g@w005.z209031033.sjc-ca.dsl.cnc.net] has left #scheme 23:52:56 -!- Blkt [~user@dynamic-adsl-94-37-251-48.clienti.tiscali.it] has quit [Quit: ERROR: do not makunbound t please] 23:53:24 mbohun [~mbohun@202.124.75.80] has joined #scheme