00:00:35 jrtayloriv [n=jrt4@69.205.162.12] has joined #scheme 00:01:45 optimizer [n=x@unaffiliated/lowlycoder] has joined #scheme 00:03:53 -!- ASau [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 00:04:02 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 00:08:36 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 00:08:36 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 00:10:38 -!- peddie [n=peddie@c-67-180-249-125.hsd1.ca.comcast.net] has quit [Remote closed the connection] 00:11:08 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 00:13:50 saccade [n=saccade@65-116-131-218.dia.static.qwest.net] has joined #scheme 00:18:56 sepult [n=buggarag@xdsl-87-78-25-244.netcologne.de] has joined #scheme 00:19:25 ada2358 [n=ada2358@login-linux.ccs.neu.edu] has joined #scheme 00:19:44 -!- attila_lendvai [n=ati@catv-89-134-66-153.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 00:21:37 -!- saccade [n=saccade@65-116-131-218.dia.static.qwest.net] has quit ["This computer has gone to sleep"] 00:26:04 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 54 (Connection reset by peer)] 00:26:41 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 00:29:20 CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has joined #scheme 00:29:57 QinGW [n=wangqing@203.86.89.226] has joined #scheme 00:30:56 -!- ada2358_ [n=ada2358@login-linux.ccs.neu.edu] has quit [Read error: 110 (Connection timed out)] 00:30:56 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 00:31:17 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 00:32:58 peddie [n=peddie@c-67-180-249-125.hsd1.ca.comcast.net] has joined #scheme 00:33:57 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 00:34:43 dnm [n=dnm@c-68-49-47-248.hsd1.va.comcast.net] has joined #scheme 00:39:10 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 00:39:25 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 00:41:07 schmir [n=schmir@p54A93FC5.dip0.t-ipconnect.de] has joined #scheme 00:41:37 -!- tmitt [n=seg@adsl-150-224-7.tys.bellsouth.net] has quit [Read error: 113 (No route to host)] 00:43:55 patmaddox [n=patmaddo@ip68-111-70-47.oc.oc.cox.net] has joined #scheme 00:53:22 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 00:53:33 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 00:57:00 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 01:01:20 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 01:01:52 -!- arcfide [i=1000@140-182-224-237.dhcp-bl.indiana.edu] has left #scheme 01:02:34 -!- pumpkin [n=pumpkin@pumpkinpro.cs.dartmouth.edu] has quit [] 01:08:50 -!- Kusanagi [n=Lernaean@unaffiliated/kusanagi] has quit [Nick collision from services.] 01:09:03 Kusanagi [n=Lernaean@unaffiliated/kusanagi] has joined #scheme 01:10:04 -!- Pepe_ [n=ppjet@ram94-7-82-232-191-53.fbx.proxad.net] has quit [Read error: 60 (Operation timed out)] 01:11:29 Pepe_ [n=ppjet@ram94-7-82-232-191-53.fbx.proxad.net] has joined #scheme 01:12:04 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:12:04 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 131 (Connection reset by peer)] 01:12:39 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 01:13:24 -!- schmir [n=schmir@p54A93FC5.dip0.t-ipconnect.de] has quit [Read error: 110 (Connection timed out)] 01:13:31 -!- QinGW [n=wangqing@203.86.89.226] has quit [Connection timed out] 01:13:42 -!- Baconizer [n=baconize@unaffiliated/baconizer] has quit [Read error: 110 (Connection timed out)] 01:19:46 -!- roderic` is now known as roderic 01:21:30 -!- Kusanagi [n=Lernaean@unaffiliated/kusanagi] has quit [] 01:22:32 -!- mrsolo [n=mrsolo@nat/yahoo/x-kcrlpkrsunuplztn] has quit ["Leaving"] 01:28:27 Kusanagi [n=Lernaean@unaffiliated/kusanagi] has joined #scheme 01:31:36 QinGW [n=wangqing@203.86.89.226] has joined #scheme 01:32:05 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Remote closed the connection] 01:32:11 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 01:32:31 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 01:34:40 p1d pasted "comparison of Scheme implementations wrt 'proper closures'" at http://paste.lisp.org/display/88613 01:35:31 the result of my curiosity after last night's discussion about ribcage and flat environments 01:37:29 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 01:37:47 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 01:38:11 p1dzkl, for MIT Scheme, did you compile the code or run it in the interpreter? 01:39:37 -!- neilmock [n=neilmock@99-11-93-68.lightspeed.nsvltn.sbcglobal.net] has quit [] 01:40:01 Note that your example doesn't really test whether nested closures retain unreferenced objects. 01:40:06 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 01:40:36 neilmock [n=neilmock@99-11-93-68.lightspeed.nsvltn.sbcglobal.net] has joined #scheme 01:40:51 jeapostrophe_ [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 01:40:53 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Read error: 104 (Connection reset by peer)] 01:40:56 -!- jeapostrophe_ is now known as jeapostrophe 01:41:48 Riastradh: Doesn't it? It seems to me that it does; if the closure (lambda () x) retains `y', it requires unbounded space; if it doesn't, it requires bounded space. 01:42:09 MIT Scheme's compiler doesn't eliminate the vector allocation, although it does eliminate the closure allocation. 01:42:09 chandler, it doesn't really test *nested* closures. 01:42:50 But the inner lambda is nested in the outer. 01:43:16 The environments are nested, but few Scheme systems will treat them as nested closures. 01:43:39 That is, semantically, the environments are nested, but that doesn't mean that there will be an environment frame allocated on the heap for every invocation of LOOP. 01:44:44 I mean: an environment frame corresponding with every invocation of LOOP. 01:45:20 I'm slightly surprised, incidentally, that MIT Scheme doesn't just turn this into (let loop () (loop)). Let me see whether there's a bug. 01:46:47 Arelius [n=user@64.174.9.113] has joined #scheme 01:47:48 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Connection timed out] 01:48:22 Baconizer [n=baconize@unaffiliated/baconizer] has joined #scheme 01:49:10 emma [n=em@unaffiliated/emma] has joined #scheme 01:56:32 -!- mario-goulart [n=user@67.205.85.241] has quit [Remote closed the connection] 01:57:44 -!- Axioplase_ is now known as Axioplase 01:58:52 -!- CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has quit ["Leaving"] 01:59:11 arcfide [n=arcfide@adsl-99-14-211-93.dsl.bltnin.sbcglobal.net] has joined #scheme 01:59:11 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 01:59:26 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 02:12:36 -!- metasyntax` [n=user@71.127.125.129] has quit [Remote closed the connection] 02:14:36 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 02:17:37 -!- optimizer [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 02:21:32 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 54 (Connection reset by peer)] 02:21:46 QinGW2 [n=wangqing@203.86.89.226] has joined #scheme 02:21:52 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 02:22:02 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 02:24:34 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 02:27:14 addamgc [n=addamgc@68.96.147.84] has joined #scheme 02:28:31 -!- QinGW [n=wangqing@203.86.89.226] has quit [Connection timed out] 02:35:51 QinGW [n=wangqing@203.86.89.226] has joined #scheme 02:35:53 -!- gribozavr [n=grib@2001:470:d4b6:1:215:f2ff:fe65:2d39] has quit [] 02:36:57 gribozavr [n=grib@2001:470:d4b6:1:215:f2ff:fe65:2d39] has joined #scheme 02:38:11 -!- addamgc [n=addamgc@68.96.147.84] has quit ["Leaving..."] 02:42:02 -!- QinGW2 [n=wangqing@203.86.89.226] has quit [Connection timed out] 02:43:17 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 02:44:05 annodomini [n=lambda@130.189.179.215] has joined #scheme 02:44:05 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 02:44:35 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 02:49:24 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 02:52:45 tjafk [n=timj@e176221188.adsl.alicedsl.de] has joined #scheme 02:52:47 QinGW2 [n=wangqing@203.86.89.226] has joined #scheme 02:55:14 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 60 (Operation timed out)] 02:55:25 -!- Alice_I_W [i=stepnem@server1.bshellz.net] has quit [K-lined] 02:56:50 -!- QinGW2 [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 02:57:56 -!- timchen119 is now known as nasloc__ 02:59:01 -!- QinGW [n=wangqing@203.86.89.226] has quit [Connection timed out] 03:00:14 -!- emma [n=em@unaffiliated/emma] has quit [Read error: 60 (Operation timed out)] 03:01:56 -!- xwl_ [n=user@147.243.236.60] has quit [Remote closed the connection] 03:02:02 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 03:05:19 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 54 (Connection reset by peer)] 03:05:26 xwl_ [n=user@147.243.236.60] has joined #scheme 03:05:32 QinGW [n=wangqing@203.86.89.226] has joined #scheme 03:05:44 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 03:09:05 -!- timj [n=timj@e176214132.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:10:56 optimizer [n=x@unaffiliated/lowlycoder] has joined #scheme 03:14:26 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 03:16:38 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 03:19:12 ada2358_ [n=ada2358@login-linux.ccs.neu.edu] has joined #scheme 03:20:39 emma [n=em@unaffiliated/emma] has joined #scheme 03:20:49 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 03:23:10 QinGW2 [n=wangqing@203.86.89.226] has joined #scheme 03:25:54 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 03:26:16 -!- QinGW2 [n=wangqing@203.86.89.226] has quit [Read error: 54 (Connection reset by peer)] 03:26:20 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 03:27:10 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 145 (Connection timed out)] 03:29:08 -!- jrtayloriv [n=jrt4@69.205.162.12] has quit ["Leaving"] 03:30:28 -!- ada2358 [n=ada2358@login-linux.ccs.neu.edu] has quit [Read error: 110 (Connection timed out)] 03:31:39 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 03:33:17 -!- QinGW [n=wangqing@203.86.89.226] has quit [Connection timed out] 03:35:06 haesbaert [n=haesbaer@c925a8c5.virtua.com.br] has joined #scheme 03:35:34 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 03:38:57 derrida [n=derrida@unaffiliated/deleuze] has joined #scheme 03:40:42 Could someone reccommend a lightweight toolkit to get me started drawing pixels to the screen? 03:42:06 peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has joined #scheme 03:45:03 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 03:45:23 -!- Poeir_ is now known as Poeir 03:45:44 dysinger [n=tim@cpe-75-85-135-191.hawaii.res.rr.com] has joined #scheme 03:46:56 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 03:47:26 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 03:48:35 QinGW [n=wangqing@203.86.89.226] has joined #scheme 03:53:46 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 60 (Operation timed out)] 03:55:35 jonrafkind [n=jon@98.202.86.149] has joined #scheme 03:56:55 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 131 (Connection reset by peer)] 03:57:44 -!- optimizer [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 03:58:37 QinGW [n=wangqing@203.86.89.226] has joined #scheme 04:03:31 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 04:04:07 rudybot: seen jcowan? 04:04:07 arcfide: No sign of jcowan? 04:04:14 incubot: seen jcowan? 04:04:17 nope. 04:04:20 :-( 04:07:14 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 04:07:15 He left about eight hours ago. 04:08:05 QinGW [n=wangqing@203.86.89.226] has joined #scheme 04:11:21 rotty [n=rotty@nncmain.nicenamecrew.com] has joined #scheme 04:11:21 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 04:11:21 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 04:11:31 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 04:16:04 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 04:17:54 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 60 (Operation timed out)] 04:20:29 optimizer [n=x@unaffiliated/lowlycoder] has joined #scheme 04:21:52 -!- derrida [n=derrida@unaffiliated/deleuze] has quit ["Lost terminal"] 04:22:12 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 04:22:47 hidden feature in incubot? 04:22:53 "feature" 04:23:20 incubot: seen zbigniew? 04:23:23 been there, made that pun already 04:23:34 ... 04:24:01 ah, i see now. 04:24:20 incubot: seen progv? 04:24:22 how mature is SISC? It seems like a great thing, but I haven't seen too many references of people using it (which doesn't mean anything actually, that's why I'm asking). 04:24:42 *zbigniew* fails 04:28:01 zbigniew: you should have stopped after your initial success, and written a paper saying "it all my tests, it worked." 04:28:34 -!- dysinger [n=tim@cpe-75-85-135-191.hawaii.res.rr.com] has quit [] 04:28:55 -!- Elly [n=pyxystyx@fenrir.mimisbrunnr.net] has quit [Read error: 60 (Operation timed out)] 04:35:38 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 54 (Connection reset by peer)] 04:35:59 The page http://sisc-scheme.org/ oozes confidence. Impressive 04:36:06 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 04:37:11 incubot: could God devise a unit test so extensive that even He Himself could not pass it? 04:37:14 In Bell Atlantic, the legislations for phone bills were so complex that they had to devise an AI (expert system) to compute the results. 04:37:37 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 04:38:08 dysinger [n=tim@75.85.135.191] has joined #scheme 04:38:10 incubot: seen progv now? 04:38:13 how exactly would you write a metacircular evaluator in CL without PROGV? 04:38:17 they could have just said "phone calls are 25 cents" 04:38:21 Oh, joy, now Yahoo Japan is sending me spam every single day with no "unsubscribe" option. 04:38:41 foof: enjoy 04:38:45 This calls for a Hato plugin 04:39:14 QinGW [n=wangqing@203.86.89.226] has joined #scheme 04:39:25 -!- schemer999 [n=schemer9@cpe-76-90-137-46.socal.res.rr.com] has quit [] 04:39:40 Oh, there it is... let's hope this works. 04:40:54 -!- funkenblatt [n=user@adsl-69-238-246-201.dsl.pltn13.pacbell.net] has quit [Remote closed the connection] 04:44:38 schemer999iphone [n=schemeri@166.205.130.232] has joined #scheme 04:47:26 schemer999 [n=schemer9@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 04:48:38 foof: maybe it's in Japanese ^^ 04:48:54 well, yeah, it's all in Japanese... 04:49:11 Though I do get this spam too (Gyaora), I never tried to told'em to stop 04:49:54 schemer999ipho-1 [n=schemeri@166.205.131.38] has joined #scheme 04:50:10 Plus I'm not even sure how the Japanese law considers spam, email selling, and unsubscribe options 04:50:54 They have a very strict personal information privacy law that went into effect a couple of years ago. 04:51:05 By the way, I still don't understand why japanese cellphone emails don't have to be RFC compliant 04:51:25 Because it's Japan ^_^ 04:52:19 I have so many friends whose emails are just some quine of quines using turing machines on non-alphanumeric alphabets 04:52:35 s/quine of// 04:55:05 schemer999ipho-2 [n=schemeri@166.205.131.14] has joined #scheme 04:56:47 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 54 (Connection reset by peer)] 04:57:12 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 04:57:48 -!- schemer999iphone [n=schemeri@166.205.130.232] has quit [Read error: 145 (Connection timed out)] 04:57:50 Elly [n=pyxystyx@unaffiliated/elly] has joined #scheme 04:58:41 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 05:00:27 schemer999iphone [n=schemeri@166.205.132.72] has joined #scheme 05:03:27 -!- schemer999ipho-1 [n=schemeri@166.205.131.38] has quit [Read error: 145 (Connection timed out)] 05:03:30 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit [Remote closed the connection] 05:03:37 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 145 (Connection timed out)] 05:05:41 schemer999ipho-1 [n=schemeri@166.205.130.203] has joined #scheme 05:08:14 -!- schemer999ipho-2 [n=schemeri@166.205.131.14] has quit [Read error: 145 (Connection timed out)] 05:09:20 QinGW [n=wangqing@203.86.89.226] has joined #scheme 05:10:55 schemer999ipho-2 [n=schemeri@166.205.133.73] has joined #scheme 05:12:56 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 60 (Operation timed out)] 05:14:11 -!- schemer999iphone [n=schemeri@166.205.132.72] has quit [Read error: 145 (Connection timed out)] 05:16:04 schemer999iphone [n=schemeri@166.205.134.5] has joined #scheme 05:18:51 -!- schemer999ipho-1 [n=schemeri@166.205.130.203] has quit [Read error: 145 (Connection timed out)] 05:21:30 schemer999ipho-1 [n=schemeri@166.205.130.162] has joined #scheme 05:21:30 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 05:21:33 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 05:21:48 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 05:24:04 -!- schemer999ipho-2 [n=schemeri@166.205.133.73] has quit [Read error: 145 (Connection timed out)] 05:26:42 schemer999ipho-2 [n=schemeri@166.205.133.120] has joined #scheme 05:29:01 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 05:29:15 QinGW2 [n=wangqing@203.86.89.226] has joined #scheme 05:29:23 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 05:29:45 -!- schemer999iphone [n=schemeri@166.205.134.5] has quit [Read error: 145 (Connection timed out)] 05:31:11 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 05:32:01 schemer999iphone [n=schemeri@166.205.130.230] has joined #scheme 05:32:22 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 60 (Operation timed out)] 05:34:46 -!- schemer999ipho-1 [n=schemeri@166.205.130.162] has quit [Read error: 145 (Connection timed out)] 05:34:59 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 05:35:07 -!- QinGW [n=wangqing@203.86.89.226] has quit [Connection timed out] 05:35:35 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 05:35:56 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 05:37:23 schemer999ipho-1 [n=schemeri@166.205.133.103] has joined #scheme 05:38:34 -!- schemer999ipho-1 [n=schemeri@166.205.133.103] has quit [Client Quit] 05:40:02 -!- peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has quit [] 05:40:39 -!- schemer999ipho-2 [n=schemeri@166.205.133.120] has quit [Read error: 145 (Connection timed out)] 05:45:15 -!- schemer999iphone [n=schemeri@166.205.130.230] has quit [Read error: 145 (Connection timed out)] 05:46:07 -!- alexshendi [n=chatzill@dslb-188-098-111-245.pools.arcor-ip.net] has left #scheme 05:48:56 -!- dnm [n=dnm@c-68-49-47-248.hsd1.va.comcast.net] has quit [] 05:49:50 -!- untouchable [i=untoucha@dhcp-129-64-166-32.dorm.brandeis.edu] has quit [Read error: 104 (Connection reset by peer)] 05:49:50 -!- arcfide [n=arcfide@adsl-99-14-211-93.dsl.bltnin.sbcglobal.net] has quit [Remote closed the connection] 05:49:53 -!- dmoerner [n=dmr@134.173.91.168] has quit ["Leaving"] 05:50:06 arcfide [n=arcfide@99.14.211.93] has joined #scheme 05:50:20 -!- QinGW2 [n=wangqing@203.86.89.226] has quit [Success] 05:52:08 untouchable [i=untoucha@dhcp-129-64-166-32.dorm.brandeis.edu] has joined #scheme 05:56:59 QinGW [n=wangqing@203.86.89.226] has joined #scheme 05:59:27 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 60 (Operation timed out)] 06:00:34 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 06:01:02 ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has joined #scheme 06:02:48 -!- jonrafkind [n=jon@98.202.86.149] has quit [Read error: 110 (Connection timed out)] 06:07:34 -!- ASau` [n=user@ppp85-141-215-63.pppoe.mtu-net.ru] has quit ["off"] 06:17:08 -!- patmaddox [n=patmaddo@ip68-111-70-47.oc.oc.cox.net] has quit [Remote closed the connection] 06:18:25 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 06:19:28 patmaddox [n=patmaddo@ip68-111-70-47.oc.oc.cox.net] has joined #scheme 06:22:52 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 145 (Connection timed out)] 06:23:49 QinGW [n=wangqing@203.86.89.226] has joined #scheme 06:28:58 borism [n=boris@195.50.205.198] has joined #scheme 06:29:07 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 145 (Connection timed out)] 06:31:26 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 06:32:03 QinGW [n=wangqing@203.86.89.226] has joined #scheme 06:42:19 saccade [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 06:45:40 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 06:46:31 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit [] 06:48:45 QinGW [n=wangqing@203.86.89.226] has joined #scheme 07:04:21 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 131 (Connection reset by peer)] 07:05:10 QinGW [n=wangqing@203.86.89.226] has joined #scheme 07:09:38 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 54 (Connection reset by peer)] 07:10:18 QinGW [n=wangqing@203.86.89.226] has joined #scheme 07:10:44 Edico [n=Edico@unaffiliated/edico] has joined #scheme 07:16:05 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 07:17:25 albacker [n=eni@unaffiliated/enyx] has joined #scheme 07:18:57 ASau [n=user@77.246.231.148] has joined #scheme 07:18:59 -!- arcfide [n=arcfide@99.14.211.93] has left #scheme 07:21:20 QinGW [n=wangqing@203.86.89.226] has joined #scheme 07:21:25 -!- dfeuer_ is now known as dfeuer 07:33:13 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 07:33:14 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 07:33:25 Alice_I_W [i=stepnem@server1.bshellz.net] has joined #scheme 07:39:48 npe [n=npe@195.207.5.2] has joined #scheme 07:41:22 QinGW [n=wangqing@203.86.89.226] has joined #scheme 07:45:08 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 54 (Connection reset by peer)] 07:45:24 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 60 (Operation timed out)] 07:47:09 QinGW [n=wangqing@203.86.89.226] has joined #scheme 07:52:24 schmir [n=schmir@p54A922F9.dip0.t-ipconnect.de] has joined #scheme 07:53:50 -!- ski [n=slj@c-c110e055.1149-1-64736c10.cust.bredbandsbolaget.se] has quit [Read error: 60 (Operation timed out)] 07:56:27 MrFahrenheit [n=RageOfTh@users-38-58.vinet.ba] has joined #scheme 07:59:47 thesnowdog_ [i=thesnowd@122.110.13.170] has joined #scheme 08:04:18 -!- thesnowdog [i=thesnowd@114.73.34.182] has quit [Read error: 60 (Operation timed out)] 08:05:54 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 08:07:36 -!- leppie|work [i=52d2e3c8@gateway/web/freenode/x-bktglktasxnceulz] has quit ["Page closed"] 08:09:52 -!- schmir [n=schmir@p54A922F9.dip0.t-ipconnect.de] has quit [Read error: 113 (No route to host)] 08:21:21 -!- QinGW [n=wangqing@203.86.89.226] has quit [Connection timed out] 08:26:32 -!- dysinger [n=tim@75.85.135.191] has quit [] 08:26:41 -!- sepult [n=buggarag@xdsl-87-78-25-244.netcologne.de] has quit [Remote closed the connection] 08:27:20 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Connection timed out] 08:27:32 -!- stepnem [n=stepnem@88.103.132.186] has quit [SendQ exceeded] 08:31:36 stepnem [n=stepnem@88.103.132.186] has joined #scheme 08:31:38 -!- MrFahrenheit [n=RageOfTh@users-38-58.vinet.ba] has quit [Read error: 110 (Connection timed out)] 08:33:29 -!- stepnem [n=stepnem@88.103.132.186] has quit [Excess Flood] 08:35:52 stepnem [n=stepnem@88.103.132.186] has joined #scheme 08:37:20 -!- jao [n=jao@128.Red-83-43-32.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 08:38:10 ski [n=slj@c-c110e055.1149-1-64736c10.cust.bredbandsbolaget.se] has joined #scheme 08:38:17 -!- saccade [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 08:39:35 -!- patmaddox [n=patmaddo@ip68-111-70-47.oc.oc.cox.net] has quit [Remote closed the connection] 08:49:04 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 08:53:33 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 08:56:10 -!- Edico [n=Edico@unaffiliated/edico] has quit [Read error: 60 (Operation timed out)] 08:58:59 Edico [n=Edico@unaffiliated/edico] has joined #scheme 09:03:07 -!- stepnem [n=stepnem@88.103.132.186] has quit [SendQ exceeded] 09:06:00 stepnem [n=stepnem@88.103.132.186] has joined #scheme 09:07:20 jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 09:13:28 -!- Axioplase is now known as Axioplase_ 09:14:20 -!- ski [n=slj@c-c110e055.1149-1-64736c10.cust.bredbandsbolaget.se] has quit [Read error: 60 (Operation timed out)] 09:15:27 schmir [n=schmir@mail.brainbot.com] has joined #scheme 09:18:23 leppie|work [i=52d2e3c8@gateway/web/freenode/x-whemhnasqosbawtw] has joined #scheme 09:22:35 -!- emma [n=em@unaffiliated/emma] has quit [Read error: 110 (Connection timed out)] 09:25:52 schmir` [n=schmir@mail.brainbot.com] has joined #scheme 09:25:52 -!- schmir` [n=schmir@mail.brainbot.com] has quit [Remote closed the connection] 09:42:49 -!- schmir [n=schmir@mail.brainbot.com] has quit [Read error: 54 (Connection reset by peer)] 09:47:40 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 09:57:57 ski [n=slj@c-c110e055.1149-1-64736c10.cust.bredbandsbolaget.se] has joined #scheme 10:12:03 Kind folks - a few questions on PLT Scheme 10:13:32 First questions regard performance. First, is there an inlining directive (or delcaration or proclamation, etc.) Second, are there type proclamations to speed up common fixnum arithmatec, vector indexes, etc. 10:15:58 Second questions reqargd PLT as an open source project. Are there good documents on PLT internals and compilation strategies? Is there are formal "front end" vs. optimizations vs. "back end + more optimizations" style architecture to the compiler? A simple matter of fact, is there a considerable number of community contributors to the "core group" working on the PLT compiler itself? 10:17:59 More PLT questions - is there thorough documentation (NOT academic papers) on the PLT JIT. 10:18:55 More PLT questions - Is there a formal roadmap for the Planet libraries - a sort of wishlist from the core development group? Similarly, is there an up to date raodmap for the core PLT system? 10:19:31 Summermute: These questions are very specific and you may have better luck getting answers when you post them to one of the PLT mailinglists 10:19:51 Unless eli gets here 10:19:54 More PLT questions - How well is the PLT system structures towards becoming a user-driven open source project? 10:20:09 -!- rdd [n=user@c83-250-145-223.bredband.comhem.se] has quit [Remote closed the connection] 10:20:16 sjamaan: Eli - exactly ;-) 10:21:16 :) 10:22:37 To boil all this down to a general scheme community question, PLT has become *very* popular in the scheme community at large. How stable a platform does it present should the academic group behind it abandon the platform for one reason or another (lack of funding, changing research focus, etc.) 10:23:00 ve [n=a@94-193-95-252.zone7.bethere.co.uk] has joined #scheme 10:29:44 masm [n=masm@bl9-113-206.dsl.telepac.pt] has joined #scheme 10:31:21 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 10:32:12 Sent same questions out to PLT mailing list 10:35:19 schmir [n=schmir@mail.brainbot.com] has joined #scheme 10:35:33 -!- jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Remote closed the connection] 10:40:12 PLT Context for Questons: I'm writing my "toy" compiler for a strongly typed language in PLT Scheme, including the typed scheme dialect, various SRFI's and so on. I guess I'm wondering how likely PLT scheme as a whole or various features might be pulled out from under me at some future time. There is little to none on the PLT website to give clues on future direction or longevity. 10:42:46 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 10:44:44 -!- TR2N [i=email@89-180-200-220.net.novis.pt] has quit [No route to host] 10:44:58 TR2N [i=email@89-180-200-220.net.novis.pt] has joined #scheme 11:05:05 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 11:06:28 -!- fridge [n=fridge@220.253-243-191.NSW.netspace.net.au] has quit ["Leaving."] 11:33:15 HG` [n=HG@xdslaj108.osnanet.de] has joined #scheme 11:57:53 -!- foof [n=user@FLH1Adk087.osk.mesh.ad.jp] has quit [Remote closed the connection] 11:57:57 foof [n=user@FLH1Adk087.osk.mesh.ad.jp] has joined #scheme 12:00:19 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 12:00:57 Fare [n=Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #scheme 12:02:27 -!- stepnem [n=stepnem@88.103.132.186] has quit ["ZNC - http://znc.sourceforge.net"] 12:03:30 Due to MIT's (SICP) long ago use of Scheme for pedagogy, I think we fetishize the learning of scheme by newbies. Let's instead think about the learning of Scheme by frustrated C++ programmers from one size and Ruby programmers from the other. At this point in Scheme's evolution, I say screw the student types. 12:03:30 [07:21] You might have guess : I'm not from the academic community :-) 12:03:30 [07:26] Just for example - There are hardly two source compatible scheme implementation, and that's using a language that abstracts away from the hardwared. OTOH, in C/C++ there are quite a few cross-*PLATFORM* libraries - wxWindows and Linux/Win GTK+ just for example. Something is definitely WRONG in the house of Scheme, I say. 12:03:30 [07:33] This is one reason i support r6rs - warts and all - just in hopes of getting a larger "Planet" style repository of scheme libraries portable to other major r6rs implementations. Leave behind the monolithic, more-or-less self contained uber-libraries like SLIB and maybe Swindle and I'm sure others. 12:04:01 stepnem [n=stepnem@88.103.132.186] has joined #scheme 12:06:08 -!- Axioplase_ is now known as Axioplase 12:10:31 -!- neilmock [n=neilmock@99-11-93-68.lightspeed.nsvltn.sbcglobal.net] has quit [] 12:11:00 Summermute: That's probably also the reason that a lot of people are more interested in Common Lisp. 12:11:12 (However much those two Lisps differ.) 12:17:15 schemes doing fairly well :) just ask ada 12:20:00 Interesting comment re: Common Lisp 12:20:37 luz [n=davids@189.122.90.116] has joined #scheme 12:22:41 -!- Axioplase is now known as Axioplase_ 12:27:48 -!- schmir [n=schmir@mail.brainbot.com] has quit [Remote closed the connection] 12:29:29 mario-goulart [n=user@67.205.85.241] has joined #scheme 12:30:45 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 12:31:01 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 12:33:29 rudybot: seen jcowan 12:33:29 *offby1: jcowan was seen in/on #scheme sixteen hours, forty minutes ago, saying "There are no WGs right now.", and then jcowan was seen leaving the channel in/on #scheme sixteen hours, thirty-four minutes ago, saying ""Leaving"" 12:40:49 schmir [n=schmir@mail.brainbot.com] has joined #scheme 12:44:22 -!- thesnowdog_ is now known as thesnowdog 12:46:53 -!- borism [n=boris@195.50.205.198] has quit [Read error: 145 (Connection timed out)] 12:48:04 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 12:48:20 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 12:48:38 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 13:00:25 borism [n=boris@195.50.205.198] has joined #scheme 13:11:01 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 13:11:59 Chris [n=chris@unaffiliated/chris] has joined #scheme 13:16:16 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 13:17:35 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 13:18:18 -!- Edico [n=Edico@unaffiliated/edico] has quit [Read error: 110 (Connection timed out)] 13:18:59 Edico [n=Edico@unaffiliated/edico] has joined #scheme 13:22:54 Riastradh: Where not indicated, I ran the code in the REPL after a fresh install. I'll look some more into MIT scheme. 13:23:30 -!- Edico [n=Edico@unaffiliated/edico] has quit [Client Quit] 13:24:32 Edico [n=Edico@unaffiliated/edico] has joined #scheme 13:32:04 thehcdreamer [n=thehcdre@94.198.78.26] has joined #scheme 13:38:26 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 13:42:17 jeapostrophe [n=jay@128.187.81.189] has joined #scheme 13:43:00 -!- jeapostrophe [n=jay@128.187.81.189] has quit [Client Quit] 13:59:46 incubot: hey! 14:02:39 -!- Fare [n=Fare@c-24-218-127-11.hsd1.ma.comcast.net] has quit ["Leaving"] 14:06:06 minion: memo for arcfide: is it possible in Opera to somehow filter my INBOX to show me the messages that *aren't* associated with a mailing list? 14:06:07 Remembered. I'll tell arcfide when he/she/it next speaks. 14:21:07 jlongster [n=user@75.148.111.133] has joined #scheme 14:21:17 Whoops, been offline 14:23:45 Thanks for all the comments. Gosh - despite love of Scheme, might I be moving over into CL land for a more stable, crossplatform set of implementations? 14:24:16 a-s [n=user@nat-240.ro.66.com] has joined #scheme 14:24:54 If you really need cross-implementation portability, and are unwilling to wait for the R6RS world to mature a bit, then you don't have many options. 14:25:38 Not that cross-implementation portability is impossible in R5RS-land, but it certainly takes a lot of effort to achieve if you want to structure your program nicely. 14:25:40 From ~20 years or so, I have no problem typing (labels....) or (block id ....) or even (map #'stringp '(1 2 "3")) ;-) 14:26:03 I don't understand that statement. 14:26:17 just saying I have a familiarity with CL 14:26:24 Oh. 14:27:05 i have been perusing the SRFI's and noticed some considerable overlap with PLT features - record type definitons come to mind, for example. 14:27:24 Am i wiser to stick to SRFI based features? 14:27:27 p1d annotated #88613 "update for mit scheme" at http://paste.lisp.org/display/88613#1 14:27:30 Summermute: You mean mapcar? 14:28:02 hmmm - oh, yes, mapcar (and mapcdr and other CL goodies ;-) 14:28:03 -!- untouchable [i=untoucha@dhcp-129-64-166-32.dorm.brandeis.edu] has quit [Read error: 104 (Connection reset by peer)] 14:28:10 Or (MAP 'LIST #'STRINGP '(1 2 "3")) 14:28:12 untouchable [i=untoucha@dhcp-129-64-166-32.dorm.brandeis.edu] has joined #scheme 14:28:31 or even (loop for element in '(1 2 "3") collect (stringp element)) ;-) 14:29:01 Bah, the CL LOOP is weak! :P 14:29:19 Oh, well, I never bothered to learn ITERATE. 14:29:46 IMHO, the enhanced LOOP macro is a stroke of genious - points the way away from the last 20 years obsession with minimal 'core' languages and back toward programmer friendly control abstractions. 14:30:11 -!- samth_away is now known as samth 14:30:14 LOOP does comprehensions, filters and oh so much more :-) 14:30:15 The syntax of LOOP is brain-damaged. If it weren't in the core, I'd use something like ITERATE instead. 14:30:43 As it is, it probably stifled the broader use of something more programmer-friendly. 14:30:46 ITERATE is better, but still pales in comparison to foof-loop. 14:30:58 I'm sure it does. I don't have one of those thingies in my SBCL, though. :-) 14:31:03 Yeah, but look at the syntax futzing with SRFI 41 - seems some syntax frobbing is needed to make these types of constructs as convenient as possible. 14:31:39 Regarding your actual question, if you're going to use PLT as your implementation of choice, you might as well forget cross-implementation compatibility and go full-on PLT. 14:31:40 Summermute, if you want your code to be portable to multiple Schemes, then PLT-specific features won't work 14:31:48 zeroish [n=zeroish@135.207.174.50] has joined #scheme 14:31:50 Is the source to ITERATE in CLtL2 like loop and unquote splicing is??? 14:31:58 but I recommend the path chandler suggests, and just using PLT 14:32:05 Yeah, I'm picking that up. 14:32:08 Well, of course *you* would. :-) 14:32:13 well, yes 14:32:42 I admit I have a larceny fetish from afar :-) 14:32:48 I don't always agree with the design decisions that have been made in the PLT language, but ultimately it's a lot more coherent than the random mess of SRFIs that are out there, plus the implementation-specific features you'll have to delve into when one or another SRFI is either not widely implemented or does not cover your use case. 14:33:09 -!- ineiros [n=itniemin@james.ics.hut.fi] has quit ["leaving"] 14:33:10 But the environment/libraries/user community is pretty impoverished right now. 14:33:24 ineiros [n=itniemin@james.ics.hut.fi] has joined #scheme 14:33:25 There's simply a lot of stuff that's *not* covered by SRFIs that the PLT implementors have put a lot of effort into. 14:33:38 True enough 14:33:55 Don't get me wrong - i'm darned impressed 14:34:40 OTOH, sbcl and ccl are pretty darned impressive as well - heck, excepting performance, clisp is pretty darned slick. 14:34:41 Summermute: What do you want to build? 14:35:05 I'm building a compiler for a statically typed language with interesting goodies. 14:35:06 Why is CLISP slick? 14:35:32 Outside of arbitrary-precision floats, I can't think of anything to recommend it. 14:35:54 It just seems to support all the 3rd party lisp stuff out there - i assume due to the size of the user community banging on it. Oh, and pretty seemlessly cross platform as well. 14:36:31 It doesn't support all the third party stuff that's out there. If I remember right, the threads situation is still sketchy, and if you don't use threads, there's no way to multiplex the REPL and socket operations (ala SERVE-EVENT in CMUCL/SBCL). 14:37:10 In any event, if I was building a compiler, I would probably not concern myself with cross-implementation portability too much. 14:37:41 PLT is pretty portable itself, especially if you don't need the GUI bits. 14:37:54 Well, you can imagine, in a compiler building project, I'm interesting in solid implementation, good documentation, compiler stability, at least a strong lex/yacc implementation. I like typed scheme because it gives me a typed environment in which to implement all my whakcy program transformation. So PLT is in many ways looking good. 14:38:22 -!- ray [i=ray@drong.notacat.org] has quit [Read error: 60 (Operation timed out)] 14:38:22 It's also well-supported on the existing set of platforms that it runs on, including Windows, OS X, and Linux. That's somewhat difficult to find in any language implementation. 14:38:25 ray [i=ray@drong.notacat.org] has joined #scheme 14:38:49 chandler: Good to know regard clisp. Right now I'm set up with slime and ccl anyway. 14:39:54 I was specifically thinking of the problems folks seem to have with ASDF. so far as I know, clisp seems immune from these problems :-) But again, pure academic as far as I'm concerned. 14:41:30 jao [n=jao@80.24.4.74] has joined #scheme 14:41:52 chandler: Did you see my message re: Alice-ML. Really, really nice implementation and environment. Great help docs. Nice set of extra features. And now I read over on the Alice site that it's all on hold for now - probably indefinitly. You can imagine; I'm thinking - "Wow, I 14:42:35 "Wow, i'm sure I didn't build my tNL compiler on Alice as I once had considered!" 14:43:12 "..I'm sure glad.. 14:44:23 I wish PLT had a more Apache project like structure, with lots of community input. Not exactly a guarantee of longevity and commercial/production applicability, but nearly the closest we can get. 14:44:38 I didn't see the message about Alice, no. To be honest, I've not really looked into it much. 14:44:52 I think maybe the PLT guys believe that the answer is to have a small group of very smart people working on it 14:45:52 I think the solution is to provide community input to PLT. I haven't seen that they're adverse to it. Right now, the project is structured the way it is because it works for the PLT hackers. If lotsandlots of people were hacking on it and building all sorts of ancillary libraries that were actively maintained, another structure would no doubt evolve. 14:45:57 As long as they can get funding ;-) 14:46:00 But you can't create structure and then expect community. 14:46:51 Actually, I got a nice message on the PLT mailing list thanking me for ideas on increasing community involvement. So maybe there's hope. 14:48:58 Oh, and I don't dispute the "small group of architects at the middle" structure; but i think it's good to brink in some of the brighter folks from the community (who also have the time) into the inner circle - the whole point is 1) progress toward practicle applicability and 2) longevity of the project even in the absenve of corporate funding. 14:49:40 The solution is to hack PLT. 14:50:02 As I said, you can't create community by fiat. 14:50:23 this is known as the Sun technique 14:50:23 chandler: Yes, but it's kind of a chicken/egg issue, and we have to fall back on the old saw, "God helps those who help themselves." Also we would actively solicit for leaders or 'caretakers' of various subsytems. 14:50:42 No; you're still going back to creating community by fiat. 14:51:10 Community structures exist as they are necessary. Attempts to create them in the absence of necessity will no doubt fail. 14:51:19 chandler: Think human logic, not logic logic - failure here is a real option. We go forward anyway. 14:51:36 Good morning, folks! 14:51:42 The Apache project is structured in the way that its because lotsandlots of people are building things around Apache. You wouldn't get that structure otherwise. 14:51:46 What interesting technical problems have you folks been solving lately? 14:53:16 Well, I'm currently fighting with time synchronization (or lack thereof) in a VMware virtual machine... 14:53:23 chandler: Also this doesn't have to be big bang. With a steward inside, a set of "deputies" could be slowly recruited for the various subsystems with some very basic guidelines on different, and appropriate ways to integrate a select group of community members. The PLT community seems large enough that this shouldn't be such a huge challenge if we take our time. 14:53:47 How to live with a member of the opposite sex. 14:53:58 foof: ???? 14:54:34 That was in response to Riastradh's question. 14:54:50 that isn't THAT hard, foof 14:54:53 Summermute: I think that looking at a project like thinking PLT and saying "oh, it would be so much better if I just stepped in to organize it!" is wrongheaded. The best thing to do is to write code, and be there to help organize as the demand arises. Otherwise, you're just trying to fix what isn't broken, because it might be broken later. 14:54:59 I mean, I live with *three* guys and it's not that bad :P 14:55:06 foof: Talk alot, pick up after oneself right away, make the bed in the morning, do the dishes :-) 14:55:28 I cooked, it's her turn to do the dishes and she's snoring! :P 14:55:35 owned :P 14:55:50 foof: Perhaps the solution to that is to write code, too. 14:56:25 (also, I have no idea how I typed "project like thinking" above. Delete the "thinking".) 14:56:39 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 14:56:45 chandler: Yeah, I have "ran things" most of my career, but given my current state of illness, banging PLT into shape for a full blown canonical open source project is completely unappealing to me. I just want to reap the benefits :-) 14:56:50 chandler, clearly it's an offshoot of Thinking Machines. 14:57:08 (The past participle of `run' is simply `run'.) 14:57:30 Thinking machines was cool - we had one of their blinking big boxes in the Aiken lab at harvard 14:58:24 My spellar and grammar suck - Chronic Fatigue Fog helps *none at all* aplogies in advance 14:58:35 Summermute: You're still assuming that projects become "full blown canonical" because they are managed to be such. It's not so. Use the tool, write code as necessary, encourage others to do so. That's all it takes. The rest will be tended to as it needs to. It might involve partial failures at times. That's life. 14:58:47 *Chani* thinks there must be a middle ground between chandler and Summermute 14:59:26 Yes, there probably is a middle ground. 14:59:49 I think you have to do a bit more than just code, but that doesn't mean building formal structures before people are ready for them 14:59:56 maybe code+talking 14:59:57 arcfide [i=1000@140-182-224-237.dhcp-bl.indiana.edu] has joined #scheme 15:00:11 I do think that setting up for open source banging imposes a software engineering discipline a little on the code and alot on documentation, help, wiki and the organization of project artifacts in a repository (svn or whatever) 15:00:23 The "middle ground" probably lies in non-coding activities like documentation. PLT does have a very good set of reference documents, but it could stand to use more tutorial-like documentation. 15:00:24 Bang! 15:00:40 Summermute, if you want PLT to be more accessible to hackers, there are lots of things you could do 15:00:56 and it's certainly something we would all like 15:01:00 And more of a nice long document on the implementation, messy details of the runtime system, etc. 15:01:30 but there isn't the time in the day to do our day jobs, hack on software, and make it easy for everyone else to contribute 15:01:59 no, documenmtation is just another form of contribution to the codebase. I mean talking to people in the project, building community, making sure they're aware of hte benefits of structure and mostly agree with you before trying to set something up... 15:02:12 for example, i didn't know much about the bytecode format until i wrote the first draft of the decompiler 15:02:18 samth: Point me in the right direction. 20 years ago I implemented a pretty nice CL2L2 subset (no CLOS) on a rouhg platform - Early Windoze segmented memory model ;-) 15:02:27 Chani: All of which is a waste of time if it's done before it's necessary. 15:02:55 so, if you want to know how the jit works, there's no substitute right now for reading jit.c 15:03:12 but you could read it, and then write the introductory guide you're talking about 15:03:12 When the rubber hits the road, you'll find out where your wonderful structure was deficient, and probably re-do most of it anyway. So save the management for when there's something huge and complex to manage, and in the meantime, use the tool to do cool things. 15:03:18 chandler: nono, this is the stuff that you do from the beginning, so that when structure *is* necessary it can be brought in without you trying to force it on people who don't see any need for it (which is fairly likely to fail) 15:03:44 samth: regarding LOE, that's why its good to apoint a single czar with the necessary skills. Hopefully someone who has set up an active sourceforge project before (or something similar). I'd think that somewhere in your CS department lies the perfect intern :-) 15:03:54 I've seen more projects with elaborate structures fail due to lack of actual hacker interest than I have seen incredibly popular projects fail due to lack of organization. 15:04:08 Summermute: the structure is also somewhat different because much of the contribution to PLT represents research projects 15:04:10 doesn't have to be much. a blog here and there, encouraging the right attitudes on irc... 15:04:53 In my opinion, PLT is already suitable for very wide use as a serious alternative to other, far more popular programming languages. So, the best thing to do is to *use* it. 15:04:54 *Chani* has no idea what the size of the PLT community is, btw 15:05:23 Chani: it depends on what you mean by the PLT community 15:05:28 And this is where Riastradh should again ask folks what interesting technical problems they have been working on. 15:05:37 samth: I don't even know that :) 15:05:49 oh right. homework. 15:05:54 One real potential downsize - an active dev and *user* community is going to resist using PLT as an experimental platform. More likely this audience will want stability and speed. 15:05:54 Yeah, my question didn't disrupt the conversation as much as I had hoped... 15:06:00 if you mean the set of people who actively contribute to the implementation, then roughly 20 15:06:28 if you mean the set of people who use it for real software, then it's hard to know, but probably more than 1k 15:06:30 Summermute: perhaps, but I'm always surprised at how easily people are distracted by new-and-shiny 15:06:49 -!- arcfide [i=1000@140-182-224-237.dhcp-bl.indiana.edu] has left #scheme 15:06:52 if you count students who use htdp/drscheme, then tens of thousands each year 15:07:01 Riastradh: Chibi now has an initial module system. 15:07:21 *Chani* doesn't wanna go to school. wah. 15:08:12 Chani: new and shiny is good, so long as it doesn't break 60K LOC :-) Imagine the immutable cell introduction if folks had production systems up and running!!!!! 15:08:34 Summermute: there are production systems up and running using PLT 15:09:10 The change to immutable pairs happened in a major version revision, which is exactly the right time to make that kind of change. 15:09:12 We'll, that's one of my goals in bringing PLT "out into the light" of more intensive user participation. 15:09:56 You can't just tell the developers not to make a change because some hypothetical group of users might have major issues with it. The users have to be there first. So, MORE CODE, then figure out how to deal with that. 15:10:02 Tell that to IBM with a "major revion" to Cobol that breaks millions of lines of code :-| 15:10:05 minion: chant! 15:10:06 MORE CODE 15:10:21 If you want COBOL, you know where to find it. 15:10:37 Can minion also chant LESS things, such as `LESS TALK', or is it just MORE? 15:10:38 Summermute: the best way to accomplish your goals is to be the contributor you want to encourage 15:10:39 If you want Common Lisp, with all the attendant whinging about lack of language evolution, you know where to find it. 15:10:45 Riastradh: It's just MORE. 15:10:49 No, I don't want COBOL - But where's the sin in wanting a feature rich, "production quality" scheme 15:10:50 Pity. 15:11:17 Summermute: PLT is, in the opinion of people using it in production, just that 15:11:29 also theres chez :) 15:11:33 minion: chant! 15:11:33 MORE ABSENSE 15:11:42 dangit 15:11:46 samth: It's been a while since I've done intense bit twiddling and RTS work, but I still think i have the chops :-) 15:11:49 Gah. That word has a `C', minion, or an `I' and a `TH'. 15:12:13 What is up with Chez? 15:12:20 The interpreter look nice. 15:12:26 or I was writing adsense... 15:12:32 Chez is expensive, high-quality, commercial software 15:12:39 But no freaking libraries that I could find easily 15:12:57 I dont think you need libraries to write a compiler 15:13:06 Yes, when they don't even advertise the price, I tend to walk away :-) 15:13:09 i think if you pay for the compiler, you'll get the answers you need 15:13:18 i think it's in the multiple k per seat 15:13:52 I want some kind of lex/yacc, parser combinators, etc. libraries - I'm not looking to reinvent every wheel. 15:14:15 samth: OUCH! 15:14:38 Just use PLT. Write some code, man. 15:14:46 Summermute: i think that's what things like EDG cost, as well 15:14:48 Whatever this is, it isn't coding. 15:14:51 or the greenhills tools 15:14:53 That's what I've been doing 15:15:07 That's in the ballpark of Allegro and LispWorks as well. 15:15:14 arcfide [i=1000@140-182-224-237.dhcp-bl.indiana.edu] has joined #scheme 15:15:16 EDG? 15:15:30 Hello, arcfide. 15:15:41 (I'm waiting for you to talk so minion will ask you my question.) 15:15:48 My buddy has LispWorks, and I have to say, having futzed with it, it seems worth every penny 15:17:18 In the end, I like PLT - but it seems to require quite a bit of organizing and rounding out on the library front and insurance of its longevity beyond the extent of its institutional funding. That's all. 15:17:54 There's no insurance of anything. On the other hand, the PLT that works today will keep working, even if eventually only in virtualization. 15:19:21 That's kind of deep, existential view on things :-) 15:19:34 *Riastradh* blinks. 15:19:48 Not really. 15:21:19 rdd [n=user@c83-250-145-223.bredband.comhem.se] has joined #scheme 15:23:58 Summermute: PLT is not going to disappear. 15:25:16 OT: I'm seeking a survey paper on concurrency idioms in programming languages - hopefully as nice a Wilson's GC survey. I asked on "LTU," but to no avail so far. 15:25:33 It may, however, break all of your programs with the 5.0 release and when you complain shout at you for using an archaic version that doesn't even support whole program analysis and 3D macro visualizations! 15:25:51 EEEK! 15:27:55 Or the PLT team get's a research bug in their brain and decides to make it a Miranda language and environment :-) 15:30:17 I doubt that's going to happen. My guess is that the set of abstractions that are implemented in PLT now are sufficiently useful to the PLT maintainers themselves that they are loathe to introduce huge, fundamentally program-breaking transformations. Even the immutable pairs introduction was not a huge breakage point, as it's very easy to adapt programs to the change (and the use of pair mutation has long been discouraged anyway). 15:31:25 I would guess that further research will build on the existing abstractions, or be implemented as new languages that don't break the existing module language. 15:31:27 Yes, actaully I'm a proponent of immutable pairs. 15:31:45 ejs [n=eugen@95.135.124.202] has joined #scheme 15:32:13 We alway have mutable records, vectors, etc. Pity no prober tuple type. 15:32:26 samth and eli can speak more authoritatively to this point, I'm sure. 15:33:12 Typed-Scheme is a good example of research not interfering with the stability of the module language. 15:33:40 I just happen to be implementing a language with ML'ish or Haskellish lists, so immutable uniform lists just don't seem "wrong" to me. 15:34:08 obviously, i can't promise that plt won't in the future change in some way that breaks your code 15:34:19 -!- thehcdreamer [n=thehcdre@94.198.78.26] has quit [] 15:34:31 chandler: true enough - I've said it before, i'll say it again - Typed Scheme is *wicked* cool!!! (Channeling my years in Boston) 15:34:41 Summermute: thanks 15:35:35 You are very, very welcome. It's akin to ML with a few extra cool type system tricks that integrates seemlessly with "regular scheme" 15:35:51 samth: Of course, but there's breakage and then there's "I might as well just rewrite all my code" breakage. 15:36:14 think about it this way 15:36:28 The only thing we could ask for it, aside from the boundary contracts, that we get a good amount of speedup when compiled to the VM - use unsafe primops, etc. 15:36:33 each time we've changed major versions, there have been incompatibilities 15:37:02 but also, each time, the porting effort has been smaller, and the backwards-compatibility support has been better 15:37:17 I must be scratching the surface - haven't noticed. Then again, it's been awhile since I upgraded 15:37:28 Are you on 4.x? 15:37:42 -!- eli [n=eli@winooski.ccs.neu.edu] has left #scheme 15:37:44 up yes, hold on 15:37:55 eli [n=eli@winooski.ccs.neu.edu] has joined #scheme 15:38:09 I'm on 4.2.1 15:38:52 *chandler* has to run at this point 15:38:59 Summermute: re your question of srfi vs plt -- some of the plt functionality that overlaps has been there for a longer time. 15:39:01 Just write some code, man! 15:39:11 I'm curious - what sorts of things are 'breaking' between versions. Anything I should look out for? Might save me hours of needless debugging time. 15:39:12 Summermute: by major versions, I mean from 3 to 4 15:39:22 or from 200 to 300 15:39:27 not from 4.1 to 4.2 15:39:44 Summermute: which choice is better is a subjective question, but in general, the plt functionality has been very stable. 15:39:44 Roger that - I'm safe for now 15:40:34 If you want to get an idea of the kinds of things that break, then look into the major revision bumps in the past. There's only been four of them. 15:41:02 I'm curious, give Linux - x86, Win x86 and Mac x86 - any talk of writing a native code compiler for x86 platforms? Could be a nice win. 15:41:23 How is it not native now? 15:42:36 Sorry, I don't mean JIT, I mean linking a binary executable. 15:43:11 The jitting step -- going from the bytecode to the machine code -- is very fast. 15:43:51 chandler: Hello. 15:43:52 arcfide, memo from chandler: is it possible in Opera to somehow filter my INBOX to show me the messages that *aren't* associated with a mailing list? 15:43:58 But of course, if there's enough work on making further optimizations at that level, then some platform-specific code can be added. 15:44:51 chandler: All you should have to do is deselect "Show Mailing Lists" in the Inbox view. 15:45:02 Sure, but can't one do fun stuff with intraprocedural analysis within modules, inlining, etc. not to mention backend and rts optimizations - yada yada yada 15:45:05 At some point after OSX switched to intel, Matthew noted that x86 has become the standard low-level language, making things very convenient for him... 15:45:23 How is that related to machine code? 15:45:28 -!- HG` [n=HG@xdslaj108.osnanet.de] has quit [Client Quit] 15:45:35 True enough (and weird enough - a register starved CPU architecture, go figure) 15:45:40 Why should the "backend" be defined in x86 terms? 15:45:55 x86 is not register-starved! 15:46:08 That's true only on the syntactic level. 15:46:10 -!- leppie [n=lolcow@196-210-146-156-tvwt-esr-2.dynamic.isadsl.co.za] has quit [] 15:46:46 ???? Compared to Sparc or Alpha? Heck, one could keep nil and a couple of pointers into the free store on those chips. 15:46:59 There's a pretty big pool of registers that get used as a kind of an "extremely fast and extremely small cache". 15:47:27 extremely fast and small in the sense that they are as fast as registers and as few as what you'd expect from something like sparc. 15:47:49 And i assume they kind of "encircle" some region of the stack around the EBP frame pointer, or maybe ESP as well ??? 15:48:00 I don't remember the name, but there was a paper somewhere describing a compiler technique that localized work in a way that would use these things as registers. 15:48:43 You've used your quota of question marks, Summermute. Please find a different punctuation character. 15:48:43 I don't remember the details, but I don't think that it was in any way relative to EBP/ESP or whatever. 15:49:16 eli: Re x86 as a back end - not, some other representation - continuatioins, TLA or whatever. Then a final translation into machine code. 15:49:42 Riastradh !!@! 15:50:16 And there goes the last of your exclamation marks! 15:50:16 Summermute: (I didn't follow that.) 15:50:54 eli: curious again. I've read of modern x86 pseudo registerts, but I'm not sure what they "mirror" or represent in the programmer machine model if anything 15:51:48 My guess would be that this is Intel's way of dealing with higher demands but keeping backward compatibility. 15:52:59 So are these "registers" used internally for expression temporaries, intermediate results awaiting branch results, etc. 15:53:33 At least amd64 has a more robust set of registers. 15:53:52 "Regular" programmer accessible registers. 15:54:01 mrsolo [n=mrsolo@nat/yahoo/x-juwoizflsnlszuko] has joined #scheme 15:54:11 IIRC, they really do operate as a cache -- so you get the benefit of register-speed if you localize your geenrated code enough. 15:54:32 Very interesting 15:55:21 So I can imagine alot of inlining of map and filter to take full advantage of this chip 15:55:24 I think that the compiler strategy was to use a small area in memory as registers (by throwing them into the register pool of the code generator), and if the number is right, you'd hit the place where they would almost always be in one of these hidden registers, and get the speed benefits. 15:55:49 -!- gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 15:56:54 Summermute: re community involvement -- see my question. 15:56:59 The name you're looking for is "rename registers". 15:56:59 whoah, r6rs-discuss just exploded again... 15:57:19 eli: refresh my memory? 15:57:20 It is, in general, an area where things keep moving. 15:57:36 Your concerns about community involvement in PLT. 15:57:48 is there any reason, in propositional logic, to allow free variables in well-formed formulae? 15:58:38 t_rl [n=trl@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #scheme 15:59:16 -!- ASau [n=user@77.246.231.148] has quit [Remote closed the connection] 16:00:02 My concerns is in large part to structure the PLT effort to support an active contributing community. If this might conflict with the core teams research goals, well i can understand that. But I believe and active contributing community (and a project/personnel structured to handle it) would lead toward makign PLT a more pragmattic tool for everyday, workaday programming, among other benefits. 16:00:09 eli: How's that 16:01:32 chandler: Yeah, that looks like it -- the paper that I remember was putting it all very nicely in terms of writing a code generation backend. 16:01:38 Summermute: How's what? 16:02:09 Howdy. Student here with a basic scheme question. I'm getting the following error: "procedure application: expected procedure, given: # (no arguments)" and was hoping for help 16:02:11 Here's my function: (define SINGLE (lambda (f elem) ((cond ((list? elem) (PICK f (car elem))) (else (PICK f elem)))))) 16:02:24 (define PICK (lambda (f x) (cond ((f x) x)))) 16:02:51 Um, having a "sanctioned" Perl DBI or Java JDBC abstract interface for interacting with all SQL RDBMS's via a well defined driver interface. Just a dumb example. Or, maintaining the wxWindows interface to mirror the release schedule of wxWindows itself, supporting all new features if feasible. Yada yada yada. 16:03:08 Summermute: BTW, the PLT group doesn't have "research goals" that somehow contradict what you'd consider as "community goals" -- the group itself is big enough to make such localized academic goals. 16:03:11 I'm talking really pragmatic stuff. 16:03:39 And how is that pragmatic stuff not being considered now? 16:03:49 To be specific about your two points: 16:04:29 There is no DB support in the core distribution simply because there's nobody that knows enough about that to hack and maintain such code -- but there is plenty of such things on planet. 16:04:34 eli: Yes, i do recognize that, but i'm not sure if they *have* to conflict. The first step would be to appoint a "czar" within the group to see how things might be carved up and what parts might be "turned over" to the comminity (broadly speaking) 16:05:00 What I'm saying is that they *don't* conflict. 16:05:24 Oh, I thought you indicated above that they may conflict. 16:05:44 No, not at all -- I was saying that there is no conflict. 16:05:55 In some small research groups, you might see such things. 16:06:06 Dumb example because it's the MicroSoft beheamoth - but they are commercializing F# and continuing to do research as well. 16:06:36 -!- npe [n=npe@195.207.5.2] has quit [] 16:06:42 For example, if the three people who work in the same university on language X get funded by some CIA agency, they might shift the project focus because of such funding. 16:07:11 But PLT in general is now big enough, and composed of several independent academic sub-groups, that this just cannot happen. 16:07:19 Kind of like the JDK effort, there has to be a will to 1) work on some relatively prosaic stuff and then 2) nail it down so that application developers can rely on it. 16:07:41 Or can anyone recommend a channel for scheme questions? 16:07:42 Well, unlike JDK, we're no Sun. Or Microsoft. 16:08:19 -!- ejs [n=eugen@95.135.124.202] has quit [Read error: 145 (Connection timed out)] 16:08:27 xwl [n=user@125.34.171.60] has joined #scheme 16:08:28 t_rl: There didn't seem to be enough information in your question to answer it, but it might have to do with the lack of an `else' branch in your last `cond'. 16:09:05 rudybot: eval (cond (#f #f)) 16:09:19 rudybot: eval (display (cond (#f #f))) 16:09:19 chandler: ; stdout: "#" 16:09:21 chandler: I tested the PICK function, and it seems to work (I want it to not return anything if (f x) is false). 16:09:40 -!- jao [n=jao@80.24.4.74] has quit [Read error: 145 (Connection timed out)] 16:09:46 No I understand. just examples. The exact dynamics would have to fit within your organizational (and personalities) context. Hence my suggestion of appointing a "czar" to run around and look at other successful open source language projects and see what "user friendly success featuers" can be integrated into the current PLT environment. -- Not to radical a suggestion , I hope. 16:09:57 Not having an else branch just gets you an unspecified value. 16:10:24 In any event, I must step away from the keyboard again. Can someone else help t_rl? 16:10:36 Summermute: The thing is that most people on the core team are flooded as is, and many just want to get hacking done. 16:10:49 As I feared. 16:11:05 Why fear? 16:11:23 How is that different than any other open source project? 16:11:30 How is that different than any other CL project? 16:11:34 How is that different than any other Scheme project? 16:11:43 patmaddox [n=patmaddo@ip68-111-70-47.oc.oc.cox.net] has joined #scheme 16:11:45 SvekloB [n=sveklo@unaffiliated/sveklo] has joined #scheme 16:12:17 Years back I ran a high end 85 staff software consultancy. One of our hard and fixed rules was "keep your head above water." Sounds like everyone is, rather, swimming deep on the PLT team :-) 16:12:20 chandler: Well, thank you. I'll play around and stay in here, maybe ask again in a bit if I'm not making progress. 16:13:01 Summermute: Sorry, I'm lost on these analogies... Can you be more concrete? 16:13:50 Sorry - "Forest for the tree" "An excellent implementation of a piss poor spec" - I imagine these analogies are understandable and close to the point. 16:14:30 It's like a manager who can't stop coding and actually manage everyone else on the team - reciple for total disaster (and no - I am not a suit) 16:15:12 I very much disagree with that. The fact that there are many people who just want to hack doesn't mean that they're ignorant of what happens around them. 16:15:44 And like I said in my email -- there's plenty of communication that happens, including things like setting longer term goals and directions. 16:15:52 I don't mean to be critical. It's just old instincts talking. Plt is a very cool piece of software for which i am eternally grateful. 16:16:25 Now, after we've spent all that time discussing it, it would be difficult to find someone to sit down and put it all in a nice web page -- and even more difficult -- maintain that web page. 16:16:41 Put what in a page 16:16:51 Some roadmap or something similar. 16:18:26 Like i said, I'm pretty sick, but I could make a go at it. First step would just be to email the staff membes for their feedback, draw up the roadmap and then invite user criticism and consequent review. Might be eventually eye opening for the dev team. We'll never know until we try it. 16:19:04 Well, any such contributions are almost always welcome. 16:19:18 Wanta take this offline somehow? 16:19:32 You can mail me. 16:19:46 How abouts? From the project page? 16:19:53 eli@barzilay.org 16:20:21 Roger that - I'll put it in my mailbox and then drop you a line so you have mine. 16:20:33 peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has joined #scheme 16:20:35 I do -- since you posted on the mailing list. 16:20:49 Aha! 16:20:52 :-) 16:21:37 Summermute: BTW, if you're around Boston, you can also come to NEU. 16:21:38 Cool, we should let the rest of the #scheme channel get back to asking about their homework or the horrors of r6rs :-) 16:22:08 bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 16:22:29 I'm in DC and pretty much housebound with Chronic Fatigue (the hardcore kind, unfortunately) Does give me lots of time in front of a computer though 16:23:17 (Ah, I said that because you mentioned Harvard...) 16:24:18 Some of the happiest days of my life, except the cold - Studied philosophy with lots of formal logic, philosophy of math/science/language. And some fun european stuff through in as well :-) 16:25:03 *eli* heavily misses the Israeli whether. 16:25:11 r u up in Cambridge now 16:25:13 ? 16:25:22 Yes. 16:25:55 Good for you. Still should be a nice time of year - at least for one more week or so :-))) 16:26:25 No -- nice ended last week, it went from too hot to too cold almost immediately this time... 16:27:07 Now it's mostly crappy, but at least not the wet kind of crappy. 16:28:17 Ciao for now, I'm might actually 1) go get some work done or 2) procrastinate learningn haskell 16:28:18 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 16:35:28 saccade [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 16:37:57 peddie_ [n=peddie@c-67-180-249-125.hsd1.ca.comcast.net] has joined #scheme 16:44:27 annodomini [n=lambda@130.189.179.215] has joined #scheme 16:50:17 -!- arcfide [i=1000@140-182-224-237.dhcp-bl.indiana.edu] has left #scheme 16:52:20 -!- SvekloB [n=sveklo@unaffiliated/sveklo] has quit ["Leaving..."] 16:52:56 ejs [n=eugen@94.178.0.116] has joined #scheme 16:54:42 -!- peddie [n=peddie@c-67-180-249-125.hsd1.ca.comcast.net] has quit [Read error: 110 (Connection timed out)] 16:59:36 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 17:00:42 -!- nothingHappens [n=nothingH@173-25-176-111.client.mchsi.com] has quit [Read error: 110 (Connection timed out)] 17:03:12 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 17:05:11 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 17:20:15 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 17:21:10 -!- saccade [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 17:25:05 nothingHappens [n=nothingH@67.224.67.202] has joined #scheme 17:26:00 arcfide [n=arcfide@adsl-99-14-211-93.dsl.bltnin.sbcglobal.net] has joined #scheme 17:27:37 jao [n=jao@128.Red-83-43-32.dynamicIP.rima-tde.net] has joined #scheme 17:28:19 MrFahrenheit [n=RageOfTh@users-42-152.vinet.ba] has joined #scheme 17:28:25 -!- peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has quit [] 17:28:51 leppie [n=lolcow@196.210.146.156] has joined #scheme 17:40:16 -!- t_rl [n=trl@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [] 17:40:40 Nshag [i=user@Mix-Orleans-106-1-143.w193-248.abo.wanadoo.fr] has joined #scheme 17:42:24 t_rl [n=trl@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #scheme 17:42:26 -!- t_rl [n=trl@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Client Quit] 17:43:16 lolcow [n=lolcow@196-210-146-156-tvwt-esr-2.dynamic.isadsl.co.za] has joined #scheme 17:43:16 -!- leppie [n=lolcow@196.210.146.156] has quit [Read error: 131 (Connection reset by peer)] 17:49:45 -!- ejs [n=eugen@94.178.0.116] has quit [Read error: 131 (Connection reset by peer)] 17:50:19 -!- lolcow is now known as leppie 17:51:22 indraastra1 [n=indraast@nat10.metaweb.com] has joined #scheme 17:52:55 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 17:56:46 choas [n=lars@91.13.203.233] has joined #scheme 18:04:14 -!- optimizer [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 18:06:20 -!- mmc [n=mima@esprx02x.nokia.com] has quit [Remote closed the connection] 18:16:48 -!- jao [n=jao@128.Red-83-43-32.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 18:16:48 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Connection timed out] 18:18:26 saccade [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 18:25:34 -!- borism [n=boris@195.50.205.198] has quit [Read error: 145 (Connection timed out)] 18:26:03 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 18:27:52 jao [n=jao@2.Red-83-42-211.dynamicIP.rima-tde.net] has joined #scheme 18:43:01 -!- leppie [n=lolcow@196-210-146-156-tvwt-esr-2.dynamic.isadsl.co.za] has quit [] 18:45:20 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 18:49:04 seanstickle [n=seanstic@c-68-33-221-168.hsd1.dc.comcast.net] has joined #scheme 18:51:52 mmc [n=mima@89.27.122.78] has joined #scheme 18:53:02 -!- ve [n=a@94-193-95-252.zone7.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 18:54:08 -!- saccade [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 18:59:43 emma [n=a59bcafe@gateway/web/flash/eris.tuxhacker.org/x-mwpwdtrrvkexuczc] has joined #scheme 19:00:24 npe [n=npe@94-224-251-223.access.telenet.be] has joined #scheme 19:02:17 mbishop_ [n=mbishop@geeks.im] has joined #scheme 19:02:50 hmm, neat 19:04:27 -!- schmir [n=schmir@mail.brainbot.com] has quit [Remote closed the connection] 19:05:04 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 19:08:00 -!- mbishop_ [n=mbishop@geeks.im] has left #scheme 19:12:11 mm_freak [n=milch@2a01:198:2d4:0:dead:affe:dead:affe] has joined #scheme 19:12:27 -!- peddie_ is now known as peddie 19:12:30 hello there is there any way to make cmuscheme always indent with two spaces? 19:13:19 per parenthesis nesting level i mean 19:14:23 hotblack23 [n=jh@p5B055C4E.dip.t-dialin.net] has joined #scheme 19:15:30 cmuscheme doesn't have anything to do with indentation; it's an interaction mode. 19:15:36 Can you be more specific? 19:16:03 sorry, i'm using emacs' scheme mode with cmuscheme and it indents with one space per nesting level 19:16:22 so if i type '((' and go to the next line, it indents with two spaces 19:16:32 i'd like to have it indent with four spaces instead 19:17:18 such that, for example, the function name is always less indented than its arguments 19:17:54 If you type `((', and break the line, the next line should be aligned to the right of the rightmost opening bracket: 19:17:57 (( 19:17:58 foo 19:18:06 optimizer [n=x@unaffiliated/lowlycoder] has joined #scheme 19:18:37 is that hard-coded? 19:19:01 That's just the rule -- that's how such code is always indented in Lisp. 19:19:12 Can you give an example of some code with Emacs's indentation, together with the same code with the indentation you have in mind? 19:19:21 emacs: 19:19:24 (map 19:19:27 display 19:19:32 '(1 2 3)) 19:19:37 what i have in mind: 19:19:37 Yes, that's the correct indentation. 19:19:39 (map 19:19:42 display 19:19:45 '(1 2 3)) 19:19:52 foof` [n=user@FL1-118-110-45-189.osk.mesh.ad.jp] has joined #scheme 19:19:53 No, that's wrong, unless MAP has some sort of body. 19:20:06 For example, LET has a body; CALL-WITH-INPUT-FILE has a body. 19:20:15 MAP just has a list of arguments. 19:20:29 i understand 19:20:31 That is, the standard MAP; you are, of course, welcome to redefine MAP. 19:21:16 what is the preferred way to break a function call into multiple lines? 19:21:45 In this case I'd just put them all on one line. If you break the line after the first operand, then the leftmost column of the second operand should align with the leftmost column of the first operand: 19:21:46 (btw, replace map by for-each) 19:21:48 -!- indraastra1 [n=indraast@nat10.metaweb.com] has quit [Read error: 110 (Connection timed out)] 19:21:54 (map (frob-grovel-full-lexical-mumble) 19:21:59 (compute-me-up-a-list)) 19:22:08 ah, yes 19:22:12 that's good 19:22:28 If you break the line before the first operand, all the operands are indented by one space so that all subforms of the list have their leftmost columns aligned: 19:22:31 (map 19:22:34 why do schemers always mention FUNCTION-NAMES and WHATEVER-THE-LANGUAGE-HAS in caps? 19:22:40 (frob-grovel-full-lexical-mumble-even-longer-fnord) 19:22:45 although function names can get quite long in scheme 19:22:47 (compute-me-up-a-list)) 19:23:07 MononcQc, to distinguish them from the English words of the surrounding text. 19:23:33 oh, alright. Seems like only schemers and lispers do it though 19:23:37 `For example, let has a body!' sounds like lolcat speak. 19:24:22 indraastra [n=indraast@guest.freebase.com] has joined #scheme 19:25:30 MononcQc: I tend to `quote' them. The all-caps style works if you can assume a case-folding reader, but I'd rather not make that assumption. 19:25:42 seems like PLT Scheme is useful for real world web applications, even in the larger scale 19:25:45 is that true? 19:26:58 -!- emma [n=a59bcafe@gateway/web/flash/eris.tuxhacker.org/x-mwpwdtrrvkexuczc] has quit [Remote closed the connection] 19:29:05 schmir [n=schmir@mail.brainbot.com] has joined #scheme 19:33:32 mm_freak: It should be noted that there is another style of indentation popular in some circles that breaks before the first arguments of procedure calls if the calls won't all nicely fit on a single line. In this style (sometimes noted as a CPS or IU style), arguments are indented two spaces in from the procedure to which they are being applied. 19:33:45 This style is also called `wrong'. 19:34:07 Not only is it wrong, but it misleads the reader by suggesting that there is some kind of scope or body structure going on that isn't. 19:34:08 -!- nothingHappens [n=nothingH@67.224.67.202] has quit [Read error: 110 (Connection timed out)] 19:34:11 Things like IF are indented so the arguments line up with one another at the leftmost column and the first argument occurs on the first line. 19:34:21 jcowan [n=jcowan@72.14.228.129] has joined #scheme 19:34:32 Riastradh: ping 19:34:57 jcowan: *bonk* 19:35:06 Riastradh: *oif* 19:35:15 Riastradh: Quite a few people use it. 19:35:15 Riastradh: I wouldn't call it wrong. 19:35:15 jcowan: *zibblefrotz* 19:35:24 *jcowan* tacet. 19:35:31 arcfide, you wouldn't call it wrong because you use it, presumably; but that doesn't make it any less wrong! 19:35:33 Riastradh: coding style is often wrong, but that's fine, if it leads to more readable source code 19:35:54 you may view the arguments of a function call as some kind of environment 19:36:04 so it may be intuitive to some people 19:36:31 There is one general indentation style in Lisp. There are some exceptions to this, but the general rule is what I described, and the exceptions are just that -- exceptions, for a few particular cases. 19:37:15 -!- foof [n=user@FLH1Adk087.osk.mesh.ad.jp] has quit [Read error: 110 (Connection timed out)] 19:37:16 however, i like the 'function and first argument on the same line'-style 19:37:28 In thinking about Flopsy, I have realized that although I need only a few ordinary polymorphic procedures in the languag, SRFI-43 has a bunch of procedures that are variadic (they take 1 or more vectors) and also pass a procedure, which is polymorphic (the number of arrows = the number of actual arguments). 19:37:31 Riastradh: The other style is criticized in places where I code for causing to great a rightword creep for readability. 19:37:46 Of course, they use the standard Lisp style indentation when it doesn't cause too much creep. 19:37:59 I thought the rule was, Whatever Emacs does is right. 19:38:07 mm_freak: That is the normal style and usually recommended. 19:38:08 You can always break the line between the operator and the first operand, arcfide. 19:38:17 Riastradh: That's what I said above. 19:38:25 jcowan, almost: I disagree with Emacs on one general rule that it applies, which is 19:38:28 ((foo) (bar) 19:38:28 (baz)) 19:38:32 Edwin gives 19:38:33 ((foo) (bar) 19:38:41 (baz)) 19:38:59 jcowan: The emacs that I used had three different indentation styles for Scheme. 19:39:15 which is better, if (bar) must be on the same line as (foo). 19:39:15 Sorry, with GNU Emacs, I meant. 19:39:15 Edwin, of course, is an Emacs too. 19:39:48 Riastradh: Obviously, if the first argument is on the same line as the procedure/operator, then you'd better have a good reason to only indent two spaces for the rest of the arguments on other lines. 19:39:58 I can handle thse polymorphic variadic procedures when called directly, providing I set an upper bound on the number of vectors that can be passed. But I'm flummoxed as to how to handle them in indirect (funarg-style) calls. 19:40:11 Riastradh: That's not what I am suggesting. 19:40:40 What is Flopsy? 19:41:52 Why are you basing any design on SRFI 43? It's a useless mess. 19:42:48 arcfide: A NQScheme compiler I am writing for floating point manipulation. 19:42:55 Riastradh: Because I don't know of a better vector library. 19:43:06 Try APL, maybe. 19:43:24 (What, did you write it during a brain fart?) 19:43:26 Can you be more specific about what you need from a vector library? 19:43:37 (Yes, a very serious one.) 19:43:38 jcowan: NQScheme? 19:43:43 "Not Quite Scheme" 19:44:05 (You need only see the specification of VECTOR-BINARY-SEARCH to see just how...infumed my brain was at the time.) 19:44:11 jcowan: Is your aim to do floating point work or to write a compiler? 19:44:12 only four datatypes (boolean, inexact number, procedure, string), only downward funargs, no call/cc. The usual. 19:44:20 arcfide: To write a compiler for others to use. 19:44:46 A compiler that will be easier to use than Stalin, specifically. 19:44:49 Um...so, I wouldn't be able to use this code, in say, Chez? 19:44:57 I see. 19:45:08 So, you don't want to just attach this to an existing Scheme? 19:45:16 You'd be able to use it with the Chez FFI. 19:45:28 Hahaha. 19:45:47 jcowan: Also, do you really think that it's impossible to get a unified module system, Mr. Harvey aside? 19:46:16 Unfortunately, Mr. Harvey does not stand quite alone; there is Mr. Bear, and Mr. -timesuck, and .... 19:46:45 jcowan: All very loud voices, but not ones I have traditionally associated with authority in the Scheme community. Am I wrong? 19:46:50 *arcfide* chuckles. 19:46:56 I like the way you say `authority'. 19:47:15 Auctoritas in Senatu sed potestas in populo. 19:47:28 (usually put the other way about) 19:47:38 We have a Senate, but it's not clear who the People of Scheme are. 19:47:59 The People are elected by the Senate, no? 19:48:25 Yes. <-- insert reference to Brecht poem here 19:48:50 Or rather no. The WG members are selected by the Senate, but the People still have to make the welkin ring with their cries. 19:49:01 jcowan: I'm not happy with this apparent mob-rule attitude coming from the list. They seem to think that implementors and all the rest should just go dive into a closet while they rewrite Scheme the way they see fit. 19:49:07 *jcowan* goes to look up the declension of "schema" 19:49:25 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 19:49:43 Open-enrollment mailing lists *are* mobs. If they don't always behave mobbishly, it's because someone is working to keep peace, order, and good government. 19:49:48 s/keep/maintain 19:50:19 jcowan: Well, so much for that. I just hope that all the loud clammering does not affect the good judgment of those drafting the next standards. 19:50:48 Well, at least they will know who their sworn enemies are, which can't be a bad thing. 19:51:00 C'est vrais. 19:51:12 mbishop_ [n=martin@unaffiliated/mbishop] has joined #scheme 19:51:26 And that 90% is a very high bar, so it pays to be quite cautious. 19:51:32 -!- mbishop [n=martin@unaffiliated/mbishop] has quit [Read error: 113 (No route to host)] 19:51:39 I have been cautious, I think, and where I haven't been cautious, I have retreated. 19:52:51 But on a module system, caution will not serve, for the cautious approach is to have none, and that will not fly. 19:53:46 jcowan: Well, the bottom line is that the loudest voices on the list argue against any of the proposed improvements to Scheme from almost all the implementors and users of Scheme in the past who knows how many years. If they are more than 10%, I'll be very sad. 19:54:07 *jcowan* too. 19:55:31 Actually, I am the loudest, or at least the most prolific, voice on the list. I hope I am not the most strident voice, though I grow weary of answering certain persons whose ignorance appears to be invincible. 19:57:14 jcowan: Don't give up! I think you're doing a great job in focusing the effort to gather consensus 19:57:35 Thanks, sjamaan, and I shall not give up. 19:57:40 Good! :) 19:57:44 But I will continue to engage in tactical retreats. 19:58:02 Losing some battles is a Good Thing: it keeps me honest, and it lets other people feel they are doing something useful. 19:58:11 I think the fact you're willing to retreat is good 19:58:20 It should not be one man's voice 19:58:43 But at least you're daring to stake out parts to discuss 19:58:51 Yes. 19:59:27 jcowan: I don't suppose you've had time to look over my counter-proposal? 20:00:02 attila_lendvai [n=ati@catv-89-134-66-153.catv.broadband.hu] has joined #scheme 20:00:38 I made two updates based on the feedback of Derick Eddington (sp?). 20:01:14 arcfide: I was wondering about import-only. The one sentence in your piece doesn't explain very well what it does, IMHO 20:01:34 leppie [n=lolcow@196-210-146-156-tvwt-esr-2.dynamic.isadsl.co.za] has joined #scheme 20:02:01 sjamaan: In a syntactic module, the import form doesn't define the only set of definitions in the module, but it only defines new definition, possibly shadowing bindings in the scope above it. 20:02:31 arcfide: Can you give an example? 20:02:44 sjamaan: In other words, (module (x) (import (only (lib) x)) (module (y) (define y x))) still works. 20:03:29 sjamaan: So, you can't clearly say, with IMPORT, that only x, y, and z are visible in the module. You can say that at least X, Y, and Z are visible, plus anything already in scope. 20:03:55 IMPORT-ONLY goes further by declaring that the only things visible in this scope are those imported by the IMPORT-ONLY form. 20:03:56 The latest outrage is Mr. Bear's desire to abolish macros, which he considers too semantically convoluted, in favor of ... FEXPRs. 20:04:26 Does that mean that inside an IMPORT-ONLY scope, no new names can be defined? 20:04:46 arcfide: So it's about module definitions inside other module definitions? 20:05:09 I'm also finding the contravariance between WG1 and WG2 hard to defend against the radical flexibilists. 20:05:36 jcowan: If the IMPORT-ONLY form make visible definition constructs like DEFINE or IMPORT, then you can define new names. 20:05:43 *jcowan* nods. 20:05:44 It's more like a "clean scope" kind of thing. 20:05:56 -!- schmir [n=schmir@mail.brainbot.com] has quit [Remote closed the connection] 20:06:12 I would assume that in a library only "import" is visible by default (though some people don't like that) and it's up to you to "(import scheme)" or the like. 20:06:18 sjamaan: Not exactly, but that's how it is commonly used. You can use it in a LET for example, to clean things out and get errors when writing syntax, &c. 20:06:37 jcowan: Inside a library, whatever was visible outside the library form is visible inside it. 20:06:43 arcfide: What if I use an import line followed by an import-only line? 20:07:04 Isn't import-only actually (begin (clean-slate!) (import ...)) ? 20:07:26 A distinction without a difference. 20:07:28 Just curious: are you folks trying to design a new language, or are you trying to make it more practical to use more different Scheme systems to run common programs? 20:07:59 Hopefully as little of the former and as much of the latter as possible. 20:08:15 Riastradh: Some people on the list seem to be trying to do the former 20:09:15 sjamaan: In Chez Scheme, if you import before an import only, that definition isn't going to stick around. I am not tied to that behavior, but I think if we change it, there should be an existing implementation on which to base the move. 20:09:48 arcfide: import-only seems a bit arbitrary. It's not so much about importing only those things, it's about clearing what came before 20:10:02 sjamaan: You mean the name? 20:10:04 (import-only foo) (import bar) would be the same as (import-only bar) (import foo), wouldn't it? 20:10:18 Yes, I believe so. 20:10:18 yes, the name is weird, but also the meaning 20:10:40 import-only seems to indicate there's something "special" about the thing you're importing, or how it's treated 20:10:43 How would you rather express it? 20:11:05 I'd separate the cleaning of the slate from the importing of new modules 20:11:18 It's clearer what's happening 20:11:23 So if this is an attempt to make it more practical to use more Scheme systems to run common code, why is there even talk about a Chez-style module system? That's not remotely how most Scheme systems work, or how they can even be made to work without altering their internals. 20:11:26 -!- indraastra [n=indraast@guest.freebase.com] has quit [Read error: 110 (Connection timed out)] 20:11:47 Is there, in fact, a majority view other than R6RS? 20:11:58 s/majority/plurality 20:12:20 jcowan: Chicken has *very basic* support for s48-modules 20:12:21 indraastra [n=indraast@nat10.metaweb.com] has joined #scheme 20:12:21 Most Scheme systems at least have a concept of compiling and loading programs in partitioned environments and linking names between the environments. 20:12:33 If that's what you mean by plurality 20:12:40 (but it's not built-in) 20:13:01 "Plurality" = "more systems are like X than are like any other idea" 20:13:08 Also, what does snow! provide? That ought to be portable to other schemes 20:13:27 Riastradh: My argument is that making some semantic modifications to R6RS libraries (derived from Chez's module system) is sufficient to enable the portable definition of library description languages that can be used to describe code the way you desire, while at the same time satisfying the needs of syntactic modules, thus eliminating the need to have two different module systems, and, in my opinion, simplifying the standard. 20:13:30 It is straightforward to make just about any reasonable Scheme system choke down a subset of Scheme48's module system. In fact, that's how Scheme48 was bootstrapped! 20:13:31 eh, so you do mean majority? 20:14:08 Riastradh: I rather like the scheme48 module system, but I'm not sure how many others would be in favor of something like that 20:14:11 arcfide, so why are we discussing the mechanism by which you can implement library description languages, and not the library description languages themselves? 20:14:12 No. If 40% of systems use A, 30% use B, and 30% use C, A has a plurality but not a majority. 20:14:40 ah, right 20:14:54 But there can be only one system with plurality (unless it's a tie) 20:15:16 sjamaan, what matters is not whether someone `likes' (a subset of) Scheme48's module system or not. What I care about is what can practically be made to work with least effort and greatest effects. 20:15:19 Riastradh: Because I think it is useful to allow the two to work together, and make it less necessary to have multiple module systems in an implementation. 20:16:27 Riastradh: True. I think arcfide already argued convincingly that you can make systems like s48's work with a system like Chez or R6RS 20:16:28 You can't implement the syntactic module in terms of a library description language, but you can go the other way. 20:16:32 Hacking up the R6RS's syntax system to make Chez-style modules is most emphatically NOT going to yield a module system that is useful for making code readily run on many different Scheme systems. 20:16:32 yes 20:16:40 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 20:17:37 arcfide, yes, and your reasoning is thus backwards. If Chez is nice and flexible, then you'll have no trouble easily implementing a library description language in terms of its module system. That works great for Chez, but inflicting Chez's module system on other Scheme systems is a non-starter. 20:17:51 hm, that's an interesting point 20:18:14 Exactly because it would be easy to implement, it would be wise to standardize that rather than the other 20:18:38 Riastradh: You're basically saying that we shouldn't have any way of doing syntactic modules in a standard. 20:18:43 Yes. 20:19:18 And I think that makes syntactic module systems fairly useless if you want to write code with them that is portable. 20:20:19 Yes. So you can't write portable code using Chez's module systems, any more than you can write portable code using PLT Scheme's Typed Scheme, or this or that feature peculiar to MIT Scheme, or whatnot. 20:20:35 arcfide: I think the argument is similar to the case for low-level macros 20:20:41 s/Chez's module systems/Chez's module system/1 (singular) 20:20:56 You can implement syntax-rules in other macro systems but not the other way around 20:21:05 Still, syntax-rules got standardized 20:24:02 gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 20:24:13 gnomon, we need some duct-taped paper bags, stat. 20:24:54 -!- mm_freak [n=milch@2a01:198:2d4:0:dead:affe:dead:affe] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- jao [n=jao@2.Red-83-42-211.dynamicIP.rima-tde.net] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- pfo [n=pfo@chello084114049188.14.vie.surfer.at] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- charleyb_ [n=charleyb@c-67-162-157-218.hsd1.co.comcast.net] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- erg [n=erg@li13-154.members.linode.com] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- clog [n=nef@bespin.org] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- tabe`` [n=user@adel.fixedpoint.jp] has quit [verne.freenode.net irc.freenode.net] 20:24:54 -!- klutometis [i=klutomet@pdpc/supporter/active/klutometis] has quit [verne.freenode.net irc.freenode.net] 20:24:54 *gnomon* inflates a dozen paper bags and baps them all over the place 20:24:54 Why the duct tape? 20:25:10 I'll leave that part to your imagination, but the rest is for my imagination. 20:25:28 (Smuggler's cut, &c.) 20:26:02 Riastradh: So you're arguing for a less general system, which will not be backwards compatible with R6RS, enforcing a single syntax on all systems, rather than allowing for a module system that makes it possible to define the syntaxes the programmer desires, that would still satisfy your requirements? 20:27:18 Less general? Yes, because I want it to work on more systems than just Chez. I don't care about backwards compatibility with the R6RS. I do think a single notation for describing libraries is important for ease of writing portable code -- but it is not exclusive with existing Schemes' module systems! 20:28:07 With the one system, systems can only understand each other if the same high-level description language is used. In the other, so long as systems understand the underlying module system, they can readily use any description languages the users define, and they will all be able to understand each other. 20:28:16 s/one system/syntax 20:29:10 If a single notation for describing libraries is that important, then users will eventually fall on the right one to use or at least, a happy middle, but this way they have the choice of what to use. 20:32:00 What is this, libertarian Scheme and workers' choice? I have a fairly simple idea: if you write some reasonably portable Scheme code, you should be able to put down a concise description of it so that various Scheme systems can look at it and know what to do with it, and so that their users can use your code. And a constraint: no serious changes to the ways that most Scheme systems presently work. 20:33:59 Introducing Chez's module system fails that idea and totally violates that constraint. 20:34:48 tabe`` [n=user@adel.fixedpoint.jp] has joined #scheme 20:34:48 klutometis [i=klutomet@pdpc/supporter/active/klutometis] has joined #scheme 20:34:48 hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has joined #scheme 20:34:48 clog [n=nef@bespin.org] has joined #scheme 20:34:48 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 20:34:48 offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has joined #scheme 20:34:48 erg [n=erg@li13-154.members.linode.com] has joined #scheme 20:34:48 charleyb_ [n=charleyb@c-67-162-157-218.hsd1.co.comcast.net] has joined #scheme 20:34:48 pfo [n=pfo@chello084114049188.14.vie.surfer.at] has joined #scheme 20:34:48 jao [n=jao@2.Red-83-42-211.dynamicIP.rima-tde.net] has joined #scheme 20:34:48 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 20:34:48 mm_freak [n=milch@2a01:198:2d4:0:dead:affe:dead:affe] has joined #scheme 20:34:48 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 20:35:13 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit [Remote closed the connection] 20:35:48 `I make no arguments about how they should map to files, since this should be up to the implementation.' Quite frankly, that's ridiculous. If I write some code in some files, and I want to make those files useful to various Scheme systems without saying `the code is in these files' in their various different languages, I need a standard language for saying that! 20:36:20 -!- seanstickle [n=seanstic@c-68-33-221-168.hsd1.dc.comcast.net] has quit [] 20:36:22 heh 20:36:54 ve [n=a@94-193-95-252.zone7.bethere.co.uk] has joined #scheme 20:37:02 Riastradh: So you would be happy with forcing a given mapping between R6RS library names and file paths? 20:37:12 Riastradh: He was probably talking about "library code" rather than files within one program/library 20:37:22 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Read error: 113 (No route to host)] 20:37:23 Particular systems may support fancy databases of code, or compact representations of S-expressions or whatnot; that's fine, and I encourage experimentation with such ideas, but that doesn't make it any less important to have a standard way to tell a Scheme system where to find the code to a module. 20:37:41 arcfide, no, I'm not happy with that either. 20:38:03 Riastradh: As for where to find the code, the INCLUDE form would work fine there, and I believe that is close enough to suffice. 20:38:09 I do mention that in there. 20:38:19 Who cares that one Scheme stores its stuff in /usr/share and the other in /usr/lib? 20:38:22 Here's how I tell Scheme48 that the code for the FOO module is in foo.scm: (define-structure foo ... (files "foo.scm")) 20:38:23 I knew modules would be the most contentious, that's why I left them for last. 20:38:25 What I don't want to say is that a given module name must map to some given file name. 20:38:49 The code might not be in files at all. 20:38:54 Okay, that's fine, you could still do this. 20:38:56 OK, arcfide. 20:40:03 Riastradh: So, given your estimation that SRFI 43 is badly designed, do you see your way to giving me a useful answer to the questions "How many?" and "What about funcalls?" in a monomorphic context? 20:40:16 jcowan, sorry, I'm missing some context now. Can you be more specific? 20:40:18 There is certainly precedent for polymorphic-variadic functions, I'm not objecting to them on those grounds. 20:40:28 You know what I mean by polymorphic-variadic? 20:40:43 "map" is an example: the type of the mapping function depends on the number of arguments. 20:40:44 I don't know what problem you are encountering to which you see no solution. 20:41:24 Naive translation to C can handle any bounded number of arguments, but not unboundedly many, is the first problem. 20:41:29 And you want a type system that can express the type of MAP in that way? 20:41:47 I want to constrain MAP so that it is, as nearly as possible, monomorphic. 20:41:54 For example, it is monomorphic if we only allow one list. 20:42:08 I disagree that the only thing that a module system should do is serve as a description language, and I disagree that a description language is all we should have in the standard. If the suggested module system differs greatly from R6RS, then you're violating your own constraint of compatibility, which I'm not entirely convinced on at all. I look at this as similar to arguing whether we need CWCC since we have Exceptions or wha 20:42:08 enabled). 20:42:21 "wh...enabled" 20:42:23 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 20:42:37 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 20:42:42 what not (fuzz factor enabled). 20:42:45 (Exceptions and CWCC are pretty much unrelated. Please don't confound them, or confound something else by analogy with them.) 20:42:58 (It is still polymorphic in that the list can contain objects of any type, but I'm okay with that.) 20:43:46 My constraint of `compatibility' (which is not, I believe, the word I used) is that a portable module description language should not require seriously changing the way existing Scheme systems work. 20:43:56 Introducing Chez's module system requires that. 20:44:13 I don't know that you can even cast C functions from one (arrow) type to another, but certainly you cannot cast a variadic function to one with fixed arity. 20:45:00 I knew the way Scheme handles variadic functions would bite me in the ass one day. 20:45:10 jcowan, you can cast pointers to functions from any function pointer type you want to any other function pointer type, provided that when you actually apply the thing, you have cast it back to its definition type. 20:45:50 jcowan, but anyway, if you want something static like this, just throw out VECTOR-MAP and whatnot; use foof-loop or similar instead. 20:45:52 Are you sure that applies to variadic function types? 20:47:11 I am reasonably sure. I am looking it up now. 20:48:40 C99, Section 6.3 `Conversions', Subsection 6.3.2.3 `Pointers', paragraph 8, p. 41: `A pointer to a function of one type may be converted to a pointer to a function of another type and back again; the result shall compare equal to the original pointer. If a converted pointer is used to call a function whose type is not compatible with the pointed-to type, the behaviour is undefined.' 20:49:01 That applies to all function types. 20:49:21 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 20:50:19 Now, constructing the application of the mapped function at run-time will be tricky. 20:50:37 But you could map all Scheme procedures to variadic functions. 20:50:42 (all NQScheme procedures, rather) 20:52:16 That's true. I hadn't thought of that. It would certainly make them a pain in the ass to code. 20:52:18 -!- indraastra [n=indraast@nat10.metaweb.com] has quit [Read error: 104 (Connection reset by peer)] 20:52:20 indraastra1 [n=indraast@nat10.metaweb.com] has joined #scheme 20:52:24 By hand, sure. 20:52:45 -!- patmaddox [n=patmaddo@ip68-111-70-47.oc.oc.cox.net] has quit [Remote closed the connection] 20:53:26 Actually, no, that doesn't help. 20:54:31 Well, maybe it does. 20:54:32 Yes, it does, but it's more trouble than you want to go to. 20:55:23 You'd have to allocate an array to hold the arguments and realloc() it as you go so that the rest of the code can randomly access the procedure. 20:55:38 That's not so bad, because the array is lexically scoped. 20:57:11 If only function pointers weren't so opaque. 20:58:18 Grrh. No. It doesn't work. There is no way to apply arguments whose number is known only at run time to a function, even a variadic function, because there is no funcall. 20:58:26 in C, that is 21:03:02 (There is no APPLY, you mean.) 21:03:15 Yes. 21:03:43 So there is no escaping having a hard limit on the number of vectors. 21:03:59 Again, holding your nose, do you have any idea where to plausibly set this limit? 21:04:01 Yes, there is, but it's just not convenient. 21:04:07 How so? 21:04:28 Give every procedure an entry point that takes a vector (or list, or whatever) of arguments. 21:05:01 *jcowan* nods. 21:05:03 This doesn't work for arbitrary C functions, but at most you need to wrap arbitrary C functions in Scheme procedures. 21:05:08 That solves the problem of calling unknown functions. 21:05:20 Quite so. 21:06:14 And one could have a plausible number of non-variadic entry points as well, using stack-allocated vectors, which the compiler knows about and compiles direct calls into. 21:06:48 s/in Scheme procedures/in simulated Scheme procedures/ for the math.h functions. 21:07:53 That way we can heave variadic functions overboard; it even becomes possible to compile Scheme variadic functions, provided they are well typed. 21:08:04 You can just use the variadic entry point for unknown calls and the known arity entry point for known calls 21:08:04 . 21:08:06 Yes. 21:08:12 ...and the vector entry point for APPLY. 21:08:24 There is no point in APPLY, unless it is VECTOR-APPLY. 21:08:55 Well, whatever you call the operation that applies a procedure to an object representing a sequence of arguments. 21:09:08 (of statically unknown number) 21:09:23 Right. But there is no way to expose that to the ouch dammit. 21:09:42 *Riastradh* blinks. 21:09:44 If I don't allow people to write Scheme-style variadic functions, I have no need for APPLY. 21:09:47 -!- optimizer [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 21:09:53 -!- indraastra1 [n=indraast@nat10.metaweb.com] has left #scheme 21:09:53 OK. 21:10:20 Currently, all vectors are vectors of doubles, and although I'd need vectors of vectors of doubles to make this work, they could be hidden. 21:11:36 So by "unknown call" you mean "call to an unknown function with known number of arguments" i.e. funcall? 21:11:46 Yes. 21:12:36 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:12:45 So since VECTOR-APPLY is not exposed at the top level, we only need a variadic and some plausible number of non-variadic entries. 21:13:25 Why not one non-variadic entry, which is used only for known calls? 21:13:57 How can that be? A known call might be (vector-map fn vec) or (vector-map fn vec vec) or ... 21:14:40 In that case, you use the known entry point to call VECTOR-MAP, which uses the vector entry point of FN. 21:14:48 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 21:14:50 (or you open-code VECTOR-MAP in the first place) 21:15:05 Quite so, but even open-coded stuff has to have a closed representation, so I need to solve the general case. 21:15:24 The polymorphism of EQ?/EQV? and EQUAL? is even more annoying. 21:15:50 (The polymorphism of NUMBER? PROCEDURE? BOOLEAN? STRING? is resolved at compile time, at the expense of making these not functions.) 21:16:05 If you add special cases to VECTOR-MAP for particular numbers of vectors, then it will use the variadic entry point of FN with an extra argument for the number of arguments. 21:16:20 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 21:16:31 FN can then check whether that is the right number of arguments, and fetch them off the va_list if so. 21:16:47 -!- mbishop_ is now known as mbishop 21:16:48 The point of special cases is to bypass the variadic machinery. 21:17:11 Well, if you really want that, then you can add more entry points for fixed arities, some of which signal errors and some of which don't. 21:17:21 You've lost me. 21:17:44 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 21:17:45 In any case, every variadic function has to have some private means of knowing how many arguments it has. 21:17:56 The general machinery does not expose that. 21:18:31 -!- leppie [n=lolcow@196-210-146-156-tvwt-esr-2.dynamic.isadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 21:18:59 (null argument for execv, number of %-entities for printf, etc.) 21:19:34 struct procedure_code { double (*nullary_entry) (void); double (*unary_entry) (double); /* &c. */ double (*general_entry) (int, ...); double (*vector_entry) (int, double *); }; 21:20:42 struct procedure_code foo_code = { .nullary_entry = &nullary_error, .unary_entry = &foo_body, /* ... */ .general_entry = &foo_general_entry, .vector_entry = &foo_vector_entry }; 21:21:09 *jcowan* nods. 21:21:47 The problem arises because the vector functions use APPLY under the covers, so every function must have an apply-friendly entry point. 21:21:49 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 21:25:22 leppie [n=lolcow@196-210-146-156-tvwt-esr-2.dynamic.isadsl.co.za] has joined #scheme 21:25:40 -!- mrsolo [n=mrsolo@nat/yahoo/x-juwoizflsnlszuko] has quit ["Leaving"] 21:27:42 seamus_android [n=alistair@212.183.134.130] has joined #scheme 21:28:29 Bah. 21:28:31 *jcowan* must rethink. 21:28:34 nothingHappens [n=nothingH@173-25-176-111.client.mchsi.com] has joined #scheme 21:28:37 Thanks for your help, Riastradh. 21:29:44 -!- choas [n=lars@91.13.203.233] has quit ["leaving"] 21:29:56 -!- albacker [n=eni@unaffiliated/enyx] has quit ["Leaving"] 21:38:30 -!- gribozavr [n=grib@2001:470:d4b6:1:215:f2ff:fe65:2d39] has quit [Read error: 110 (Connection timed out)] 21:38:30 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 131 (Connection reset by peer)] 21:39:12 saccade [n=saccade@65-116-131-218.dia.static.qwest.net] has joined #scheme 21:41:24 -!- arcfide [n=arcfide@adsl-99-14-211-93.dsl.bltnin.sbcglobal.net] has quit [verne.freenode.net irc.freenode.net] 21:41:24 -!- joast [n=rick@76.178.178.72] has quit [verne.freenode.net irc.freenode.net] 21:41:52 joast [n=rick@76.178.178.72] has joined #scheme 21:45:15 arcfide [n=arcfide@adsl-99-14-211-93.dsl.bltnin.sbcglobal.net] has joined #scheme 21:48:36 -!- leppie [n=lolcow@196-210-146-156-tvwt-esr-2.dynamic.isadsl.co.za] has quit [Remote closed the connection] 21:52:32 /whois seamus_android 21:52:49 evidently Alistair Wibberley 21:52:57 the question is why you are asking :P 21:52:58 yep 21:53:02 at your service 21:53:33 leppie [n=lolcow@196-210-146-156-tvwt-esr-2.dynamic.isadsl.co.za] has joined #scheme 21:55:30 Wrong window. Trying new IRC client and confusing myself 21:55:37 Long time since Ive used one 21:55:59 But I wanted to find people to talk to about scheme 21:56:19 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 21:57:26 try your local library 21:57:47 heh :P 21:57:48 you may have to restrain them with duct tape or they will escape 21:58:18 I have already tried to explain lambda calculus to someone at a party with poor results 21:58:38 you must be going to the wrong parties 21:58:54 phoenixi [n=tuomosa@a85-156-197-4.elisa-laajakaista.fi] has joined #scheme 21:59:05 Always :( 21:59:15 -!- attila_lendvai [n=ati@catv-89-134-66-153.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 21:59:20 even people interested in learning lambda calculus fall asleep during explanations. how can you expect a party to be any different 21:59:35 fair enough, I suppose 21:59:43 I have gotten a guy into bed with lambda calculus previously :) 21:59:56 It DOES work! I knew it! 21:59:59 wow TMI 22:00:05 that is totally not TMI :P 22:00:19 Elly: Very cool. And did he and the calculus get it on? 22:00:36 jcowan: evidently I am more interesting than lambda calculus, at least some of the time :) 22:01:15 *jcowan* chuckles. 22:01:30 I was deliberately misreading "with" as "at the same time as" rather than "using". 22:01:40 I noticed! :P 22:02:24 I was looking for somewhere to ask a few questions on scheme, but I have evidently stumbled into a den of vice and debauchery. 22:02:33 that's what the internet is all about 22:02:43 Ask away. Dens of vice are as good a place as any to discuss nefarious schemes. 22:02:52 seamus_android, that is so very quotable 22:02:52 and also guile! 22:04:30 "Mos Eisley spaceport. You will never see a more wretched hive of scum and villainy --unless you watch the Jerry Springer Show." --georgettesworld.com 22:06:05 Actually, this is a den of vice and miami 22:07:36 I can't quite figure out the difference between eqv? and eq?. 22:07:53 R6RS standard doesn't seem to help me, 22:08:05 and most texts just seem to use on or the other without explanation 22:09:14 eq? and eqv? differ on their treatment of characters, numbers and booleans, IIRC 22:09:35 seamus_android: r5rs document explains it 22:10:37 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:11:25 That's what R6RS basically says, but it doesn't give much of guide on the meaning of them as predicates. 22:11:44 Is it just that in general whether something is eq? can be time consuming 22:12:09 So there is a more efficient but less discriminating version in eqv? 22:12:17 exactly the opposite 22:12:47 In fact the "rational" in the eq? section of r5rs explains it 22:12:51 r5rs eq? 22:12:52 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_216 22:12:54 -rudybot:#scheme- http://tinyurl.com/6hr3jb 22:13:01 *rationale -- sorry. That's a little different. 22:13:28 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 22:14:20 hmm 22:14:23 rudybot: init me 22:14:23 zbigniew: error: me: standard-module-name-resolver: collection not found: "me" in any of: (#) in: me 22:14:28 rudybot: init 22:14:28 zbigniew: error: me: standard-module-name-resolver: collection not found: "me" in any of: (#) in: me 22:15:45 rudybot: eval (eq? 1234567890123456789012345678 1234567890123456789012345678) 22:15:45 zbigniew: error: me: standard-module-name-resolver: collection not found: "me" in any of: (#) in: me 22:16:03 ok, i fucked up my rudybot repl 22:16:36 incubot: (+ 12345678901234567890 1) 22:16:36 1.23456789012346e+19 22:16:47 Fufie [n=innocent@80.203.225.86] has joined #scheme 22:18:13 peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has joined #scheme 22:18:18 -!- hotblack23 [n=jh@p5B055C4E.dip.t-dialin.net] has quit ["Leaving."] 22:18:37 seamus_android: well, i can't demonstrate here because rudybot is being a little git, but if you try e.g. at the mzscheme repl 22:19:01 > (eq? 123456789012345678901234567890 123456789012345678901234567890) 22:19:01 jrtayloriv [n=jrt4@cpe-69-205-162-163.stny.res.rr.com] has joined #scheme 22:19:01 #f 22:19:06 > (eqv? 123456789012345678901234567890 123456789012345678901234567890) 22:19:06 #t 22:19:11 > (eq? 123456789 123456789) 22:19:12 #t 22:19:35 puzzle that out a bit and then get back to me 22:27:37 -!- rdd [n=user@c83-250-145-223.bredband.comhem.se] has quit [Remote closed the connection] 22:28:23 Okay, so (eqv? n n) must eval to #t because the two number are both numerically identical and have the same exactness 22:30:03 But (eq? n n) is not required to be able to identify two numbers as equivalent, because its not necessarily a simple action depending on the implementation of the numbers 22:31:08 So in the first case, they are eqv? but not eq? because mzscheme has used a complex multi-byte representation, and the comparison would be time consuming 22:31:39 but in the second case they re eq? because its a quick one-instruction comparison for a simple integer 22:31:43 Is that it? 22:32:20 precisely 22:34:42 i don't know how mzscheme represents bignums internally, but most likely, it allocates a new data structure per bignum and the eq? is being performed on the pointers to this structure 22:35:55 -!- Nshag [i=user@Mix-Orleans-106-1-143.w193-248.abo.wanadoo.fr] has quit [Remote closed the connection] 22:36:20 So is the meaning of eq? that 'the two objects are eq? if they refer to the 'same' object, while eqv? means that they have the same value, but might not be the same actual thing? 22:36:23 iirc sisc allocates a new java.lang.Integer for every number, so eq? won't work there at all (sarahbot has passed on, unfortunately) 22:37:03 (command-line #:multi (("-x" "--xflag") () "The x flag" (display "Got -x\n")) #:args () #t) 22:37:13 i'd expect i'd need to quote the flag specification 22:37:25 like '(("-x" "--xflag")  22:37:38 but it works without quoting, i'm confused 22:38:00 seamus_android: for eq?, semantically, in general, yes. though its actual behavior is indicated by r5rs etc. 22:38:34 seamus_android: for eqv?, yes, but keep in mind "value" does not extend to all comparable objects, such as strings 22:38:52 mm_freak: it's a macro. 22:38:55 It's the semantics I'm to work out so that I can think about it properly. 22:39:06 eli: oh, ok, thanks 22:39:27 i wonder why it's a macro 22:39:29 seamus_android: you can guess a lot about your system internals by comparing eq? eqv? and equal? on various objects in the "unspecified" case 22:40:17 it's a fun way to while away a sunday afternoon while watching football 22:40:24 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit [] 22:41:16 I'm just trying it on ypsilon now... yep, same is in mzscheme. But an implementation could decide that two numbers are both = and eq? if they wanted two, even if a bignum? Rightyh0, think I've got this now 22:41:25 thank you 22:42:24 two? rightyh0? you do have numbers on the brain ;) 22:42:55 They leak out from time to time. 22:43:09 mm_freak: There's a number of reasons for that. It would be much less convenient if it wasn't a macro. 22:44:52 Curious: Different uses of letrec vs. the "rec S expr" form from SRFI 31 ?? 22:52:29 dmoerner [n=dmr@134.173.91.168] has joined #scheme 22:53:19 eli: i understand 22:57:35 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 148 (No route to host)] 22:58:54 Me thinks I like SRFI 31 and the `rec' special form better when possible. Broader applications. 23:00:17 peter_12_ [n=peter_12@S01060024016bb36c.gv.shawcable.net] has joined #scheme 23:00:35 Summermute, I'm a big fan of REC as well. 23:01:36 -!- peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has quit [Read error: 104 (Connection reset by peer)] 23:02:13 Now I'm peeking at SRFI 26. I love the idea (shorter lambda's made from expressions), but it uses <> as the argument wildcard, a symbol used in several algolish languages for /= or != (not-equal?). Why not just use ML and Haskell's '_' underscore wildcard????? 23:02:40 -!- arcfide [n=arcfide@adsl-99-14-211-93.dsl.bltnin.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 23:02:52 gnomon: rec is cool because it can be used to create cyclical data structures as well as recursive functions. Super cool. 23:03:18 Oh, and also lazy data structures - stream like - even cooler :-) 23:04:39 BTW - Is there a good online tutorial/book on programming with lazy constructs in Scheme, using whatever various mechanism is used to define lazy lists (streams) and other data structures? 23:15:44 What _ means in ML and Haskell is totally different from what <> means in SRFI 26. 23:17:18 Well yes, it's a wild card pattern variable. Maybe I'm confusing with Scala syntax? val foo = (1 + _) ??? If so, my mistake. 23:17:23 zanes [n=zane@c-76-24-24-236.hsd1.ma.comcast.net] has joined #scheme 23:18:11 But back to my q: Any good tutorias/surveys on lazy programming with Scheme? 23:20:09 What would be perfect is a scheme version (source for examples) of Okasaki's "Purely Functional Data Structures" - but i'll take what I can get 23:23:12 gribozavr [n=grib@2001:470:d4b6:1:215:f2ff:fe65:2d39] has joined #scheme 23:23:48 -!- phoenixi [n=tuomosa@a85-156-197-4.elisa-laajakaista.fi] has quit [] 23:23:48 Seems we have at least Ocaml (ez) and Oz/Mozart translations of this book - no Scheme? 23:24:12 Go write it. 23:27:15 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 23:28:30 RageOfThou [n=RageOfTh@users-38-184.vinet.ba] has joined #scheme 23:29:01 -!- saccade [n=saccade@65-116-131-218.dia.static.qwest.net] has quit [Read error: 110 (Connection timed out)] 23:32:42 -!- masm [n=masm@bl9-113-206.dsl.telepac.pt] has quit ["Leaving."] 23:33:01 -!- hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 23:34:07 -!- MrFahrenheit [n=RageOfTh@users-42-152.vinet.ba] has quit [Read error: 60 (Operation timed out)] 23:34:48 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 60 (Operation timed out)] 23:35:41 arcfide [n=arcfide@adsl-99-57-2-12.dsl.bltnin.sbcglobal.net] has joined #scheme 23:43:17 jonrafkind [n=jon@eng-5-144.hotspot.utah.edu] has joined #scheme 23:43:37 jyujin__ [n=mdeining@vs166245.vserver.de] has joined #scheme 23:45:07 -!- jyujin [n=mdeining@vs166245.vserver.de] has quit [Read error: 104 (Connection reset by peer)] 23:45:34 optimizer [n=x@unaffiliated/lowlycoder] has joined #scheme 23:46:00 Ouch - i'm always assigned relatively large mountains to climb -) 23:47:31 -!- bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 23:48:05 IIRC - he starts with a standard SML and adds a simple $ operators that greadily eats the following expression and makes it lazy. I guess introducing a equivalent scheme operator wouldn't be rocket science. Then the hard part begins :-) 23:48:07 metasyntax` [n=metasynt@pool-71-127-125-129.aubnin.fios.verizon.net] has joined #scheme 23:49:08 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 23:58:48 neilv2 [n=nvandyke@fpos-xp.csail.mit.edu] has joined #scheme