00:09:37 -!- kuribas [~user@94-227-91-175.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:13:28 zmv_ [~Telefonic@189-47-123-113.dsl.telesp.net.br] has joined #scheme 00:16:47 -!- zmv [~Telefonic@189-47-123-113.dsl.telesp.net.br] has quit [Ping timeout: 258 seconds] 00:19:58 -!- JoelMcCracken [~user@pool-71-182-171-69.pitbpa.east.verizon.net] has left #scheme 00:20:51 -!- masm [~masm@bl19-142-4.dsl.telepac.pt] has quit [Quit: Leaving.] 00:21:55 -!- jrapdx [~jra@c-98-246-157-58.hsd1.or.comcast.net] has quit [Quit: Leaving] 00:27:46 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 258 seconds] 00:30:55 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read error: Operation timed out] 00:31:12 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 00:33:12 zmv [~Telefonic@189-47-123-113.dsl.telesp.net.br] has joined #scheme 00:37:22 -!- zmv_ [~Telefonic@189-47-123-113.dsl.telesp.net.br] has quit [Ping timeout: 264 seconds] 00:38:53 -!- ft [efftee@shell.chaostreff-dortmund.de] has quit [Ping timeout: 258 seconds] 00:42:49 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #scheme 00:45:01 weirdo: That would be why Schemers don't normally write their programs in CPS form. 00:46:10 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 258 seconds] 00:57:00 doc_who [~doc_who@pool-108-28-6-47.washdc.fios.verizon.net] has joined #scheme 00:59:43 hba [~hba@187.171.200.6] has joined #scheme 01:04:39 -!- homie` [~levgue@xdsl-78-35-170-163.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:07:30 homie [~levgue@xdsl-78-35-170-163.netcologne.de] has joined #scheme 01:09:29 ft [efftee@shell.chaostreff-dortmund.de] has joined #scheme 01:11:10 -!- djfkld [~paulh@244-15-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 01:17:30 -!- zmv [~Telefonic@189-47-123-113.dsl.telesp.net.br] has quit [Ping timeout: 260 seconds] 01:19:18 zmv [~Telefonic@189-47-123-113.dsl.telesp.net.br] has joined #scheme 01:24:20 zmv_ [~Telefonic@189-47-123-113.dsl.telesp.net.br] has joined #scheme 01:24:27 -!- zmv [~Telefonic@189-47-123-113.dsl.telesp.net.br] has quit [Ping timeout: 240 seconds] 01:28:50 -!- zmv_ [~Telefonic@189-47-123-113.dsl.telesp.net.br] has quit [Ping timeout: 258 seconds] 01:29:24 zmv [~Telefonic@189-47-125-177.dsl.telesp.net.br] has joined #scheme 01:30:54 -!- hypercube32 [~hypercube@231.125.189.72.cfl.res.rr.com] has quit [Quit: Leaving] 01:32:06 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 01:32:16 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 01:35:46 -!- Modius_ [~Modius@cpe-70-123-140-183.austin.res.rr.com] has quit [Quit: "Object-oriented design" is an oxymoron] 01:36:06 Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has joined #scheme 01:38:40 genieliu [~genieliu@59.78.62.120] has joined #scheme 01:45:58 -!- zmv [~Telefonic@189-47-125-177.dsl.telesp.net.br] has quit [Ping timeout: 258 seconds] 01:48:10 zmv [~Telefonic@189-47-119-131.dsl.telesp.net.br] has joined #scheme 01:53:39 pyro- [~pyro@CPE-124-180-186-25.lns12.lon.bigpond.net.au] has joined #scheme 02:05:54 -!- MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has quit [Ping timeout: 258 seconds] 02:11:05 zmv_ [~Telefonic@189-47-119-131.dsl.telesp.net.br] has joined #scheme 02:12:17 [BT]Brendan [~brendan@static.112.22.47.78.clients.your-server.de] has joined #scheme 02:13:42 -!- [BT]Brendan is now known as Brendan_T 02:13:57 -!- zmv [~Telefonic@189-47-119-131.dsl.telesp.net.br] has quit [Ping timeout: 258 seconds] 02:19:13 -!- zanes [~zane@108-90-245-81.lightspeed.cicril.sbcglobal.net] has quit [] 02:23:04 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 02:23:13 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 02:32:34 r2q2 [~user@c-67-167-81-145.hsd1.il.comcast.net] has joined #scheme 02:32:39 Hello 02:42:30 -!- r2q2 [~user@c-67-167-81-145.hsd1.il.comcast.net] has quit [Remote host closed the connection] 02:53:23 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Remote host closed the connection] 02:59:25 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 03:21:09 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 03:24:05 -!- Sgeo [~Sgeo@ool-ad034d00.dyn.optonline.net] has left #scheme 03:31:40 arf 03:33:10 Eataix [~Eataix@CPE-121-223-190-167.lns2.civ.bigpond.net.au] has joined #scheme 03:38:08 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 252 seconds] 03:39:01 Oink! 03:40:39 -!- Eataix [~Eataix@CPE-121-223-190-167.lns2.civ.bigpond.net.au] has quit [] 03:46:12 -!- zmv_ [~Telefonic@189-47-119-131.dsl.telesp.net.br] has quit [Ping timeout: 252 seconds] 03:52:00 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 04:02:27 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 04:03:45 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Ping timeout: 260 seconds] 04:06:51 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 04:12:12 -!- hba [~hba@187.171.200.6] has quit [Quit: leaving] 04:14:55 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 04:27:48 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 04:36:56 -!- hussaibi [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 258 seconds] 04:41:56 -!- DrDuck [~duck@adsl-98-81-80-109.hsv.bellsouth.net] has quit [Ping timeout: 252 seconds] 04:41:56 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 04:51:06 zanes [~zane@108-90-245-81.lightspeed.cicril.sbcglobal.net] has joined #scheme 04:53:26 kennyd [~kennyd@93-136-13-79.adsl.net.t-com.hr] has joined #scheme 04:57:55 -!- replore [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 05:05:14 -!- leppie [~lolcow@196-215-83-98.dynamic.isadsl.co.za] has quit [Ping timeout: 250 seconds] 05:09:32 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #scheme 05:10:25 hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has joined #scheme 05:13:56 -!- hussaibi [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 260 seconds] 05:20:31 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #scheme 05:22:25 -!- hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 240 seconds] 05:32:51 mmc [~michal@109.116.164.2] has joined #scheme 05:43:21 -!- blueadept [~blueadept@unaffiliated/blueadept] has quit [Quit: Leaving] 05:44:43 -!- tupi [~david@189.60.162.202] has quit [Quit: Leaving] 06:01:09 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 06:01:16 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 06:03:39 leppie [~lolcow@196-215-83-98.dynamic.isadsl.co.za] has joined #scheme 06:15:17 -!- elly [~elly@atheme/member/elly] has quit [Ping timeout: 250 seconds] 06:29:35 elly [~elly@atheme/member/elly] has joined #scheme 07:15:10 -!- alfa_y_omega [~alfa_y_om@90.166.231.220] has quit [Ping timeout: 240 seconds] 07:16:20 rado_ [~rado@119.56.85.44] has joined #scheme 07:17:37 hello, i am running mit scheme REPL on ubuntu, but seems to be missing emacs shortcuts like bash 07:18:00 like ctrl+p (or uparrow) 07:18:17 is there a way to enable that? 07:18:48 alfa_y_omega [~alfa_y_om@90.166.231.220] has joined #scheme 07:19:09 -!- alfa_y_omega [~alfa_y_om@90.166.231.220] has quit [Max SendQ exceeded] 07:19:16 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 07:22:30 -!- zanes [~zane@108-90-245-81.lightspeed.cicril.sbcglobal.net] has quit [] 07:26:05 alfa_y_omega [~alfa_y_om@90.166.231.220] has joined #scheme 07:26:34 -!- Khisanth [~Khisanth@50.14.244.111] has quit [Ping timeout: 252 seconds] 07:33:55 zanes [~zane@108-90-245-81.lightspeed.cicril.sbcglobal.net] has joined #scheme 07:41:00 -!- alfa_y_omega [~alfa_y_om@90.166.231.220] has quit [Ping timeout: 276 seconds] 07:41:58 z0d [~z0d@artifact.hu] has joined #scheme 07:41:58 -!- z0d [~z0d@artifact.hu] has quit [Changing host] 07:41:58 z0d [~z0d@unaffiliated/z0d] has joined #scheme 07:42:27 alright, i found about rlwrap, nevermind 07:42:31 -!- rado_ [~rado@119.56.85.44] has quit [Quit: leaving] 07:42:38 hi 07:46:43 gravicappa [~gravicapp@p57A401AE.dip0.t-ipconnect.de] has joined #scheme 07:49:28 teurastaja [~Samuel@modemcable072.213-81-70.mc.videotron.ca] has joined #scheme 07:51:14 alfa_y_omega [~alfa_y_om@90.166.231.220] has joined #scheme 07:56:41 -!- elly [~elly@atheme/member/elly] has quit [Ping timeout: 250 seconds] 07:58:49 elly [~elly@atheme/member/elly] has joined #scheme 08:09:35 jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has joined #scheme 08:17:18 -!- dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has quit [Read error: Operation timed out] 08:18:16 -!- mmc [~michal@109.116.164.2] has quit [Ping timeout: 252 seconds] 08:18:41 -!- genieliu [~genieliu@59.78.62.120] has quit [Quit: Lost terminal] 08:19:39 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 08:22:27 jrapdx [~jra@c-98-246-157-58.hsd1.or.comcast.net] has joined #scheme 08:27:26 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 252 seconds] 08:28:18 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 08:51:14 greetings 08:55:27 sublimepua [~sublimepu@cpe-72-224-203-207.maine.res.rr.com] has joined #scheme 08:56:04 -!- sublimepua [~sublimepu@cpe-72-224-203-207.maine.res.rr.com] has left #scheme 09:09:29 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 258 seconds] 09:23:16 -!- teurastaja [~Samuel@modemcable072.213-81-70.mc.videotron.ca] has quit [Quit: --> Put something intelligent here when I'm more bored <--] 09:30:16 masm [~masm@bl19-142-4.dsl.telepac.pt] has joined #scheme 10:06:44 f8l [~f8l@87-205-51-8.adsl.inetia.pl] has joined #scheme 10:15:35 realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has joined #scheme 10:19:36 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Ping timeout: 260 seconds] 10:20:09 mmc [~michal@109.117.173.16] has joined #scheme 10:24:04 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 10:24:37 -!- hussaibi [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 258 seconds] 10:26:54 -!- homie [~levgue@xdsl-78-35-170-163.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 10:42:08 homie [~levgue@xdsl-78-35-170-163.netcologne.de] has joined #scheme 10:55:34 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 10:55:45 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 10:56:18 -!- mmc [~michal@109.117.173.16] has quit [Ping timeout: 252 seconds] 10:57:06 Khisanth [~Khisanth@50.14.244.111] has joined #scheme 10:59:02 -!- leppie [~lolcow@196-215-83-98.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 10:59:31 leppie [~lolcow@196-215-83-98.dynamic.isadsl.co.za] has joined #scheme 11:00:30 -!- Khisanth [~Khisanth@50.14.244.111] has quit [Client Quit] 11:06:42 Khisanth [~Khisanth@50.14.244.111] has joined #scheme 11:09:46 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 11:10:08 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 11:28:35 -!- snorble [~snorble@s83-179-14-167.cust.tele2.se] has left #scheme 11:29:54 snorble [~snorble@s83-179-14-167.cust.tele2.se] has joined #scheme 11:42:30 -!- pygospa [~TheRealPy@kiel-5f768611.pool.mediaWays.net] has quit [Ping timeout: 252 seconds] 11:44:29 pygospa [~TheRealPy@kiel-d9bfdbb4.pool.mediaWays.net] has joined #scheme 11:51:04 DrDuck [~duck@adsl-98-81-80-109.hsv.bellsouth.net] has joined #scheme 12:03:15 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 250 seconds] 12:09:32 homie` [~levgue@xdsl-78-35-137-191.netcologne.de] has joined #scheme 12:09:49 -!- homie` [~levgue@xdsl-78-35-137-191.netcologne.de] has quit [Remote host closed the connection] 12:12:28 homie` [~levgue@xdsl-78-35-137-191.netcologne.de] has joined #scheme 12:12:30 -!- homie [~levgue@xdsl-78-35-170-163.netcologne.de] has quit [Ping timeout: 276 seconds] 12:12:54 -!- homie` [~levgue@xdsl-78-35-137-191.netcologne.de] has quit [Remote host closed the connection] 12:18:48 homie [~levgue@xdsl-78-35-137-191.netcologne.de] has joined #scheme 12:19:11 soveran [~soveran@186.19.214.247] has joined #scheme 12:26:38 PokeTron [~PokeTron@unaffiliated/poketron] has joined #scheme 12:26:42 -!- PokeTron [~PokeTron@unaffiliated/poketron] has left #scheme 12:48:48 oink 12:50:48 MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has joined #scheme 12:52:01 tab1ta [~tab1ta@host137-8-dynamic.10-79-r.retail.telecomitalia.it] has joined #scheme 13:02:32 _pyro_ [~pyro@CPE-124-180-186-25.lns12.lon.bigpond.net.au] has joined #scheme 13:12:38 -!- pyro- [~pyro@CPE-124-180-186-25.lns12.lon.bigpond.net.au] has quit [Quit: leaving] 13:13:40 -!- _pyro_ is now known as pyro- 13:18:24 pnkfelix [~Adium@c-71-225-165-188.hsd1.pa.comcast.net] has joined #scheme 13:18:38 -!- pyro- [~pyro@CPE-124-180-186-25.lns12.lon.bigpond.net.au] has quit [Changing host] 13:18:39 pyro- [~pyro@unaffiliated/purplepanda] has joined #scheme 13:19:35 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: Lost terminal] 13:21:06 -!- realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has quit [Quit: realitygrill] 13:28:11 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 13:31:44 -!- zanes [~zane@108-90-245-81.lightspeed.cicril.sbcglobal.net] has quit [] 13:38:01 -!- martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has quit [Remote host closed the connection] 13:43:47 -!- wingo [~wingo@90.164.198.39] has quit [Ping timeout: 250 seconds] 13:49:30 genieliu [~genieliu@59.78.62.120] has joined #scheme 13:55:51 martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 13:55:59 -!- arbscht [~arbscht@60-234-133-173.bitstream.orcon.net.nz] has quit [Ping timeout: 246 seconds] 14:02:59 phao [phao@187.1.200.107] has joined #scheme 14:08:59 arbscht [~arbscht@60-234-133-173.bitstream.orcon.net.nz] has joined #scheme 14:29:24 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 14:32:46 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 260 seconds] 14:33:05 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 14:33:34 Zot! 14:46:30 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 14:53:05 dnolen [~davidnole@pool-71-183-181-36.nycmny.east.verizon.net] has joined #scheme 15:01:20 wisey [~Steven@host86-150-109-116.range86-150.btcentralplus.com] has joined #scheme 15:02:23 -!- genieliu [~genieliu@59.78.62.120] has quit [Quit: Lost terminal] 15:03:32 -!- doc_who [~doc_who@pool-108-28-6-47.washdc.fios.verizon.net] has quit [Remote host closed the connection] 15:13:50 djkfdalkj [~paulh@244-15-ftth.onsnetstudenten.nl] has joined #scheme 15:26:25 PokeTron [~PokeTron@unaffiliated/poketron] has joined #scheme 15:26:29 -!- PokeTron [~PokeTron@unaffiliated/poketron] has left #scheme 15:31:18 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 15:31:20 csdwifi [~csdwifi@76.177.215.56] has joined #scheme 15:40:34 -!- f8l [~f8l@87-205-51-8.adsl.inetia.pl] has quit [Quit: WeeChat 0.3.5] 15:44:52 f8l [~f8l@87-205-51-8.adsl.inetia.pl] has joined #scheme 15:45:04 I was reading that document that has "the rise of worse is better", and I got to this part, http://hackvan.com/pub/stig/articles/richard-p-gabriel--good-news/subsection3.3.6.html 15:45:04 http://tinyurl.com/42olr3k 15:45:15 The second paragraph, "There should be a simple, easily implementable kernel to the Lisp. That kernel should be both more than Scheme-modules and macros-and less than Scheme-continuations remain an ugly stain on the otherwise clean manuscript of Scheme." 15:45:30 Why is he saying continuations are ugly? 15:45:49 (any clues?) 15:47:07 My guess is that he thinks continuations are hard to implement 15:47:40 They can complicate programs too (there are hairy issues with resource management) 15:48:01 Non-local control transfers and reusable continuations make programs harder to reason about. 15:48:02 Of course, hygienic macros are much harder 15:48:16 (to implement, and sometimes to use as well) 15:49:35 phao: Also, I think this is in the context of worse-is-better, and in that context, continuations are definitely an unneccessary complication 15:50:14 -!- pnkfelix [~Adium@c-71-225-165-188.hsd1.pa.comcast.net] has quit [Quit: Leaving.] 15:50:18 pumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 15:51:46 "\"\\\"meh\\\"\"" 15:53:19 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 252 seconds] 15:53:28 Also, rpg is full of rhetoric. 15:53:33 yep 15:54:23 I read that text... I don't think I understand what he/she meant 15:55:09 ršpg 15:56:33 Hah. 15:59:27 -!- dnolen [~davidnole@pool-71-183-181-36.nycmny.east.verizon.net] has quit [Quit: dnolen] 16:02:35 Actually, the order should be reversed; ršpg 16:04:15 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Ping timeout: 258 seconds] 16:25:45 doc_who [~doc_who@pool-108-28-6-47.washdc.fios.verizon.net] has joined #scheme 16:30:29 -!- phao [phao@187.1.200.107] has quit [Read error: Connection reset by peer] 16:39:51 tupi [~david@189.60.162.202] has joined #scheme 16:47:18 dnolen [~davidnole@184.152.70.89] has joined #scheme 16:57:51 -!- gravicappa [~gravicapp@p57A401AE.dip0.t-ipconnect.de] has quit [Ping timeout: 252 seconds] 17:04:55 mmc [~michal@109.112.91.208] has joined #scheme 17:05:32 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 17:13:41 -!- mmc [~michal@109.112.91.208] has quit [Ping timeout: 250 seconds] 17:14:50 mmc [~michal@109.112.101.7] has joined #scheme 17:16:02 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 17:17:41 fozze [~angelo@67-41-213-23.hlrn.qwest.net] has joined #scheme 17:20:34 -!- certainty [~david@matrix.d-coded.de] has left #scheme 17:21:56 If one views "Lisp" as a language where the control flow of a program has a direct correspondence to the tree structure of the program's S-expression, then continuations are a stain on that pure scheme (lower-case). Multiple value returns, too. The beauty of k+mv only becomes apparent when you look beyond the surface form. So I think I know where rpg's coming from. 17:22:46 smtlaissezfaire [~smtlaisse@user-387hbid.cable.mindspring.com] has joined #scheme 17:25:34 -!- MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has quit [Ping timeout: 258 seconds] 17:28:23 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 17:28:32 -!- mmc [~michal@109.112.101.7] has quit [Ping timeout: 240 seconds] 17:31:39 Daemmerung: That's wrong. Two demonstrations how: closures break this anyway; cont's are easily translated to non-cont-ed code. 17:31:41 zmv [~daniel@c95334de.virtua.com.br] has joined #scheme 17:31:51 -!- pumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 260 seconds] 17:33:06 eli: I don't see your first point. 17:34:37 (your 2nd is "look beyond the surface form," as taught in the lambda papers) 17:37:51 realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has joined #scheme 17:39:04 phax [~phax@unaffiliated/phax] has joined #scheme 17:47:11 -!- wsimpson [~bill@76.73.221.195] has quit [Quit: Leaving.] 17:47:40 wsimpson [~bill@76.73.221.195] has joined #scheme 17:56:55 zanes [~zane@108-90-245-81.lightspeed.cicril.sbcglobal.net] has joined #scheme 18:01:20 -!- DrDuck [~duck@adsl-98-81-80-109.hsv.bellsouth.net] has quit [Ping timeout: 246 seconds] 18:01:44 cky, neither do i, but sometimes my compiler miscompiles :) 18:13:58 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 18:15:27 pumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 18:17:20 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 240 seconds] 18:22:41 -!- djkfdalkj [~paulh@244-15-ftth.onsnetstudenten.nl] has quit [Ping timeout: 246 seconds] 18:26:55 blueadept [~blueadept@unaffiliated/blueadept] has joined #scheme 18:28:03 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Ping timeout: 250 seconds] 18:30:49 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 18:33:03 kuribas [~user@94-227-89-165.access.telenet.be] has joined #scheme 18:41:27 -!- stchang [~stchang@login.ccs.neu.edu] has quit [Ping timeout: 240 seconds] 18:41:43 choas [~lars@p578F6F18.dip.t-dialin.net] has joined #scheme 18:42:00 Nisstyre [~nisstyre@infocalypse-net.info] has joined #scheme 18:42:24 stchang [~stchang@login.ccs.neu.edu] has joined #scheme 18:42:43 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 18:42:48 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Client Quit] 18:42:56 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 18:47:36 PokeTron [~PokeTron@66.119.109.245] has joined #scheme 18:48:11 -!- PokeTron [~PokeTron@66.119.109.245] has left #scheme 18:53:09 pandeiro [~pandeiro@187.105.249.212] has joined #scheme 18:55:15 HG` [~HG@p5DC05082.dip.t-dialin.net] has joined #scheme 19:03:44 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Ping timeout: 240 seconds] 19:12:41 -!- doc_who [~doc_who@pool-108-28-6-47.washdc.fios.verizon.net] has quit [Ping timeout: 250 seconds] 19:17:57 -!- dnolen [~davidnole@184.152.70.89] has quit [Read error: Connection reset by peer] 19:18:03 dnolen [~davidnole@184.152.70.89] has joined #scheme 19:31:44 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 240 seconds] 19:36:31 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 19:39:03 -!- pumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 255 seconds] 19:43:32 srid [~srid@S010678ca39ff0146.vn.shawcable.net] has joined #scheme 19:43:32 -!- srid [~srid@S010678ca39ff0146.vn.shawcable.net] has quit [Changing host] 19:43:32 srid [~srid@unaffiliated/srid] has joined #scheme 19:51:28 drdo` [~drdo@91.205.108.93.rev.vodafone.pt] has joined #scheme 19:53:52 -!- drdo [~drdo@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 258 seconds] 19:56:56 zmv [~daniel@c95334de.virtua.com.br] has joined #scheme 20:01:33 DrDuck [~duck@adsl-98-81-80-109.hsv.bellsouth.net] has joined #scheme 20:03:45 -!- shachaf [~shachaf@204.109.63.130] has quit [Ping timeout: 252 seconds] 20:03:47 -!- ozzloy [~ozzloy@unaffiliated/ozzloy] has quit [Ping timeout: 240 seconds] 20:06:20 shachaf [~shachaf@204.109.63.130] has joined #scheme 20:12:07 pnkfelix [~Adium@c-71-225-165-188.hsd1.pa.comcast.net] has joined #scheme 20:12:47 -!- srid [~srid@unaffiliated/srid] has quit [Quit: Computer has gone to sleep.] 20:14:07 ozzloy [~ozzloy@ozzloy.lifeafterking.org] has joined #scheme 20:14:07 -!- ozzloy [~ozzloy@ozzloy.lifeafterking.org] has quit [Changing host] 20:14:07 ozzloy [~ozzloy@unaffiliated/ozzloy] has joined #scheme 20:15:02 gravicappa [~gravicapp@p57A401AE.dip0.t-ipconnect.de] has joined #scheme 20:20:18 guys, 20:20:30 can you help me make a portable racket install that fits on a 128mb pendrive? 20:20:36 the public one is 200mb 20:21:10 -!- wisey [~Steven@host86-150-109-116.range86-150.btcentralplus.com] has quit [Quit: Leaving] 20:22:42 maybe remove DrRacket? 20:23:16 i actually need it. i thought about removing everything not needed for r5rs 20:23:49 have you checked this? https://bitbucket.org/chust/racket-portable/wiki/Home 20:24:12 yes, that's the one that doesn't fit :( 20:24:17 oh :) 20:24:19 :(* 20:24:41 i'll try removing stuff randomly 20:24:43 or renaming 20:27:13 hmm, maybe non-compiled stuff can go 20:31:18 -!- zmv is now known as |- 20:31:41 -!- |- is now known as zmv 20:31:56 weirdo, try with racket-textual. 20:32:05 DT``, but i need drracket 20:32:37 oh, nevermind then. 20:34:35 Is there any documentation or other stuff that you don't need for running? 20:34:45 i did 62 mb now 20:34:49 i don't need any docs 20:35:00 removed them already 20:35:03 removing collects now 20:35:29 don't need anything other than r5rs 20:37:06 it's a pain i can't remove any language. any way i could replace them with stubs? 20:40:28 Daemmerung: Just having closures in the language breaks the correspondence between the tree structure and control flow. 20:41:00 Daemmerung: For example, the simple straightforward translation of a tagbody thing (a body with gotos) is by converting it into a bunch of functions where each serves as a goto label. 20:41:09 -!- jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has quit [Ping timeout: 255 seconds] 20:41:44 Daemmerung: The second point is that continuations don't add any further breakage of that, since it's easily translatable into code without them. 20:42:13 weirdo: If you want *just* r5rs, then you can find much smaller implementations. 20:42:54 -!- f8l [~f8l@87-205-51-8.adsl.inetia.pl] has quit [Quit: WeeChat 0.3.5] 20:44:33 eli, but drscheme is (sort of) good 20:44:41 know any impls with autodoc? 20:44:55 which drscheme doesn't seem to have :( 20:45:00 weirdo: It's not drscheme, it's drracket. 20:45:12 right 20:45:16 And if you want just r5rs you get no "autodoc" (whatever that means). 20:45:38 If you want just r5rs, you're going to have to endure a lot of pain, but that's your own choice. 20:46:18 eli, autodoc is showing lambda-lists of currently typed expressions 20:46:35 eli, i'm writing my compiler in r5rs and it's very non-painful 20:46:48 actually, it's p. orgasmic 20:47:15 I'm very happy that you're enjoying your orgasms; but what I said is still true. 20:50:22 steampunkey [4e868a03@gateway/web/freenode/ip.78.134.138.3] has joined #scheme 20:50:36 dostoyevsky [sck@oemcomputer.oerks.de] has joined #scheme 20:55:14 it's 71 mb now; i can put it to a flash drive 20:56:35 pumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 20:57:09 Hello. I am writing a schemey language in C... What's a good to define a generic variable type in C? 20:57:28 indeed, goto abuses the pure tree-flow lisp model. also, using racket for r5rs only is pretty silly. tagged union. 20:57:58 dostoyevsky, union 20:58:06 typedef union { size_t s; struct { short int type; cl_reg_type d; } t; } Id; 20:58:21 dostoyevsky, unsigned char type 20:58:22 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 264 seconds] 20:58:24 I use this... But the type info eats up space.. 20:58:41 dostoyevsky, then use individual types whenever you can 20:58:47 and why do you need the size? 20:58:54 you can dispatch on the type to get size 20:59:08 bibop, then, or pointer-tagging tricks 20:59:15 Daemmerung, type-punning? 20:59:50 *weirdo* recommends union instead of type-punning 21:00:01 gcc hates type-punning 21:00:53 bottom n bits of register contain typefield; remaining 26/28/30 bits contain immediate data; mask (or don't mask, one) to get a pointer-to-cell 21:01:24 Daemmerung, but what if address space overlaps? 21:01:39 get a better os. 21:01:41 I would like to keep integers/floats in registers directly.. but the type info is in the way... 21:01:41 :-) 21:01:49 dostoyevsky, what Daemmerung said 21:02:00 dostoyevsky, the usual approach is to assume that addresses have a particular number of bits (these days, either 32 or 64), to allocate some of those bits for tags to mark the interpretation of the rest of the bits, and to use `unsigned long' or `uintptr_t' or similar for the type of C object that represents a Scheme object. 21:03:27 For example, in MIT Scheme's `microcode' (the C code that implements a hardware-like abstraction for the Scheme code to run on), you'll find `typedef unsigned long SCHEME_OBJECT;', the high six bits store a tag, and the low twenty-six or fifty-eight bits store type-specific data -- e.g., a pointer, an integer value, a constant, &c. 21:04:27 Riastradh: But this means that you will have to do bit manipulation for adding two ints... 21:04:36 In Scheme48's virtual machine, you'll find `typedef unsigned long s48_value;'. The low two bits store a tag, and the high thirty or sixty-two bits store other data. This way, mapping from a tagged object descriptor to its pointer (if it is a pointer) is a matter of subtracting the tag, which you can do simultaneously with a memory reference in pretty much every ISA. 21:05:15 Further, in Scheme48, the small integer, or `fixnum', tag is zero, so adding and subtracting fixnums has no overhead beyond the carry check, and multiplying fixnums just requires a shift afterward. 21:05:35 very informative 21:06:13 Yeah, thanks Riastradh... I don't think I really understand it yet, but I will take my time... 21:06:17 (MIT Scheme's tagging scheme was designed before 32-bit address spaces were anywhere near being filled, when the 24-bit address space of the m68k systems they had at the AI Lab seemed tremendously roomy.) 21:06:44 dostoyevsky, make a bitfield on top of the pointer 21:06:45 68020 = almost unimaginable decadence 21:06:48 (`Holy *megabytes* of RAM, Batman!') 21:07:01 Bit fields are almost always a bad idea... 21:07:03 (in C) 21:07:05 dostoyevsky, and AND it with the pointer 21:07:17 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 21:07:26 Riastradh, i'm not talking about C bitfields. just do it manually, dostoyevsky 21:07:32 OK. 21:08:01 then you can get the mask with ((1 << (sizeof(long) * 8)) - 1) 21:08:12 ight. 21:08:13 ugh. 21:08:34 ((1 << ((sizeof(long) * 8)) - BITFIELD_SIZE) - 1) 21:08:44 is that correct, guys? 21:08:51 please correct me if i'm misleading 21:09:11 Riastradh: check out C99 bitfields. Very nice. 21:09:15 to get the bitfield itself: 21:09:44 dostoyevsky: no need for ANDing, use C99 bitfields 21:09:54 ((1 << (BITFIELD_SIZE) - 1) << (((sizeof(long) * 8)) - BITFIELD_SIZE) 21:10:02 steampunkey, c99 s**s 21:10:05 -!- dnolen [~davidnole@184.152.70.89] has quit [Quit: dnolen] 21:10:14 no one except GNU implements it 21:10:17 weirdo: if by s**s you mean super_cool_rocks, then yes 21:10:18 not microsoft, not sun 21:10:49 the hell freezes over before visual c can compile c99 code 21:10:57 weirdo: microsoft? lol. oracle has a C compiler? 21:11:05 steampunkey, solaris studio 21:11:23 weirdo: you just use mingw, and you're on your merry way 21:11:44 well, that's one way. but still, gnu compiler generates crappy bloated code, and compilation takes forever 21:11:54 not with -O2 21:11:58 well 21:12:03 (the former) 21:12:13 :-) 21:12:25 i very much doubt MS or Oracle are superior performance-wise 21:12:34 does intel have c99? 21:12:57 I want to write a compiler that compiles to ASM next.. I wouldn't like to do bit manipulation in ASM, so I do not really fancy bit manipulation... I think I rather work with whatever I can fit directly in registers... And then use external memory for values that are larger... So I would need to use a storage for "long long ints" (64bits) but not for "ints"(32 bits) 21:13:25 weirdo: idk. i know tcc is working on it 21:13:34 dostoyevsky, just make two ASM macros for tagging and you're done 21:13:35 :) 21:13:40 All the free software C compilers I know of aim for C99 support. 21:13:43 weirdo: also clang 21:13:55 Riastradh: exactly 21:14:03 even pcc? 21:14:04 :) 21:14:21 i'm gonna check 21:14:31 Yes, even pcc. 21:15:05 weirdo: pcc says it specifically aims for c99. i think clang does the same too. 21:15:10 paste? 21:15:20 dostoyevsky: 21:15:29 only MS left their C 10 years behind 21:15:44 *steampunkey* wonders if they have some sort of agenda ;-P 21:15:46 :D 21:15:53 -!- pumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 21:16:29 Their agenda is spelled `C#'. 21:16:36 ``The Oracle Solaris Studio C compiler conforms to the ISO/IEC 9899:1999, Programming Language - C and ISO/IEC 9899:1990, Programming Languages-C standards.'' 21:16:39 (and a few other things too) 21:17:32 what are .srbl files in drracket and can i remove them? 21:18:16 http://paste.lisp.org/display/123696 21:18:27 What do you guys think of my garbage collector? 21:18:41 it's generational... 21:18:43 dostoyevsky: you could use a struct {uint8_t type; union {char c; int i; /*...*/}value;}; if you're too lazy to do it right ;-) 21:21:29 dnolen [~davidnole@184.152.70.89] has joined #scheme 21:21:55 Riastradh: so do those implementations you talk about just use such (so to say) supertypes in a linked list, or what? 21:22:04 perhaps a b tree? 21:23:08 ? 21:23:44 steampunkey: That's what I use I think... 21:23:46 Riastradh: for the lisp list. btw a question preceding the question mark would help. 21:24:01 I don't understand the question. 21:24:40 typedef union { float f; int i; int address; } cl_reg_type; typedef union { size_t s; struct { short int type; cl_reg_type d; } t; } Id; 21:26:11 -!- fozze [~angelo@67-41-213-23.hlrn.qwest.net] has quit [Ping timeout: 240 seconds] 21:26:29 By the way, you don't want to use a union or struct as the basic type for parameter-passing -- the relevant ABIs basically imply that that will perform very badly, because they will be passed as pointers into the stack under the hood. 21:26:49 -!- smtlaissezfaire [~smtlaisse@user-387hbid.cable.mindspring.com] has quit [Quit: smtlaissezfaire] 21:26:49 So you really want to use `unsigned long', or `uint32_t'/`uint64_t'. 21:26:55 Riastradh: the scheme list type '(1,2,3) - is it implemented as a linked list of supertypes (where supertypes are the omni-used type you mentioned above) 21:27:38 ehm s/,/ /g 21:28:33 Riastradh, how about intptr_t? 21:30:34 weirdo: sounds logical ;-) 21:30:43 -!- pnkfelix [~Adium@c-71-225-165-188.hsd1.pa.comcast.net] has quit [Quit: Leaving.] 21:31:04 uintptr_t would be OK too, but you probably want to use a known-width integer type. 21:31:14 weirdo: oh wait, ... right, what Riastradh just said 21:31:30 what's the problem with sizeof? 21:31:40 tagging macros can handle it 21:31:45 weirdo: what if it returns 3? ;-) 21:31:58 steampunkey, #error :P 21:33:12 weirdo, the problem is that you will always want to tailor the design to the particular number of bits. For example, how many basic tags do you want? How do you want your stored objects aligned? 21:33:14 Riastradh: you still don't know what i asked? 21:33:32 steampunkey, sorry, I don't understand what you mean by supertypes and omnitypes and lists thereof. 21:34:52 there is a dangerous lesson about communication hiding here. 21:35:02 if someone is interested in hourly updates on my compiler - http://piec.itcrew.pl/seaking/ 21:35:12 Riastradh: a supertype is what i call a struct designed to hold any basic type (what we discussed/are discussing). the list thereof is either 1) scheme/lisp list, or 2) a linked list of such structs in C. I'm asking whether, in the implementations you mentioned, the 1) is implemented as simply 2) ? 21:35:15 Daemmerung, dangerous lesson? Interesting... What is dangerous about a lesson? 21:35:35 Riastradh: one might mistakenly learn that lesson, unless one is very careful 21:36:01 "a foo... is what I call a bar" 21:37:18 *steampunkey* steps to his foo to do a couple of pullups while waiting for Riastradh's answer. 21:37:49 -!- dnolen [~davidnole@184.152.70.89] has quit [Quit: dnolen] 21:38:23 what algorithm should i use for type inference in a dynamically-typed scheme for the purpose of optimization? 21:38:28 steampunkey, most Scheme systems don't use C structs to lay out the representations of their data structures, because C guarantees too little about the layout of the structs in memory, which matters for a garbage collector that handles a lot of different data structures more or less uniformly. 21:38:31 besides, what type system should i use for that purpose? 21:39:14 i'd like to have typed conses iff their types unify 21:39:20 is there such an algorithm? 21:39:26 i'm not talking about typed scheme 21:39:34 weirdo: What is your target for compilation? 21:39:40 dostoyevsky, javascript :-) 21:40:02 dostoyevsky, http://piec.itcrew.pl/seaking 21:41:18 In MIT Scheme, nil is represented by 0x00000009 (or another eight zeros on a 64-bit system). A pair is represented by the tagged address of the word-aligned location in memory where the car is stored, immediately following which is the location where the cdr is stored. 21:41:34 Riastradh: well the pointer to the next element of the list must be stored somewhere. work with me here 21:42:07 And, in particular, the tag on a pair says that it is a pair. 21:42:11 Riastradh, nil as in list-end or unspecified value? 21:42:20 weirdo, list end. 21:43:14 In Scheme48, nil is represented by some similar number. A pair is represented by a tagged address, tagged with a generic pointer tag rather than a specific pair tag, to the word-aligned location in memory where the car is stored, immediately following which is the cdr location, and immediately preceding which is the location of a header word that says it is a pair and how long it is. 21:44:13 In Scheme48, the garbage collector doesn't care that the header word says it's a pair; the garbage collector cares only that the two words following the header word are arbitrary Scheme objects, and that it may need to trace them. 21:45:21 -!- kennyd [~kennyd@93-136-13-79.adsl.net.t-com.hr] has quit [Ping timeout: 276 seconds] 21:45:21 weirdo: Why JavaScript? 21:45:26 how many tags can you use on a 32-bit system? 21:45:36 In some systems, arbitrary object data and arbitrary non-object data may be mixed in the heap, so if you (e.g., suppose you are the garbage collector) get a pointer into the heap, you have to know how to interpret it a priori -- is it a pointer to a pair's storage, or to some other tagged data storage, or is it a pointer to a string's storage, or some other untagged data storage? 21:45:37 dostoyevsky, because i'd like to program web sites in a reasonable language, not JS 21:45:42 Scheme48 and MIT Scheme are both examples of this. 21:46:51 But in other systems, untagged data are stored separately from tagged data, so if you get a pointer to anywhere in the tagged data space, you know that the word it points to represents an object and has a tag that you can inspect and so on. The Symbolics Lisp machines worked like this. This enables the garbage collector to rely on page faults for incremental collection. 21:46:57 kennyd [~kennyd@93-138-27-15.adsl.net.t-com.hr] has joined #scheme 21:47:13 dostoyevsky, it's only missing hygienic macros and library functions now 21:47:33 weirdo, well, you can use as many as you want, but perhaps you meant to add some constraints to the question. 21:47:57 weirdo: It surely is a good way for learning JavaScript... :) 21:48:03 Riastradh, "for it not to raise SIG11 too often" :) 21:48:22 dostoyevsky, i don't have to write too many JS functions, just type definitions, car, cdr and so on 21:48:27 For example, `I want to use a low-tagging scheme with every object stored in memory aligned to 64 bits, and I want separate tags for even and odd fixnums so I can have 30-bit fixnums.' In that case, you're left with six tags for non-fixnum data. 21:48:31 except they have to be written in CPS 21:49:23 and dynamic-wind, taken from s48 at Riastradh's suggestion, had to be converted to CPS'ed JS :( 21:49:28 phax [~phax@unaffiliated/phax] has joined #scheme 21:51:42 what does #' do in scheme? 21:51:48 racket has it 21:52:01 Writing #'x is equivalent to writing (syntax x). 21:52:11 Just like writing 'x is equivalent to writing (quote x). 21:53:07 is there some standard read-macro for getting a toplevel definition of something, or do i have to make one? 21:53:18 i mean at compile-time 21:53:29 I don't understand the question. 21:54:16 Riastradh, there is a problem such-that user code can shadow car, cdr, list etc. and it breaks non-hygienic macros 21:54:24 so i wonder if there's some special character for it 21:54:47 Non-hygienic macros are broken. What's the problem? 21:54:51 :-) 21:55:36 i think i'll settle for #, or something 21:56:06 Riastradh, they have a lower barrier of entry 21:56:18 If your problem is that you don't have hygienic macros, you should fix that problem instead of introducing broken workarounds. 21:56:19 scheme's hygienic macros are a language in themselves 21:56:37 well, you have a point. at least i could have both 21:56:54 You might be confusing hygiene with the pattern language. They are separate issues. Neither one is difficult to implement, although I agree that at first blush implementing the two may look difficult. 21:57:16 And combining that with handling definitions is pretty tricky. 21:57:23 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 21:57:25 handling definitions? 21:57:37 Parsing internal definitions. 21:58:11 I suggest that you read Jonathan Rees's article `Implementing Lexically Scoped Macros', which explains succinctly how to implement hygienic macros, ignoring the issues of pattern matching and processing definitions. 21:58:28 thank you! 21:59:48 seven hundred eighty damn ps and pdfs in my document stash, and no way to find anything. All with great filenames like "p60-yang.pdf." What I would give for a reliable grep-a-like. Though I suppose it would have to be clairvoyant. 21:59:53 Riastradh, do you know what CL-PPCRE is? is it possible to implement it as a hygienic macro without rewriting the whole of Scheme as a hygienic macro? 22:00:19 Implementing the pattern language is just a matter of parsing parsers; kinda fiddly, but given a hygienic macro API, such as the one described in Jonathan's article, you can straightforwardly translate a SYNTAX-RULES transformer into a procedure. 22:01:10 To do this, you might crib scheme/bcomp/rules.scm from Scheme48. 22:01:37 awesome, thank you 22:01:38 (Extending it to support tail patterns is left as an exercise for the reader, unless Mike has implemented them since I last looked.) 22:01:49 Parsing definitions is tricky, and I don't think anyone has explained how to do it right, in English anyway. 22:02:54 i just enabled logging, there's too much of awesome to be lost like tears in the rain 22:03:00 It lies deep at the heart of the macro expansion process, and almost everyone's expander engine is totally kludgey and ad-hoc and unenlightening. I wrote partially as a response to that. 22:03:07 weirdo: 22:04:49 MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has joined #scheme 22:05:51 are you the author of paredit? 22:06:11 Riaxpander is too complicated, and parts of its design are not really practical in a real system, but the high-level ideas are sound; in particular, classify.scm describes the expansion process including definition discovery. It uses syntactic closures as the hygiene mechanism, a generalization of the API that Jonathan describes. 22:06:30 I am. 22:06:39 that software is awesome, thank you for making it! 22:06:49 *Riastradh* bows. 22:07:11 -!- imphasing|home [~Alex@97-80-157-169.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 240 seconds] 22:07:13 the only issue i have with it is stuff like #.(foo) changing into #. (foo) 22:08:15 Try . 22:09:22 (You will need to add some extra items to `common-lisp-octothorpe-parenthesis-characters'.) 22:09:36 dnolen [~davidnole@184.152.50.239] has joined #scheme 22:10:35 (And if you're doing this in Scheme, you'll need to frob `scheme-mode-hook' too.) 22:12:45 awesome, thanks again 22:19:19 -!- gravicappa [~gravicapp@p57A401AE.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 22:25:02 -!- dnolen [~davidnole@184.152.50.239] has quit [Quit: dnolen] 22:29:54 invisiblecure [~chatzilla@201-13-164-162.dial-up.telesp.net.br] has joined #scheme 22:38:36 Riastradh, what exactly does riaxpander implement? the entire hygienic macro system? 22:39:09 or is it a macroexpander, judging by the name? 22:42:14 -!- realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has quit [Quit: realitygrill] 22:45:12 -!- steampunkey [4e868a03@gateway/web/freenode/ip.78.134.138.3] has left #scheme 22:51:58 weirdo, it is a macro expander. I don't know what you mean by `the entire hygienic macro system'. I cribbed Scheme48's implementation of SYNTAX-RULES. 22:53:14 -!- pygospa [~TheRealPy@kiel-d9bfdbb4.pool.mediaWays.net] has quit [Ping timeout: 246 seconds] 22:53:23 mejja [~user@c-0eb9e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 22:55:43 pygospa [~TheRealPy@kiel-d9bfdbb4.pool.mediaWays.net] has joined #scheme 22:55:44 PokeTron [~PokeTron@unaffiliated/poketron] has joined #scheme 22:56:12 -!- PokeTron [~PokeTron@unaffiliated/poketron] has left #scheme 22:57:06 Long time no see 22:59:10 Riastradh, sorry, i don't get much of the stuff :-( for instance, what is a 'receiver' in the riaxpander terminology? 22:59:25 i grepped for syntax-rules and saw it defined in some very strange way 22:59:30 Context? 22:59:33 Hi, mejja. 22:59:53 Riastradh, (define (make-extended-classifier-macrology receiver) ...) 23:00:22 weirdo, oh, don't worry too much about that. A macrology is just an object that can supply definitions to an environment. 23:00:45 in layman's terms: i just implement some SRFIs and then i can load your system and it does all hygiene stuff? 23:01:01 When you apply a macrology (make-foo-macrology (lambda (define-frob) (define-frob 'X ...))) to an environment E, it the effect will be to put a frobbly binding of the name X into E. 23:01:27 so it's like augment-lexenv? 23:01:32 or augment-lexenv/toplevel? 23:02:13 To use riaxpander, you need to hook it up a little, and the mechanism for hooking it up is too complicated. But you can see an example of it in sexp.scm -- or just use sexp.scm verbatim. 23:02:53 (The reason is that riaxpander doesn't care what format you want the output in -- S-expressions, scode (MIT Scheme's interpreter's format), your compiler's intermediate representation, whatever -- and riaxpander expects to be hooked up to a module system that 23:03:01 ...manages top-level environments and linkage.) 23:04:26 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Ping timeout: 246 seconds] 23:06:02 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 23:06:04 my system is normal sexp with some special-forms masqueraded as eq? vectors 23:06:08 hypercube32 [~hypercube@231.125.189.72.cfl.res.rr.com] has joined #scheme 23:06:20 however kludgey this may be 23:06:25 zmv [~daniel@c95334de.virtua.com.br] has joined #scheme 23:07:28 however, i found an OO/record IR unnecessary 23:07:31 -!- kuribas [~user@94-227-89-165.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:07:54 Well, whatever output format you like, you can easily adapt sexp.scm to use it, I'm sure. 23:08:07 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #scheme 23:08:45 Hey guys, I have no idea how to start programming. I read a text which says it would be good start with scheme language but I have no idea what buy(book) or site to go and so on to get the first experience. Any suggestion? 23:08:51 joseanpg [5aaf6c84@gateway/web/freenode/ip.90.175.108.132] has joined #scheme 23:09:02 Riastradh, what kind of input format does riaxpander need, though? 23:09:16 regular sexps with no applicable vectors? 23:09:45 invisiblecure, start out with something way simpler like php :P 23:09:51 Regular S-expressions, yes. 23:10:10 thank you 23:10:17 i might need to adapt it a bit, then 23:10:21 mejja, so, what's broken these days? 23:10:27 hypercube32: really? the is the complete opposite that the text taught me. Why do you say so? 23:11:02 php??? 23:11:04 invisiblecure, he's trolling, i believe 23:11:17 try SICP 23:11:28 or PCL for Common Lisp, if you go down that road 23:11:34 oh wait. PCL is for existing programmers 23:11:54 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 23:12:02 invisiblecure, two popular choices around here are SICP, _The Structure and Interpretation of Computer Programs_, at ; or HtDP, _How to Design Programs_, at . 23:12:02 Riastradh: reduce- and replace-operator, windows 7 and i guess my wallet 23:12:30 mejja, golly, I didn't know anyone ever used those. What do you use them for? 23:13:04 Riastradh: hmmm, I'll see both suggestions... I really appreciate that. 23:13:35 Generally I assume sf is broken until we totally overhaul the macro system and linkage. 23:13:37 Riastradh: I turn binary flonum and fixnum ops into n-ary ops 23:16:00 Fallout from jrm's rototill, I imagine. 23:16:11 -!- leppie [~lolcow@196-215-83-98.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 23:16:30 invisiblecure, i used to hold TeamViewer classes for non-programmers 23:16:44 invisiblecure: www.htdp.org 23:16:46 leppie [~lolcow@196-215-83-98.dynamic.isadsl.co.za] has joined #scheme 23:18:52 :) 23:19:03 -!- hypercube32 [~hypercube@231.125.189.72.cfl.res.rr.com] has left #scheme 23:21:55 deathmoniac [~needcoffe@201-25-142-177.ctame705.dsl.brasiltelecom.net.br] has joined #scheme 23:25:15 -!- choas [~lars@p578F6F18.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 23:27:45 mejja, should be fixed now, although I haven't added any tests for it. 23:27:52 -!- fbass [~fbass@75-173-81-122.albq.qwest.net] has quit [Quit: leaving] 23:28:16 fbass [~fbass@75-173-81-122.albq.qwest.net] has joined #scheme 23:31:29 -!- HG` [~HG@p5DC05082.dip.t-dialin.net] has quit [Quit: Leaving.] 23:32:19 Riastradh: 1 down 2 to go 23:32:28 *mejja* laughs 23:34:39 scheme is like Bill Gates, "caaaar ought to be enough for everybody" 23:38:41 haahahahahahahaha 23:41:08 djkfdalkj [~paulh@244-15-ftth.onsnetstudenten.nl] has joined #scheme 23:41:18 weirdo: http://paste.lisp.org/display/94673 23:41:37 mejja, i already wrote it :( 23:41:56 weirdo: I could not figure the joke out but if you are here I suppose it can't be so awful thing. 23:42:16 invisiblecure, bill gates said "640k oughta be enough for everybody" 23:42:27 and scheme has only 4-letter car/cdr combinations 23:42:37 r5rs at least 23:42:38 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 23:43:20 oh, ok 23:44:00 -!- invisiblecure [~chatzilla@201-13-164-162.dial-up.telesp.net.br] has quit [Quit: back later] 23:46:06 (display "Map is call/cc safe, but probably not tail recursive or inefficient.") 23:46:11 bollocks 23:46:12 :-) 23:46:36 weirdo: Well? Is your map tail-recursive? 23:47:50 http://paste.lisp.org/display/123702 23:47:58 (is it?) 23:48:27 realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has joined #scheme 23:51:29 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 23:55:01 weirdo: If this code is your how your alleged implementation is written, then `map' and call/cc-safetly should be pretty low on your list of problems. 23:55:16 eli, i also have a non-compiler-macro version 23:55:29 since otherwise it wouldn't be a first-class function 23:55:35 And again, that doesn't change what I said. 23:55:40 thanks :-) 23:59:17 my bigger problem is shadowing of system bindings. but i'm already on it