00:00:44 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 104 (Connection reset by peer)] 00:00:44 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 104 (Connection reset by peer)] 00:09:25 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit [Read error: 104 (Connection reset by peer)] 00:11:56 dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has joined #scheme 00:16:18 `Peter [n=pk@188-23-6-123.adsl.highway.telekom.at] has joined #scheme 00:16:24 -!- `Peter [n=pk@188-23-6-123.adsl.highway.telekom.at] has quit [Remote closed the connection] 00:19:46 neilmock [n=user@99-11-93-68.lightspeed.nsvltn.sbcglobal.net] has joined #scheme 00:21:11 -!- neilmock [n=user@99-11-93-68.lightspeed.nsvltn.sbcglobal.net] has left #scheme 00:21:47 -!- dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has quit ["leaving"] 00:23:32 dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has joined #scheme 00:37:21 chylli [n=lchangyi@119.181.15.104] has joined #scheme 00:44:12 -!- jedc [n=jed@216.211.244.253] has quit ["Leaving"] 00:50:22 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 00:55:13 underspecified [n=eric@155.69.197.39] has joined #scheme 00:56:05 -!- mrsolo [n=mrsolo@nat/yahoo/x-d9e981e7dca0b4ec] has quit ["Leaving"] 01:07:22 -!- saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit ["This computer has gone to sleep"] 01:09:01 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 01:20:45 jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has joined #scheme 01:23:10 QinGW [n=wangqing@203.86.89.226] has joined #scheme 01:26:50 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has quit ["Leaving"] 01:28:05 -!- underspecified [n=eric@155.69.197.39] has quit [] 01:28:48 -!- Axioplase_ is now known as Axioplase 01:30:58 Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has joined #scheme 01:31:56 jedc [n=jed@216.211.244.253] has joined #scheme 01:34:38 -!- masm [n=masm@bl7-205-43.dsl.telepac.pt] has quit ["Leaving."] 01:35:09 Gee, more Git randomness. 01:35:18 error: Ref refs/remotes/origin/master is at a996c47f0b70804af9c42cc25b63a14460f56283 but expected 944e6001e2266d9e1f2b960fe9e9edee4b1fde3e 01:35:21 ! 944e600..4d98a2f master -> origin/master (unable to update local ref) 01:35:28 But running `git pull' again seems to make it happy. 01:37:29 Why am I really not surprised that the SCM designed by someone who was previously famous for designing a monolithic UNIX clone is broken? 01:41:13 chandler: i assume you are at the moment running on some cutting-edge micro-kernel operating system designed by andrew s. tanenbaum 01:41:27 Riastradh: What compelled MIT Scheme to go to git? Of all the SCMs I have read about, that seems the most fragile. 01:42:14 The entirety of the discussion is archived, arcfide. 01:42:23 Riastradh: Oh, cool, where? 01:42:27 ment: No. I'm actually running on an even worse kludge (OS X). 01:42:28 mit-scheme-devel 01:42:29 The Devel list? 01:42:31 Thanks 01:42:41 (...if it can be called a discussion.) 01:43:44 Riastradh: Um, how far back? 01:45:50 -!- Arelius [n=indy@64.174.9.113] has quit [Read error: 60 (Operation timed out)] 01:45:59 Here's about where it started: . (Previously, Matt Birkholz had attempted several times to convert the CVS repository to Git, with varying degrees of success.) 01:47:28 If you were looking for an interesting discussion with insights about revision control, though, you'll be disappointed. 01:55:39 Riastradh: No, that's what I was looking for. 01:55:43 Thanks 01:56:27 -!- amca [n=amca@CPE-121-208-82-97.qld.bigpond.net.au] has quit ["Farewell"] 01:57:57 -!- subversus [i=elliot@loveturtle.net] has quit ["Lost terminal"] 01:59:32 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 02:04:27 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 02:09:43 -!- Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has quit [Remote closed the connection] 02:15:36 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 02:25:39 subversus [i=elliot@loveturtle.net] has joined #scheme 02:30:27 underspecified [n=eric@155.69.197.39] has joined #scheme 02:42:17 jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has joined #scheme 02:43:33 *jcowan* unvanishes, tentatively. 02:44:09 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 02:48:17 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 02:53:07 tjafk1 [n=timj@e176221136.adsl.alicedsl.de] has joined #scheme 03:03:49 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 113 (No route to host)] 03:04:21 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 60 (Operation timed out)] 03:07:09 brandelune [n=suzume@pl834.nas982.takamatsu.nttpc.ne.jp] has joined #scheme 03:07:20 -!- jedc [n=jed@216.211.244.253] has quit ["Leaving"] 03:08:15 -!- timj [n=timj@e176207163.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:12:10 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 03:15:01 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 03:18:25 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 03:21:49 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 03:27:39 -!- arcfide [n=arcfide@99.14.210.197] has left #scheme 03:28:12 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 03:29:42 -!- foof [n=user@dn157-046.naist.jp] has quit [Read error: 101 (Network is unreachable)] 03:31:38 r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has joined #scheme 03:38:24 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 03:46:42 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 03:47:37 jedc [n=jed@216.211.244.253] has joined #scheme 03:50:32 -!- jedc [n=jed@216.211.244.253] has quit [Read error: 60 (Operation timed out)] 03:51:17 jedc [n=jed@216.211.244.253] has joined #scheme 04:04:21 -!- dysinger [n=dysinger@71.20.35.99] has quit [Connection timed out] 04:06:09 balance [n=Administ@122.70.59.64] has joined #scheme 04:09:01 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 04:13:35 foof [n=user@dn157-046.naist.jp] has joined #scheme 04:24:33 -!- r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has quit [Remote closed the connection] 04:24:34 -!- Toast [n=Toast@69.9.89.47] has quit [Read error: 110 (Connection timed out)] 04:27:44 -!- balance [n=Administ@122.70.59.64] has left #scheme 04:39:06 leppie|work [i=52d2e3c8@gateway/web/freenode/x-7537de96acfd992d] has joined #scheme 05:01:17 -!- jedc [n=jed@216.211.244.253] has quit [Read error: 113 (No route to host)] 05:06:12 One of my problems with call/cc is that you can return from it. 05:06:52 It's tempting to think of a call/cc as dividing a procedure in half, where the stuff below it gets wrapped in a procedure and passed to the function, but since call/cc returns that doesn't work. 05:07:43 That is, (begin a b c (call/cc d) e f) is not transformable to (begin a b c (d (lambda stuff e f))) 05:10:36 I think that's what I find most confusing about call/cc. Even if d never invokes the continuation, d's result from normal evaluation gets implicitly passed to the continuation, and e and f get invoked anyway. 05:19:09 -!- Mr_Awesome [n=eric@pool-72-95-78-181.chi01.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 05:24:01 kbs [n=kbs@adsl-68-127-167-230.dsl.pltn13.pacbell.net] has joined #scheme 05:25:21 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING LATEST VERSION OF THE INTERNET"] 05:32:25 -!- foof [n=user@dn157-046.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 05:39:02 abbe [n=abbe@opennic/abbe] has joined #scheme 05:39:07 hi all 05:40:21 i'm reading sicp and i've came across 'set!' function to alter the value of variable. is scheme purely functional programming language, or everything is mutable in scheme ? 05:45:00 not an expert - but yeah. scheme is not a purely functional language, it has set!, as you point out 05:48:34 -!- kbs [n=kbs@adsl-68-127-167-230.dsl.pltn13.pacbell.net] has quit ["Lost terminal"] 05:48:36 -!- thesnowdog [i=thesnowd@122.110.24.29] has quit [Read error: 110 (Connection timed out)] 05:56:14 synx, you'd want call/cc to never return by default? 05:56:20 It is easy to do.. 05:57:25 By a simple macro that would terminate (return to the top-level continuation) if continuation is not called. 06:02:27 MrFahrenheit [n=RageOfTh@80.65.72.29] has joined #scheme 06:07:37 Modius [n=Modius@24.174.112.56] has joined #scheme 06:14:57 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 06:18:29 ct2rips [n=ct2rips@p548691B0.dip0.t-ipconnect.de] has joined #scheme 06:29:09 ASau [n=user@host23-231-msk.microtest.ru] has joined #scheme 06:37:51 bhrgunatha [n=chatzill@118-170-92-100.dynamic.hinet.net] has joined #scheme 06:41:02 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Read error: 101 (Network is unreachable)] 06:44:09 Foofie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 06:46:04 -!- brandelune [n=suzume@pl834.nas982.takamatsu.nttpc.ne.jp] has quit [] 07:01:44 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 07:06:20 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit ["Leaving"] 07:30:48 -!- bhrgunatha [n=chatzill@118-170-92-100.dynamic.hinet.net] has quit ["ChatZilla 0.9.85 [Firefox 3.6a1/20090806155851]"] 07:37:11 bryanzh [n=user@116.233.201.146] has joined #scheme 07:38:57 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 07:46:38 -!- bryanzh [n=user@116.233.201.146] has quit [Read error: 60 (Operation timed out)] 07:49:12 Fufie [n=poff@Gatekeeper.vizrt.com] has joined #scheme 07:52:09 jewel [n=jewel@dsl-242-128-103.telkomadsl.co.za] has joined #scheme 07:52:59 npe [n=npe@195.207.5.2] has joined #scheme 07:56:54 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 07:57:52 -!- tltstc [n=tltstc@cpe-76-90-92-154.socal.res.rr.com] has quit [Read error: 104 (Connection reset by peer)] 08:13:50 foof [n=user@dn157-046.naist.jp] has joined #scheme 08:20:46 -!- 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:24:21 -!- kniu [n=kniu@pool-71-106-16-199.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 08:27:44 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 08:27:51 kniu [n=kniu@pool-71-106-16-199.lsanca.dsl-w.verizon.net] has joined #scheme 08:28:20 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 08:40:34 -!- jao [n=jao@127.Red-213-98-196.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 08:41:55 HG` [n=wells@xdslfd253.osnanet.de] has joined #scheme 08:50:19 Mr_Awesome [n=eric@pool-98-108-8-34.chi01.dsl-w.verizon.net] has joined #scheme 08:51:18 `Peter [n=pk@188-23-9-67.adsl.highway.telekom.at] has joined #scheme 08:58:26 -!- etoxam [n=||||||||@84.79.67.254] has quit [Read error: 110 (Connection timed out)] 08:59:10 etoxam [n=||||||||@84.79.67.254] has joined #scheme 09:02:07 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 09:03:05 masm [n=masm@bl7-205-43.dsl.telepac.pt] has joined #scheme 09:03:32 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 09:04:30 -!- araujo [n=araujo@gentoo/developer/araujo] has quit [Read error: 110 (Connection timed out)] 09:07:53 -!- underspecified [n=eric@155.69.197.39] has quit [] 09:18:22 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 113 (No route to host)] 09:20:25 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 110 (Connection timed out)] 09:20:29 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 09:28:48 -!- `Peter [n=pk@188-23-9-67.adsl.highway.telekom.at] has quit [Read error: 110 (Connection timed out)] 09:36:02 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 09:36:27 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 09:50:44 jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 09:52:59 -!- Axioplase is now known as Axioplase_ 10:08:50 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 10:11:39 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 10:23:35 cracki_ [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 10:25:08 tltstc [n=tltstc@cpe-76-90-92-154.socal.res.rr.com] has joined #scheme 10:29:25 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit [Read error: 60 (Operation timed out)] 10:34:57 dysinger [n=dysinger@71.20.35.99] has joined #scheme 10:43:46 RageOfThou [n=RageOfTh@80.65.72.29] has joined #scheme 10:51:51 -!- dysinger [n=dysinger@71.20.35.99] has quit [SendQ exceeded] 10:52:50 nvteighen [n=nvteighe@10.Red-79-147-46.dynamicIP.rima-tde.net] has joined #scheme 10:52:57 hi 10:53:41 anybody has tried compiling some Scheme code in MIT/GNU Scheme using SOS 1.9-style generic functions? 10:54:09 dysinger [n=dysinger@71.20.35.99] has joined #scheme 10:55:54 FunkyDrummer [n=RageOfTh@80.65.72.29] has joined #scheme 10:55:58 huh? Now it works??? 10:56:08 Forget it, then it's clearly a bug in my code 10:57:05 typing at irc can often have that effect 10:57:22 what, discovering how stupid one is? :p 10:58:06 -!- dysinger [n=dysinger@71.20.35.99] has quit [SendQ exceeded] 10:59:14 dysinger [n=dysinger@71.20.35.99] has joined #scheme 11:00:02 -!- MrFahrenheit [n=RageOfTh@80.65.72.29] has quit [Read error: 110 (Connection timed out)] 11:06:01 :) 11:06:31 are you in spain as well, nvteighen ? 11:06:45 yeah 11:07:05 where, if i might ask? 11:07:07 *wingo-pi* in bcn 11:07:28 Pamplona 11:07:35 cool 11:07:36 but I'm argentinean :) 11:08:00 Barcelona capital, I guess 11:08:03 yes 11:08:03 right? 11:08:13 *wingo-pi* was going to recruit for http://flibug.org/ ;-) 11:08:51 nice group... you guys really have taste ;) 11:10:01 -!- fusss [n=chatzill@115.128.11.116] has quit [Read error: 110 (Connection timed out)] 11:14:30 -!- RageOfThou [n=RageOfTh@80.65.72.29] has quit [Connection timed out] 11:20:19 fusss [n=chatzill@115.128.18.140] has joined #scheme 11:21:15 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 11:21:48 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 11:23:39 BW^- [n=Miranda@92.81.167.59] has joined #scheme 11:23:42 -!- abbe [n=abbe@opennic/abbe] has quit [Read error: 110 (Connection timed out)] 11:33:55 underspecified [n=eric@155.69.197.39] has joined #scheme 11:33:56 ejs [n=eugen@217-33-178-94.pool.ukrtel.net] has joined #scheme 11:42:47 `Peter [n=pk@188-23-106-55.adsl.highway.telekom.at] has joined #scheme 11:50:23 Edico [n=Edico@unaffiliated/edico] has joined #scheme 11:56:02 -!- BW^- [n=Miranda@92.81.167.59] has quit ["Miranda IM! Smaller, Faster, Easier. http://miranda-im.org"] 12:00:18 -!- HG` [n=wells@xdslfd253.osnanet.de] has quit [Client Quit] 12:01:21 HG` [n=wells@xdslfd253.osnanet.de] has joined #scheme 12:04:37 mario-goulart [n=user@201-40-162-47.cable.viacabocom.com.br] has joined #scheme 12:08:17 -!- nvteighen [n=nvteighe@10.Red-79-147-46.dynamicIP.rima-tde.net] has left #scheme 12:11:05 abbe [n=abbe@61.246.140.245] has joined #scheme 12:11:09 -!- abbe [n=abbe@61.246.140.245] has quit [Read error: 54 (Connection reset by peer)] 12:14:02 abbe [n=abbe@opennic/abbe] has joined #scheme 12:15:53 -!- dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has quit [Read error: 54 (Connection reset by peer)] 12:16:15 dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has joined #scheme 12:34:14 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 12:35:59 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 12:36:47 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 12:42:54 -!- underspecified [n=eric@155.69.197.39] has quit [] 12:45:42 underspecified [n=eric@155.69.197.39] has joined #scheme 12:46:20 bryanzh [n=user@116.232.216.5] has joined #scheme 12:55:48 -!- fusss [n=chatzill@115.128.18.140] has quit [Read error: 110 (Connection timed out)] 13:00:00 -!- dysinger [n=dysinger@71.20.35.99] has quit [Excess Flood] 13:00:26 dysinger [n=dysinger@71.20.35.99] has joined #scheme 13:01:04 -!- rotty [n=rotty@nncmain.nicenamecrew.com] has quit [Remote closed the connection] 13:01:09 rotty [n=rotty@nncmain.nicenamecrew.com] has joined #scheme 13:06:56 -!- `Peter [n=pk@188-23-106-55.adsl.highway.telekom.at] has quit [Read error: 104 (Connection reset by peer)] 13:07:25 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 13:08:09 `Peter [n=pk@188-23-106-55.adsl.highway.telekom.at] has joined #scheme 13:12:20 anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has joined #scheme 13:22:54 -!- Fufie [n=poff@Gatekeeper.vizrt.com] has quit ["Leaving"] 13:23:01 thissaturday [n=jbw@77-96-143-125.cable.ubr06.pres.blueyonder.co.uk] has joined #scheme 13:27:13 jed__ [n=jed@dhcp-0-1f-f3-c6-58-ca.cpe.norwoodlight.com] has joined #scheme 13:28:53 bombshelter13_ [n=bombshel@206.80.252.37] has joined #scheme 13:33:30 -!- jed__ is now known as jedc 13:35:59 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 13:38:58 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [Remote closed the connection] 13:43:51 -!- FunkyDrummer [n=RageOfTh@80.65.72.29] has quit [Read error: 110 (Connection timed out)] 13:44:37 Quadrescence [n=quad@24.118.241.200] has joined #scheme 13:46:50 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has quit ["Leaving"] 13:52:52 bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 13:54:13 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 13:55:38 -!- offby1` is now known as offby1 13:55:47 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 13:57:15 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 13:57:55 MrFahrenheit [n=RageOfTh@users-42-186.vinet.ba] has joined #scheme 14:07:19 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 14:08:39 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 14:09:10 rudybot__ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 14:11:41 kuribas [i=kristof@d54C436BF.access.telenet.be] has joined #scheme 14:11:42 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 14:18:22 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Nick collision from services.] 14:18:26 -!- offby1` is now known as offby1 14:18:48 -!- thissaturday [n=jbw@77-96-143-125.cable.ubr06.pres.blueyonder.co.uk] has quit [Client Quit] 14:19:51 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 14:22:38 -!- rudybot_ [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 113 (No route to host)] 14:33:19 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 14:35:58 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 14:36:03 lucas_ [n=lucas@212.174.74.11] has joined #scheme 14:36:10 hey 14:36:19 how can i write a program with side affect 14:37:21 may be question is not clear 14:37:28 my real question is that In a language without side effects, is it possible to define a function that decides 14:37:28 on the evaluation order of the language? Write a program in Scheme that outputs 14:37:28 “applicative” if the Scheme implementation is running in applicative order, and 14:37:28 “normal” if it’s running in normal order. 14:38:20 and 14:38:55 how can i write a program that works as applicitive if interpreter works as applicitive or works normal if interpreter works normal 14:40:12 http://mitpress.mit.edu/sicp/full-text/sicp/book/node85.html 14:42:26 _Elric_ [n=elric_@host179-250-dynamic.11-87-r.retail.telecomitalia.it] has joined #scheme 14:42:32 -!- bryanzh [n=user@116.232.216.5] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 14:42:46 <_Elric_> good morning 14:43:06 two pages 14:43:59 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 14:44:30 -!- jedc [n=jed@dhcp-0-1f-f3-c6-58-ca.cpe.norwoodlight.com] has quit [Connection timed out] 14:45:13 -!- ASau [n=user@host23-231-msk.microtest.ru] has quit ["BYE"] 14:45:51 and my other question why working principle of if is lazy ? 14:47:36 -!- `Peter [n=pk@188-23-106-55.adsl.highway.telekom.at] has quit [] 14:50:28 -!- leppie|work [i=52d2e3c8@gateway/web/freenode/x-7537de96acfd992d] has quit ["Page closed"] 14:51:39 -!- _Elric_ [n=elric_@host179-250-dynamic.11-87-r.retail.telecomitalia.it] has quit ["WeeChat 0.2.6"] 14:52:03 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 14:52:12 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 14:53:41 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 14:56:38 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 14:56:52 lucas_: Would you really want it evaluate both arguments? `if` is used to guard against invalid evaluations. 14:57:56 lucas_: (if (null? foo) 42 (car foo)) <-- would throw an error if `if` were eager. 14:57:59 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 14:58:17 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 15:00:16 just a second 15:03:24 attila_lendvai [n=ati@apn-89-223-236-148.vodafone.hu] has joined #scheme 15:04:15 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 15:05:05 TimMc, 15:05:08 are you there 15:06:16 http://www.pastebin.org/8222you mean that 15:06:18 ? 15:06:54 how to make PlaneT from plt to use http proxy? 15:08:01 benzetmelerim iyi oldu mu 15:08:03 sorry 15:08:18 i am speaking my mom and i wrote in the wrong place 15:10:11 lucas_: some things NEED lazyness to work, such as certain calls of `if'. 15:10:33 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 15:10:51 lucas_: What you pasted still uses `if`'s lazy evaluation. 15:11:17 but 15:11:26 masm1 [n=masm@bl10-7-211.dsl.telepac.pt] has joined #scheme 15:11:39 you said you line gives an error if it is eager 15:11:53 but it doesnt give error it gives same result 15:11:59 lucas_: only if `ffo' is '() 15:12:03 foo* 15:13:58 lucas_: You're still guarding (car foo) with an `if` in your lambda. 15:14:24 lucas_: http://www.pastebin.org/8226 <-- This is what would happen if `if` were applicative. 15:14:53 -!- jeff___ is now known as dlouhy 15:15:16 lisppaste: url 15:15:16 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 15:15:31 ^^^ our local lisp paste service BTW 15:18:26 lucas_: Also, I think `if` is a built-in that can't be written using simpler Scheme. 15:18:55 It's certainly possible to write your own "lazy" structures with the use of macros, though. 15:23:05 jyujin [n=mdeining@vs166245.vserver.de] has joined #scheme 15:26:32 -!- masm [n=masm@bl7-205-43.dsl.telepac.pt] has quit [Read error: 110 (Connection timed out)] 15:29:49 jay-mccarthy [n=jay@lallab.cs.byu.edu] has joined #scheme 15:30:22 TimMc, i understand but i wonder how i can write if as working applicitive 15:31:58 -!- HG` [n=wells@xdslfd253.osnanet.de] has quit [Client Quit] 15:35:12 cky_ [n=cky@cpe-024-211-255-249.nc.res.rr.com] has joined #scheme 15:38:24 lucas_: you CAN'T, unless you impose that certain actual arguments must be closures. 15:39:39 -!- dysinger [n=dysinger@71.20.35.99] has quit [Client Quit] 15:39:54 dysinger [n=dysinger@71.20.35.99] has joined #scheme 15:40:44 thesnowdog [i=thesnowd@114.73.131.212] has joined #scheme 15:42:51 -!- cky [n=cky@cpe-024-211-255-249.nc.res.rr.com] has quit [Read error: 110 (Connection timed out)] 15:43:28 lucas_: Here is what hkBst means by the arguments being closures: http://www.pastebin.org/8232 15:43:37 hkBst: Correct me if I'm wrong of course. 15:44:07 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 15:44:10 TimMc: you are correct 15:44:42 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 15:44:46 lucas_: You can delay evaluation of arguments by passing them in lambdas, and rewriting the procedure to evaluate the lambdas as necessary. 15:45:46 In fact, that's *essentially* how lazy evaluation works. 15:48:33 `Peter [n=pk@188-23-0-192.adsl.highway.telekom.at] has joined #scheme 15:48:42 what is thunk 15:49:30 -!- attila_lendvai [n=ati@apn-89-223-236-148.vodafone.hu] has quit [Read error: 104 (Connection reset by peer)] 15:49:42 lucas_, it's the past tense of "think" - that is, it's usually a procedure that gets called. 15:50:35 hmm 15:50:49 i read some mail from plt mailling list 15:51:11 someone wrote something about thunk 15:51:22 and i suppose this is special keyword 15:51:34 lucas_: A "thunk" is nothing special. It is just a procedure that takes no arguments. 15:52:31 hmm okey i understand 15:52:41 "thunk" is the sound your head makes when you pound it into your desk in frustration 15:52:45 s/procedure/function/ ! 15:53:04 -!- anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has quit [Remote closed the connection] 15:53:56 eli: Who are you correcting? 15:54:29 lucas_: Another way to think about it is "a bundle of code to be passed around an evaluated later". 15:54:33 TimMc: You. 15:54:41 is it set! syntax 15:54:50 (set! a 1) 15:55:11 eli: Oh! I read that backwards. .oO( Where did I write "function"? ) 15:55:27 anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has joined #scheme 15:55:33 sorry (set! (a 1)) 15:55:38 TimMc: "procedure" is as antique as "variable". 15:56:09 eli: PLT prints it as #... 15:56:55 TimMc: Yes, for historical reasons. 15:56:56 thunks are often not pure functions, either 15:57:06 hello eli 15:57:28 wingo-pi: Good morning. 15:57:36 eli, you prefer variable pr identifier 15:57:49 lucas_: Naturally. 15:58:43 becayse i read plai book and book prefer identifier and said we call identifier because it doesnt varify 15:58:47 eli: If "procedure" really is the wrong word, how disruptive would it be to change the printer to say # ? By definition, nothing reads that syntax ... 15:58:51 eli: So, the value (lambda args body) is a function? Is the source code behind it also a function? 15:58:52 i actually dont understand %100 15:59:09 lucas_: Misread, sorry: I prefer identifier, naturally, and the PLAI reason is a good part of it. 15:59:46 TimMc: SICP tricks much? 16:00:17 TimMc: The source code is just that -- it's code; an expression. 16:00:20 k 16:00:44 offby1: My guess is that no sane code would rely on #. 16:01:05 is it set or set! 16:01:17 -!- npe [n=npe@195.207.5.2] has quit [] 16:01:37 offby1: In pre-v4, things like `+' would print as `#', and I don't think that anyone had any code broken as a result of that change. 16:01:55 -!- anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has quit [Remote closed the connection] 16:02:46 *offby1* nods sagely 16:03:12 *eli* admires offby1's elegant nodding. 16:03:34 It's Russian sage. 16:03:46 offby1: I love that stuff. 16:04:00 A lovely cool fragrance. 16:04:01 lucas_ pasted "untitled" at http://paste.lisp.org/display/85197 16:04:41 can someone correct me syntatically 16:05:54 lucas_: the error message says it all -- (a 1) is not an identifier. 16:06:05 "a", on the other hand, is. 16:07:14 it doesnt give error in applicitive but it gives error in lazt 16:07:16 lazy* 16:08:25 lucas_: In what Scheme does that *not* throw an error? 16:08:35 pretty big 16:08:41 lucas_: If you're new to Scheme, then you should keep out of lazy scheme. Doubly so if you're trying to do `set!'s. 16:09:01 i just wonder about let and set 16:09:01 lucas_: Also, it is best to avoid the "pretty big" language and stick to the default Module language for everything. 16:09:19 lucas_: lazy scheme is a very different thing from plain scheme. 16:09:19 sstrickl [n=sstrickl@nomad.ccs.neu.edu] has joined #scheme 16:09:22 is it same things or is it different if it is different why is different 16:09:53 i wrote some function with set and let i wonder this give same resullt with applicitive and lazy order or not same result 16:10:00 -!- sstrickl [n=sstrickl@nomad.ccs.neu.edu] has quit [Client Quit] 16:10:11 lucas_: `let` and `set!` are pretty much unrelated. THey both have to do with how values are associated to identifiers, but that's about it. 16:22:21 -!- incubot [i=incubot@klutometis.wikitex.org] has quit [Remote closed the connection] 16:23:08 incubot? 16:23:10 *jlongster* sobs 16:23:42 sstrickl [n=sstrickl@nomad.ccs.neu.edu] has joined #scheme 16:24:31 MichaelRaskin: I've been thinking about it... but really it's usually just easier to use CPS style. Be as simple as (define done-with-procedure (call/cc values)) though 16:25:31 I'd like to see monads described in lazy scheme. I think one of the confusing things I find about them in scheme are how they have to implement both laziness and monads at the same time, then try to distinguish the monad-y part. 16:26:48 -!- poe [n=poe@unaffiliated/xerox] has quit [] 16:26:59 lucas_ pasted "untitled" at http://paste.lisp.org/display/85201 16:27:12 can someone look my paste 16:27:24 incubot [i=incubot@klutometis.wikitex.org] has joined #scheme 16:30:32 on the other hand i wonna write program that gives the result "applicitive order" if interpreter works as interpreeter or gives lazy if the interpreter works as lazy 16:30:47 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 16:31:01 is it possible to write this 16:32:24 -!- cky_ is now known as cky 16:33:37 without side effects, the only difference is that sometimes applicative order doesn't stop and normal order does stop 16:33:52 lucas_: Just don't do it. Here's an amuzing "did you know?" -- the implementor of lazy scheme is not sure that the semantics of `set!' in the language are useful and he is also not sure that it should be kept in the lazy language. 16:35:29 hmm 16:35:51 p1dzkl, i mean you said this is not possible 16:35:58 arcfide [n=arcfide@99.14.210.197] has joined #scheme 16:35:58 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 54 (Connection reset by peer)] 16:36:35 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 16:40:19 eli, just i wonder why let and set are different you assign a value to an identifier in both let and set 16:40:36 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 16:41:41 Nshag [i=user@Mix-Orleans-106-2-239.w193-248.abo.wanadoo.fr] has joined #scheme 16:44:47 -!- jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Connection timed out] 16:47:44 lucas_: let creates new identifiers, set! mutates existing identifiers (or rather, what value they refer to) 16:49:10 mrsolo [n=mrsolo@nat/yahoo/x-172562ce11441f7c] has joined #scheme 16:51:18 hmm 16:52:04 lucas_: The appropriate term is that `let' creates a new binding, it does not *change* anything. 16:52:25 rudybot__: eval (define x 5) (let ([x 123]) x) x 16:52:27 eli: your scheme sandbox is ready 16:52:27 eli: ; Value: 5 16:52:33 -!- ct2rips [n=ct2rips@p548691B0.dip0.t-ipconnect.de] has quit ["Noch da, noch da ... Uuuuund weg."] 16:52:36 rudybot__: eval (define x 5) (set! x 123) x 16:52:37 eli: ; Value: 123 16:55:08 okey 16:55:11 i see neatly 16:55:18 lisppaste, url 16:55:18 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 16:55:25 ASau [n=user@83.69.240.52] has joined #scheme 16:57:11 lucas_ pasted "untitled" at http://paste.lisp.org/display/85202 17:03:08 arcfide: people that use non fixed width fonts to write code, should not code :) 17:04:18 -!- kniu [n=kniu@pool-71-106-16-199.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 17:05:00 kniu [n=kniu@pool-71-106-16-199.lsanca.dsl-w.verizon.net] has joined #scheme 17:05:12 leppie: You would think that, but I was searching around usenet the other day and discovered some old posts where this was an INTENTIONAL decision on the parts of the editors. 17:06:03 Apparently, it was a screen estate issue. 17:06:21 They had discovered some means of indenting ML code in a way that was proper for proportional fonts. 17:06:50 And, after playing around with the idea, I can't say that I am entirely opposed to it either, embarrassing as that may be. 17:08:29 lolcow [n=lolcow@dsl-243-60-08.telkomadsl.co.za] has joined #scheme 17:08:54 -!- dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has left #scheme 17:09:00 dzhus [n=sphinx@93-80-245-106.broadband.corbina.ru] has joined #scheme 17:09:05 -!- jewel [n=jewel@dsl-242-128-103.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 17:09:16 -!- leppie [n=lolcow@dsl-243-60-08.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 17:09:30 -!- lolcow is now known as leppie 17:10:02 i dont like it 17:10:43 imagine a spreadsheet without parallel lines :) 17:10:57 dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has joined #scheme 17:11:29 I would say that it isn't the same. 17:12:05 -!- chylli [n=lchangyi@119.181.15.104] has quit [Read error: 104 (Connection reset by peer)] 17:13:24 maybe one day when we write code on quantum computers that will work, for now I like them rigid like 1's and 0's 17:14:39 Maybe my code will be in a superstate of fixed and not fixedwith. 17:22:25 This might be off-topic a bit, but is there a more effecient way to implement scheme style lists in Javascript than representing them as Arrays? I'm concerned because I'm using the concat Array operator for cons which I believe is rather time-intensive. 17:23:42 danking: You may want to reverse the direction of the lists. 17:24:08 Cancel that. 17:24:19 Just make a recursive data structure. :-P 17:24:53 function Pair(car, cdr) { ... } 17:26:09 danking: Are you allowing mutable pairs? 17:26:14 r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has joined #scheme 17:27:21 TimMc, how can i write a function which prints applicitive if interp is applicitive,prints lazy if interp is lazy 17:27:56 TimMc: No mutation. 17:28:27 TimMc: I was just concerned that a recursive data structure would be more time-intensive because I imagine Arrays are optimized excessively in the JS engine. 17:30:08 lucas_: I have no idea. 17:30:26 danking: Probably, but JS is very mutation-oriented. 17:31:38 danking: One optimization you *might* be able to perform, as I alluded to earlier, is to reverse the "direction" of the data structures. 17:31:49 -!- a-s [n=user@92.81.62.159] has left #scheme 17:32:36 If you copy an array and then push() onto it, the JS engine *might* be able to do that very easily. You'd just count from the end of the array, instead of the beginning, see? 17:32:54 -!- dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has quit ["leaving"] 17:32:56 But then again, this is an optimization of unknown value. My recommendation is to not worry, for now. 17:32:59 danking: What are you trying to do. It may make more sense to figure that out first, and then form your algorithms as appropriate. 17:33:27 arcfide: He's making a Scheme->JS translator, so the algorithms involved are unknown. 17:33:46 ... 17:33:51 arcfide: I'm essentially writing a scheme interpeter in JS so it should support common Scheme programming habits. 17:34:08 So there will be a lot of cons'ing 17:34:13 And a lot of rest'ing 17:34:13 Good luck. 17:34:16 hah 17:34:18 Habits?? Are you insinuating, my good man, that Scheme is habit-forming? 17:34:51 danking: I'd save the arrays for implementing vector. :-P 17:34:59 Riastradh: Of course not, Scheme has no addictive substances, just becareful if its laced with parens. 17:35:57 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 17:36:10 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 17:36:33 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 17:42:56 (import []) 17:43:01 or (import [ ...]) where can be or (only/except/rename etc.) ? 17:43:41 The latter is more concise in common cases, but needs an "escape" modifer: 17:44:29 (import (module (rename this module))) for the module actually named (rename this module) 17:44:36 The first. 17:45:18 i.e. Scheme48 import style vs. R6RS style. 17:45:23 However, that will require a different mechanism for parametrized modules. 17:46:13 What's a parameterized module? 17:46:39 A function from modules to modules. 17:46:50 In SML lingo, a functor. 17:46:53 In Scheme48 lingo, a module. 17:48:02 -!- abbe [n=abbe@opennic/abbe] has quit [] 17:48:58 Hmmm... I have no interest in first-class modules at the moment, though I suppose it's worth considering how they might be added later. 17:49:17 Who said anything about first-class modules? 17:50:04 eish, I just had to use ((... ...) (... ...)) in a macro, is that a bad thing? 17:50:05 If they can be passed as arguments to functions, and returned as values, how are they not first-class? 17:50:15 I didn't say `Scheme procedures'. 17:50:56 In SML and Scheme48, structures are not first-class. Functors/modules are still (conceptually) functions from structures to structures. 17:50:56 Well, OK, but I had no intention of making them first class within the context of the module description language either :) 17:51:25 foof: Not to stir the pot too much, but I'd say I actually like (import ...); => | ( ). 17:52:31 arcfide: This is a pot-stirring session ;) 17:53:46 foof: But, in general, I think the bigger question is whether you want a module system more like Scheme48's, or one more like Chez's. That is, Chez's is purely syntactic, and Scheme48's is most certainly not. If you like Scheme48's, then doing things to support future extensions like parameterized modules the way Riastradh says might be good. 17:55:09 To my subjective feel, Scheme48's module system is like a separate language of modules, whereas Chez's module system is just like another lexical scoping form. 17:56:03 foof: One thing you shouldn't do, however, is cater to that stinkin' implicit export rule in R6RS. 17:56:41 foof: Or, maybe.... 17:57:19 No, I must be sick to think such things. 17:58:53 Slom [n=a@pD9EB4ECD.dip.t-dialin.net] has joined #scheme 17:59:34 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has left #scheme 17:59:55 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 18:00:57 Another thing I've seriously considered is just a '(module ...) form as the first sexp in the file. 18:01:27 Note there's a ' so it can still load in any Scheme that doesn't recognize the module syntax. 18:01:44 That assumes the file is formatted as an s-exp of course. 18:01:54 svf [n=svf@pdpc/supporter/active/svf] has joined #scheme 18:02:21 Well, it assumes the file/data-stream is formatted as a series of sexps. How else would you format it? 18:02:26 wingo [n=wingo@67.Red-79-156-145.staticIP.rima-tde.net] has joined #scheme 18:02:53 foof: What if multiple modules reside in the same file? 18:03:00 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 18:03:15 foof: Do you intend to allow your module system to be nested? 18:03:38 That would be discouraged, but if you really wanted to you could have the implementation recognize a top-level '(module) at any time. 18:03:48 I dunno, tokens? 18:03:49 arcfide: no 18:04:02 One idea I had was to have a s-exp based module definition file, but the code it makes into a module could be in any language, as long as the language is specified in the definition file. 18:04:05 Also having (module) return a module would be nice :> 18:04:22 foof: One of the things I like about Chez's modules is that I can create mini-modules inside of other modules and do all sorts of syntactic transformations on modules and use them as any other syntactic construct when building things. 18:04:56 I'm starting the process of learning scheme... is there a prefered text or series of texts (e.g. Structure and Interm of Comp Programs v. The Little Schemer)? 18:06:00 I just learned it by picking up plt and messing around. 18:06:13 Alright, here's a question for you all. In RFC 2822 messages, in fields like Subject and other unstructured stuff. Would you prefer that the parser provide you the entire whitespace before the first non-whitespace character of the field, or would you prefer for the whitespace between the #\: separator and the first non-whitespace character to be discarded? 18:07:21 svf: It depends on how you prefer to learn. SICP is good and will teach you much, and that was my preferred route, but The * Schemer books also seem good. HtDP is another choice, and some people find the more methodical approach easier to grasp. 18:07:51 dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has joined #scheme 18:07:54 If you already know everything you think there is to know about programming, and just want to learn Scheme the language, you might want to look at TSPL, and once you realize you don't know anything, you can start reading SICP. 18:08:33 And once you realize that you can't even read, you can start reading HtDP. 18:08:35 :-P 18:08:43 :) 18:08:46 thanks guys 18:09:14 I just don't like to start off on the wrong foot... and I wasn't aware of TSPL 18:09:46 hey 18:10:12 I'm definitely starting to think I know very little about programming, despite years of doing it and someone handing me a check for doing it :) 18:10:24 some days at work, I feel like a complete fraud 18:11:03 (define (try a b) (if (= a 0) 1 b)) (try 0 (/ 1 0)) this gives "division by zero" error in applicitive order.It raise error notmally.How can i prevent error raise 18:11:25 i need to use something that has side effect to prevent error raise.What is it ? 18:14:09 sepult [n=user@xdsl-87-78-172-48.netcologne.de] has joined #scheme 18:14:28 lucas_: you ask many questions. there are many fine manuals to read :) 18:14:38 hmm 18:14:50 lucas_: What are you asking? 18:14:55 I'm a bit confused. 18:15:00 okey 18:15:03 i ask again 18:15:05 lucas_: why not wrap "b" in a closure? 18:15:18 wrap ? 18:15:33 (define (try a b) (if (= a 0) 1 b)) (try 0 (/ 1 0)) i have this 18:15:43 in applicitive order it causes division by zero 18:16:01 lucas_: Are you saying that you want to create TRY that tests A and only if it meets some condition does it meet B? 18:16:01 i want to prevent the error raise 18:16:05 s/meet/return/ 18:16:30 i want to for example print something instead of error raise 18:16:42 This is for chibi-scheme, so I honestly just want something simple. 18:16:43 lucas_: (try 0 (lambda () (/ 1 0))), and you evaluate b by calling it. otherwise, you can use a macro. 18:17:14 I don't want nested modules or parameterized modules, but I do want to stick with a syntax that could be extended in theory (and for extension, I think Scheme48 modules are the way to go, not Chez). 18:17:35 arcfide: all the whitespace imo. 18:18:37 actually i just want to prevent divisible by zerror mistake 18:18:49 i want to print something instead of error raising 18:20:25 lucas_: Do you know how to create macros? 18:20:44 no 18:21:00 -!- dzhus [n=sphinx@93-80-245-106.broadband.corbina.ru] has quit [Remote closed the connection] 18:21:00 Do you know how to delay computation? 18:21:16 i just need a function that prevents error raising 18:21:22 arcfide, little 18:21:33 Such as the use of Thunks, the 'delay' procedure, or the difference in evaluation behavior between macros and procedures? 18:22:09 lucas_: There are LOT's of different ways to do this, depending on what you want to do. 18:22:38 AtnNn_ [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 18:22:43 You can use your Scheme's error system to catch the errors, you can use a thunk to wrap the computation up and delay it. You can use the DELAY form, you can use a Macro... 18:22:56 -2s/LOT's/LOTS/ 18:23:08 just "preventing errors raising" seems like a godawful design 18:23:21 i explain i want to write a program that prints applicitive if interpereter works with applcitive order or prints lazy if interpreter works with lazy 18:23:30 -!- underspecified [n=eric@155.69.197.39] has quit [Read error: 60 (Operation timed out)] 18:23:33 my problem is that 18:23:47 homework? 18:23:50 no 18:23:55 no homework 18:24:33 -!- ejs [n=eugen@217-33-178-94.pool.ukrtel.net] has quit [Remote closed the connection] 18:24:34 orly? 18:24:36 really it is not hoework.I just try to solve that problem but i coulnt i am kind oof begginner programmer 18:25:28 it is just self stuy 18:25:33 study* 18:26:17 I think I would use continuations for this. :-) 18:26:19 underspecified [n=eric@155.69.197.39] has joined #scheme 18:26:27 Really, lucas_? You're not logging in from the Istanbul Bilgi university? 18:27:41 i am a student of Istanbul Bilgi University 18:27:47 and i study for a problem 18:30:06 Huh, actually, that's a little bit interesting as a problem. I think I have a solution that works, I guess I'll have to test it on Lazy Scheme. 18:30:11 Rudybot! You're up. 18:32:20 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 18:32:58 Well what do you know? It works. 18:33:19 hmm will you share solution with me ? 18:33:26 So, without giving away the answer, how would the rest of you have done this? I used continuations. 18:33:44 lucas_: Have you passed the "This isn't homework" test? 18:33:48 *arcfide* eyes gnomon. 18:34:09 really this is not homework 18:34:09 lucas_: Do you know about continuations? 18:34:14 yes 18:34:18 i know CPS 18:34:25 Then use that. :-) 18:35:19 Your TRY procedure idea is good, but you need to do something other than dividing by zero. 18:35:21 but i am not sure i cannot achieve i am thinking about this problems almost 4 hours 18:35:48 -!- sepult [n=user@xdsl-87-78-172-48.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 18:35:51 yes i must do something for try procedure 18:35:57 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 18:36:05 may be adding something is easy 18:36:06 To succeed, the real question is to check whether an unneeded procedure is evaluated regardless, or wether it will never be evaluated. 18:36:43 in lazy scheme it looks value of a and it see thhe value of a = 0 then return 1 18:36:51 So, you want to eventually define a procedure APPLICATIVE? that returns true if the interpreter is applicative. 18:37:07 but in applicitive order during function call it evaluate (/ 1 0) and gives an error 18:37:23 sepult [n=user@xdsl-87-78-172-48.netcologne.de] has joined #scheme 18:37:24 Capture the continuaiton of APPLICATIVE? and then create a procedure which, when called, will return a specific value to that continuation. 18:37:41 wait a minute 18:37:58 Then use your TRY procedure, slightly modified, to ensure that if that procedure is called, it would only have occured in an Applicative interpreter, and otherwise, you can return the other value. 18:40:14 -!- AtnNn_ [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Success] 18:40:45 arcfide, (define (try a b) 18:40:45 (if (= a 0) "lazy" (lambda(x) x (lambda(y) (+ x y) (lambda(z) y) "applicitive")))) 18:40:58 i wrote this but this give same result division by zero 18:41:21 i understood you wrong ? 18:41:45 -!- Slom [n=a@pD9EB4ECD.dip.t-dialin.net] has quit [Read error: 104 (Connection reset by peer)] 18:41:58 lucas_: screw divide by zero, just use "set!" 18:42:35 sphex: SET!? 18:42:57 i cannot use set! because the program i wrote must not use something that causes side effect 18:43:09 lucas_: Oh, this is such a homework problem. 18:43:11 ah ok 18:43:33 lucas_: I gave you a way to do it without any side effects like SET!. 18:44:17 i wrote the function with cps 18:44:34 lucas_: Let me see your definition of APPLICATIVE? 18:45:13 ((lambda (x) (error 'normal)) (/ 'applicative 0)) 18:46:24 -!- refusenik [n=Dfowler@ip-66-9-231-200.autorev.intellispace.net] has quit ["Leaving."] 18:46:27 applicitive means evaluates the expression during function calls 18:47:25 wingo, this is not also working 18:47:27 *arcfide* raises an eyebrow. 18:47:42 copumpkin [n=pumpkin@dhcp-212-238.cs.dartmouth.edu] has joined #scheme 18:47:42 lucas_: Okay, don't just try to copy and paste here. If you want to learn something, let's go through it slowly. 18:47:56 Let's think about the flow of the program in both cases. 18:48:27 In the applicative case: APPLICATIVE? => Evaluates procedure because of applicative order => #t. 18:49:25 In the lazy style: APPLICATIVE? => evaluates procedure which would not be evaluated in applicative order => #f. 18:49:35 okey 18:49:53 Now, what's the ONLY way you can tell if something is applicative within the constraints you've been given? 18:50:12 Some procedure will either be evaluated or not evaluated, right? 18:50:19 Or some expression. 18:50:28 yeah 18:50:30 IN your TRY example, (/ 1 0) would not get evaluated. 18:50:38 Or it would, depending on the type of the interpreter. 18:50:48 yes 18:50:57 Now, obviously, (/ 1 0) isn't much use to us. 18:51:02 It just creates an error. 18:51:19 yeah division by zero 18:51:25 Instead, we need a different expression, one that will cause the entire APPLICATIVE? procedure to return true, and skip the normal path of the code. 18:51:55 So, if TRY, instead was called like (TRY 0 (RETURN-APPLICATIVE-IS-TRUE)), wouldn't this be useful? 18:52:17 Moreover, we don't even need to test the zero. 18:52:18 i guess 18:52:45 -!- ASau [n=user@83.69.240.52] has quit [No route to host] 18:52:59 (RETURN-NORMAL-ORDER (RETURN-APPLICATIVE-ORDER)); look at the difference in the way that expression is evaluated in normal or applicative order. 18:53:17 Hrm, wait, is normal order the right term? Maybe. Well, in this case, lazy, but I think Normal will work. 18:53:34 Think about continuations. 18:53:49 someone lazy use cache mec hanism normal dont use 18:53:50 rudybot: eval ((lambda (x) (error 'normal)) (/ 'applicative 0)) 18:53:57 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 18:54:11 rudybot__: eval ((lambda (x) (error 'normal)) (/ 'applicative 0)) 18:54:12 wingo: your sandbox is ready 18:54:12 wingo: error: /: expects type as 1st argument, given: applicative; other arguments were: 0 18:54:39 voila, it says applicative. 18:54:41 :) 18:54:42 lucas_: So, think about those two procedures. 18:54:54 wingo: You're insane. :-P 18:55:11 i wrote a CPS but it doesnt work 18:55:20 lucas_: What did you write? 18:55:30 The answer is right above. 18:55:59 RETURN-NORMAL-ORDER should return #f to the continuation of APPLICATIVE? and RETURN-APPLICATIVE-ORDER should return #t to the continuation of APPLICATIVE? 18:56:02 Done. 18:56:17 Examine how the expression above is evaluated in the two evaluation models. 18:57:37 rudybot__: eval (begin (define order #f) (dynamic-wind (lambda () #t) (lambda () ((lambda (x) (set! order 'normal)) (/ 1 0))) (lambda () (set! order (or order 'normal))))) 18:57:38 wingo: error: /: division by zero 18:57:45 rudybot__: eval order 18:57:46 wingo: ; Value: normal 18:57:52 dammit ;) 18:57:53 Hahahah. 18:58:07 :S:S:S 18:58:15 lucas_: Do you see it? 18:58:25 lucas_: You still haven't posted your CPS. 18:58:39 wait a second 18:58:42 lisppaste, url 18:58:42 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 18:59:15 lucas_ pasted "untitled" at http://paste.lisp.org/display/85208 18:59:25 i posted 18:59:25 *arcfide* ponders whether to post the solution. 18:59:53 That doesn't help. 18:59:57 dzhus [n=sphinx@93-80-245-106.broadband.corbina.ru] has joined #scheme 19:00:07 The point of the TRY program is the same as the RETURN-NORMAL procedure. 19:00:22 If you ever get into evaluating it, you should already know that you're lazy. 19:00:38 In the case of the applicative interpreter, you should never entre the TRY procdure. 19:00:44 rudybot__: init scheme 19:00:45 arcfide: your scheme sandbox is ready 19:01:08 rudybot__: eval (define (applicative?) (call-with-current-continuation (lambda (k) ((lambda (x) #f) ((lambda () (k #t))))))) 19:01:13 rudybot__: eval (applicative?) 19:01:14 arcfide: ; Value: #t 19:01:19 rudybot__: init lzy 19:01:19 arcfide: error: lzy: standard-module-name-resolver: collection not found: "lzy" in any of: (#) in: lzy 19:01:27 rudybot__: init lazy 19:01:28 arcfide: your lazy sandbox is ready 19:01:32 rudybot__: eval (define (applicative?) (call-with-current-continuation (lambda (k) ((lambda (x) #f) ((lambda () (k #t))))))) 19:01:34 rudybot__: eval (applicative?) 19:01:35 arcfide: ; Value: #f 19:01:41 *arcfide* sighs. 19:01:56 ooh good one 19:02:10 i had not thought of doing something like that 19:02:38 -!- `Peter [n=pk@188-23-0-192.adsl.highway.telekom.at] has quit [Read error: 60 (Operation timed out)] 19:02:41 wingo: :-) 19:04:08 *wingo* never uses continuations 19:04:14 too bad 19:04:26 wingo: They exist for a reason. :-) 19:04:57 i love CPS 19:05:13 lucas_: But I'm not sure you understand it. 19:05:13 i wish i do CPS on OOP 19:05:45 actually i understand it 19:06:03 in face the things you told is much more clear 19:07:00 -!- 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"] 19:07:52 lucas_: So then, you can rewrite the above in another form, I presume? 19:07:52 i dont know the call-with-current-continuation what is it ? arcfide 19:08:12 lucas_: CPS. 19:08:38 lucas_: If you don't know CALL/CC, you don't really know CPS in Scheme. :-) 19:08:52 i read sicp and we do some CPS for example we wrote map with CPS but this is not like that 19:09:18 i didnt see anything in the CPS that is similar CALC/CC 19:09:24 He probably knows about CPS as the written out coding style where all your functions of a thunk argument 19:09:33 have 19:09:37 thunk/continuation. 19:09:59 thunk is my favorite word from know on :D 19:10:14 `Peter [n=pk@188-23-0-192.adsl.highway.telekom.at] has joined #scheme 19:10:25 lucas_: CPS is a style wherein all your procedures have a continuation passed explicitly to them. In Scheme, the only way to get a continuation is using CALL/CC. 19:10:53 arcfide, i always wonder is CPS similar to tail-recursive 19:11:22 They are two different things, but I don't know how they may relate to each other. 19:11:50 -!- sstrickl [n=sstrickl@nomad.ccs.neu.edu] has quit [Remote closed the connection] 19:12:05 sstrickl [n=sstrickl@nomad.ccs.neu.edu] has joined #scheme 19:13:30 -!- `Peter [n=pk@188-23-0-192.adsl.highway.telekom.at] has quit [Client Quit] 19:13:48 may be this is silly question.I just think you send a value to a different things in CPS , also in tail recursive you send a value to parameter 19:14:03 like (fac n m) 19:14:06 anyway 19:14:33 arcfide: (reading backlog) Yeah, I was thinking about the call/cc approach, but it seemed like it would be going in the wrong direction, complex-idea-wise. :-P 19:17:47 -!- borism_ [n=boris@195-50-199-208-dsl.krw.estpak.ee] has quit [Remote closed the connection] 19:18:14 lucas_: (define plus (lambda (x y k) (k (+ x y)))) k is your 'continuation' which is passed in a value from the previous function. So, (- 3 (+ 3 0)) --> (plus 3 0 (lambda (x) (- 3 x)) Of course, I'm skipping transforming - into CPS 19:18:30 -!- dzhus [n=sphinx@93-80-245-106.broadband.corbina.ru] has quit [Remote closed the connection] 19:18:41 Calling the continuation is similar to the return statement in C. 19:19:47 return statement hm 19:23:46 CPS perplexed me for a while when I first started learning it. 19:25:52 perplexed is fanatic word i must look up the dictioonary 19:26:05 -!- sjamaan [n=sjamaan@netbsd/developer/sjamaan] has quit ["upgrade time"] 19:26:20 fantastic* 19:26:45 i am searching for a while such word 19:26:49 :d 19:27:58 -!- copumpkin [n=pumpkin@dhcp-212-238.cs.dartmouth.edu] has quit [Client Quit] 19:29:35 danking: I learned it before I knew about continuations and call/cc. I was told that the last function called would be magical. 19:29:47 I suppose it is, in a way. 19:30:20 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 19:30:36 haha 19:33:14 -!- leppie [n=lolcow@dsl-243-60-08.telkomadsl.co.za] has quit [] 19:35:14 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 19:38:05 leppie [n=lolcow@dsl-243-60-08.telkomadsl.co.za] has joined #scheme 19:38:38 -!- sepult [n=user@xdsl-87-78-172-48.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 19:39:07 synx: I am also bothered that call/cc can either evaluate to a value *or* jump back in the stack. 19:39:22 (if I understood you correctly) 19:39:49 Perhaps I just don't understand its purpose and pragmatic yet. 19:39:59 s/pragmatic/pragmatics/ 19:40:02 TimMc: call/cc always has a value; it's either whatever the given proceduce returns, or what is passed as an argument to the continuation. 19:40:03 probably not :) 19:40:17 *procedure 19:40:21 most functions can return values or exit nonlocally. 19:40:27 not just call/cc. 19:40:44 wingo: exit nonlocally... like raising an error? 19:41:30 what is nonlocal 19:42:33 I want what the given procedure returns to be discarded, not returned from the call/cc. 19:42:43 (define (bar) (foo)) 19:42:50 you don't know if bar will return when you call it 19:42:58 I think that's a fundamentally different control flow though. 19:43:01 cky: So, "calling the provided continuation" = "go back to the lexical environment & stack where this was created, and 'return' the value I pass to it"? 19:43:01 foo might invoke any continuation 19:43:09 it might return more than once, even. 19:43:23 TimMc: That's one way to think of it, yes. 19:44:09 TimMc: Also what wingo has said; since a continuation can be stored and reused, the "return" can happen any number of times. 19:44:47 cky: Yeah, I've stored off a continuation and called it several times. Weird stuff. 19:45:03 You'll get used to it. :-) 19:45:06 How important is call/cc in everyday Scheme programming? 19:45:23 And it returns not just from the call/cc, but then from every procedure that was called above the call/cc 19:45:45 synx: *nods* 19:45:46 TimMc: Internally it's used to implement a few important things, like lambda. :p 19:45:54 TimMc: depends on what you do. i never use it. 19:46:05 (not because i hate it, just that i don't use it.) 19:46:24 synx: That's distressing. 19:46:24 also, one-shot continuations are often sufficient. 19:46:57 I've found that call/cc acts like a broken time machine. When returning doesn't violate causality it works. When it does, an exception is raised instead. 19:47:29 What's an example of "violating causality"? 19:48:03 r7rs goes back in time and becomes its own grandfather 19:48:09 Attempting to jump into an escape continuation... I forget the exact error message. 19:49:06 hezy [n=hezy@62.56.254.225] has joined #scheme 19:49:36 no! my parents' photo is vanishing!!! 19:49:44 someone stole my parents' continuation! 19:50:22 wingo: Would that mean scheme is going to erase all traces of itself? Cause I'd really rather that didn't happen. 19:50:23 the many worlds hypothesis: now in cyclical directed graph form for you enjoyment 19:50:32 *your 19:50:38 my fingers can't strum the strings 19:50:47 incubot, my fingers can't strum the strings 19:50:51 there is a banjo technique called "the bum titty strum" :) 19:50:55 (set! parents-shot (call/cc values)) 19:51:22 I have yet to use a non-one-shot continuation. I can't find any application for calling a continuation twice. 19:51:26 that's a nice trick, call/cc values. 19:52:33 only works if you use set! though. define errors out in plt. 19:55:23 synx: lolwut 19:55:43 Should I even *try* to understand that line of Scheme right now? 19:56:22 synx: even at the toplevel? 19:56:44 toplevel? 19:56:53 don't talk to me about the toplevel... 19:57:10 That seems cyclic but I might not understand the semantics properly.. 19:57:31 It only works at the toplevel, yeah my bad. 19:57:43 dammit stupid time machine 19:58:06 So you're creating a values of the continuation and then sticking that in parents-shot. Then the contents of parents-shot is a continuation that sets the value of parents-shot? No? 19:58:15 RageOfThou [n=RageOfTh@users-120-153.vinet.ba] has joined #scheme 19:58:44 -!- r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has quit [Read error: 110 (Connection timed out)] 19:58:55 (begin (set! parents-shot (call/cc values)) (parents-shot (lambda (self) #t))) 19:59:15 the continuation heard 'round the world 19:59:28 *TimMc* runs (parents-shot parents-shot) 20:02:23 synx: I refuse to believe that what you posted makes any sort of sense. 20:02:30 synx: What exaclty is the problem with that code? I'm not sure where you mean that continuations only work when they don't violate causality. I don't even know what that means. 20:02:49 TimMc: It makes plenty of sense. 20:02:52 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 20:03:16 https://synx.us.to/code/scheme/continuation-timetravel.ss 20:03:38 nooo don't download it 20:03:42 bad things could happen 20:04:14 it's okay, it's protected by an untrusted cert, firefox won't let you 20:04:35 synx: What is the point? 20:05:45 There are definite uses for continuations being stored and reused. 20:05:57 I don't know. 20:06:18 synx: Still, where is the violation of causality that causes errors? 20:06:40 `Peter [n=pk@188-23-8-160.adsl.highway.telekom.at] has joined #scheme 20:07:18 Well um... 20:08:26 synx: I grudgingly admit that your code may actually be plausible. :-P 20:08:39 I like continuation-madness.ss 20:08:54 s/mad/weird/ 20:09:21 Yeah, that one's weird too... 20:09:37 I was trying to figure out how to reuse continuations. 20:10:28 I just don't know how you'd do it in any sane manner. 20:10:30 -!- kniu [n=kniu@pool-71-106-16-199.lsanca.dsl-w.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 20:10:53 kniu [n=kniu@pool-71-106-16-199.lsanca.dsl-w.verizon.net] has joined #scheme 20:13:57 Mmm, tail-recursive loops 20:16:21 -!- MrFahrenheit [n=RageOfTh@users-42-186.vinet.ba] has quit [Connection timed out] 20:20:34 refusenik [n=Dfowler@ip-66-9-231-200.autorev.intellispace.net] has joined #scheme 20:22:55 -!- refusenik [n=Dfowler@ip-66-9-231-200.autorev.intellispace.net] has quit [Client Quit] 20:23:15 danfowler [n=Dfowler@ip-66-9-231-200.autorev.intellispace.net] has joined #scheme 20:31:17 peter___ [n=sjamaan@frohike.xs4all.nl] has joined #scheme 20:31:29 -!- peter___ is now known as sjamaan 20:33:23 *TimMc* sleeps 20:37:03 *zbigniew* fires an NMI at TimMc 20:38:43 anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has joined #scheme 20:41:08 hey 20:41:43 why if is define d a s a special form in secheme ? Because if works in normal order 20:41:55 -!- anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has quit [Remote closed the connection] 20:41:59 i mean if has working perinciple ad if doesnt work in applicitive order 20:42:07 anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has joined #scheme 20:44:03 But it doesn't work in "normal" order. If it did, using (define foo 'bar) would mean that if foo was unbound, you'd get an error. 20:45:11 In other words, "foo" should not be evaluated. That's why it's a special form. 20:45:37 if doesnt work in normal order ? 20:46:15 Think it through for a minute. :-) 20:46:51 okey i promise i am thinking but if i dont see that you said can you explain more clearly. 20:47:52 Okay. 20:48:03 Let's look at a "normal" function like +. 20:48:15 If you said (+ foo 5), and foo is unbound, you will get an error. 20:48:32 However, if you said (define foo 5), foo is bound to 5. 20:48:42 You don't get an error, because foo is not evaluated. 20:50:08 jao [n=jao@127.Red-213-98-196.dynamicIP.rima-tde.net] has joined #scheme 20:50:44 yeah 20:51:15 -!- underspecified [n=eric@155.69.197.39] has quit [Read error: 60 (Operation timed out)] 20:51:22 i dont see the whole point 20:51:25 You can't have a "normal" procedure in Scheme where some of the arguments are unevaluated. :-P 20:51:45 Any time where you want anything other than standard evaluation, a special form is needed. 20:52:57 ha 20:53:01 i understand 20:53:13 if has three thing 20:53:14 Good. :-) 20:53:18 if cond than else 20:53:30 cond is true eval ( than) 20:53:42 cond is not true eval (lse) 20:53:47 else* 20:53:48 That's right, and that's why "if" is a special form too. :-) 20:54:09 we evaluate things in if step by step 20:55:12 but lots of people said if works in normal order evaluation 20:58:03 But it doesn't. 20:58:15 If it did, both the "then" and the "else" parts will get evaluated. 20:59:08 so what is the evaluation order of "if" 20:59:12 -!- dysinger [n=dysinger@71.20.35.99] has quit [Connection timed out] 20:59:52 hang on, "normal order evaluation" means arguments are evaluated when needed 21:00:02 yes 21:00:05 So in normal order evaluation, if works as a non-special form because everything's lazy 21:00:21 what is non special form ? 21:00:23 sjamaan: Oh! Okay, we're so totally on different pages then. 21:00:24 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 21:00:33 jengle [n=jengle@64-252-50-88.adsl.snet.net] has joined #scheme 21:00:38 I think that cky understood it differently 21:00:41 sjamaan: I wasn't thinking about lazy evaluation or anything like that. 21:01:01 Scheme uses applicative order evaluation, which means everything is evaluated before invoking the procedure 21:01:05 hi 21:01:06 jengle, memo from rudybot: TimMc told me to tell you: Here's my way over-documented version of your sieve code: http://paste.lisp.org/display/84878 21:01:06 jengle, memo from TimMc: TimMc sez: Here's my way over-documented version of your sieve code: http://paste.lisp.org/display/84878 21:01:08 (eager evaluation) 21:01:20 sjamaan: Thanks for clearing that up. 21:01:26 np 21:01:35 lucas_: Well, forget anything I may or may not have said about normal order application. :-P 21:01:47 lucas_: I thought you were referring to the "normal" way Scheme applies things. 21:02:00 I thought you thought he was ;) 21:02:11 sjamaan: Exactly! 21:02:34 i must forgat everythhing (why if is defined as a special form )? :D 21:03:10 lucas_: You were correct that if will "just work" in normal order (aka lazy) evaluation 21:03:19 lucas_: No, just that standard Scheme has nothing to do with "normal order evaluation". 21:03:33 lucas_: Because as sjamaan said, Scheme uses applicative order evaluation. 21:03:42 But in applicative order (aka eager) evaluation, which is what Scheme uses, if would be evaluated after every argument is evaluated 21:03:46 That's not what we want 21:03:47 -!- jengle [n=jengle@64-252-50-88.adsl.snet.net] has quit [Client Quit] 21:03:58 So we must override the way IF is evaluated 21:04:07 And we can only do that by making it a special form 21:05:40 what is the difference between laziness with cache and laziness without cache 21:05:46 understood sjamaan 21:06:17 we make laziness with cache only prevent reevaluation 21:06:20 fro example 21:06:40 (define (foo x) (+ x x)) (foo (+ 2 3)) 21:07:04 in laziness (+ 2 3) substitute with x 21:07:20 (foo (+ (+ 2 3) (+ 2 3)) 21:07:41 this is waste of time and we use cache because of that reason is that the only reason 21:08:04 i read also plai book which helps to write scheme interpreter 21:08:55 No, that's not the only reason, afaik 21:09:13 With scheme's DELAY, you can delay a computation until it's needed 21:09:34 lucas_: Haven't you been in here recently under a different nick? 21:09:55 But if that computation involves side-effects (like reading a line from a file), you don't want those side-effects to happen the next time you need that same value again 21:10:41 my nick was delopart 21:10:46 but i reinstalled ubuntu 21:10:52 and my nick changed sorry 21:10:59 You're not making any more sense than when you were delopart. 21:11:22 sorry chandler 21:11:38 will you ban me :D 21:11:48 -!- danfowler [n=Dfowler@ip-66-9-231-200.autorev.intellispace.net] has quit [Read error: 104 (Connection reset by peer)] 21:12:26 No. 21:12:38 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 21:13:10 thanks chandler promise i try to make more sense 21:15:37 MononcQc [i=MononcQc@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 21:18:28 -!- mario-goulart [n=user@201-40-162-47.cable.viacabocom.com.br] has quit [Remote closed the connection] 21:19:27 lucas_: Semantically speaking, I believe that evaluation with a cache is just an optimization trick, nothing more, provided that we deal in non-side-effect based languages. As soon as you introduce the ability to side-effect or such, then you have different semantic meanings. 21:20:12 -!- dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has quit [Remote closed the connection] 21:21:11 If you cache the returned values, this means you're no longer evaluating the entire expression, which means that if the expression had side-effects in it, those side-effects occur only once. If you have no caching, the expression could potentially be evaluated many times. 21:29:09 dysinger [n=dysinger@71.20.35.99] has joined #scheme 21:29:39 copumpkin [n=pumpkin@dhcp-212-238.cs.dartmouth.edu] has joined #scheme 21:34:27 med 21:37:37 dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has joined #scheme 21:37:41 -!- cracki_ is now known as cracki 21:38:25 -!- arcfide [n=arcfide@99.14.210.197] has left #scheme 21:40:12 -!- kuribas [i=kristof@d54C436BF.access.telenet.be] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 21:48:57 -!- bombshelter13_ [n=bombshel@206.80.252.37] has quit [] 21:48:58 -!- copumpkin [n=pumpkin@dhcp-212-238.cs.dartmouth.edu] has quit [Client Quit] 21:49:44 -!- XTL [i=t6haha00@rhea.oamk.fi] has quit [Read error: 13 (Permission denied)] 21:50:55 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 21:53:46 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit [Client Quit] 21:54:12 -!- dysinger [n=dysinger@71.20.35.99] has quit [Remote closed the connection] 21:56:55 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 21:57:00 dysinger [n=dysinger@71.20.35.99] has joined #scheme 22:07:55 -!- tltstc [n=tltstc@cpe-76-90-92-154.socal.res.rr.com] has quit [] 22:10:26 -!- dysinger [n=dysinger@71.20.35.99] has quit [Remote closed the connection] 22:12:54 -!- sstrickl [n=sstrickl@nomad.ccs.neu.edu] has quit ["rcirc on GNU Emacs 23.0.60.1"] 22:14:50 -!- bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:16:42 dysinger [n=dysinger@71.20.35.99] has joined #scheme 22:17:19 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Connection reset by peer] 22:19:41 -!- dysinger [n=dysinger@71.20.35.99] has quit [Remote closed the connection] 22:20:59 -!- RageOfThou [n=RageOfTh@users-120-153.vinet.ba] has quit [Read error: 110 (Connection timed out)] 22:23:33 Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has joined #scheme 22:26:56 npe [n=npe@94-224-251-223.access.telenet.be] has joined #scheme 22:27:46 -!- peddie [n=peddie@c-67-169-9-130.hsd1.ca.comcast.net] has quit [Read error: 110 (Connection timed out)] 22:30:11 peddie [n=peddie@c-67-169-9-130.hsd1.ca.comcast.net] has joined #scheme 22:34:07 -!- `Peter [n=pk@188-23-8-160.adsl.highway.telekom.at] has quit [] 22:35:32 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 22:35:52 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 22:36:18 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 22:37:06 MonononcQC [i=MononcQc@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 22:38:10 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 60 (Operation timed out)] 22:39:31 -!- MononcQc [i=MononcQc@modemcable062.225-20-96.mc.videotron.ca] has quit [Nick collision from services.] 22:39:36 -!- MonononcQC is now known as mononcqc 22:40:08 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Read error: 113 (No route to host)] 22:51:15 -!- hezy [n=hezy@62.56.254.225] has quit ["Leaving"] 22:54:17 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit [] 23:02:17 is there a some place for log #scheme 23:02:26 you keep the log in some place ? 23:02:54 dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has joined #scheme 23:03:15 look at the topic 23:04:36 -!- lucas_ [n=lucas@212.174.74.11] has left #scheme 23:04:41 lucas_ [n=lucas@212.174.74.11] has joined #scheme 23:06:51 -!- wingo [n=wingo@67.Red-79-156-145.staticIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 23:09:27 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 23:11:56 -!- svf [n=svf@pdpc/supporter/active/svf] has quit ["leaving"] 23:13:28 -!- Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has quit ["Leaving"] 23:14:53 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 23:25:28 -!- anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has quit [Remote closed the connection] 23:25:49 anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has joined #scheme 23:25:56 -!- anborn [n=anborn@host108-223-dynamic.1-79-r.retail.telecomitalia.it] has quit [Client Quit] 23:42:47 davids [n=davids@189.122.90.116] has joined #scheme