00:01:16 saccade_ [n=saccade@dhcp-18-188-68-12.dyn.mit.edu] has joined #scheme 00:03:37 underspecified [n=eric@220.43.52.11] has joined #scheme 00:05:40 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 00:15:40 -!- fschwidom [n=fschwido@dslb-084-059-133-037.pools.arcor-ip.net] has quit [Remote closed the connection] 00:16:42 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 00:17:14 suzume [n=user@210.136.182.44] has joined #scheme 00:18:12 gweiqi [n=greg@69.120.126.163] has joined #scheme 00:18:23 Ashy [n=User@118.107.36.126] has joined #scheme 00:18:43 -!- Ashy [n=User@118.107.36.126] has quit [Read error: 104 (Connection reset by peer)] 00:19:12 npe_ [n=npe@32.97.110.64] has joined #scheme 00:20:07 -!- npe [n=npe@32.97.110.64] has quit [Connection reset by peer] 00:21:39 -!- jonrafkind [n=jon@wireless179.wireless.utah.edu] has quit [Read error: 110 (Connection timed out)] 00:23:18 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 113 (No route to host)] 00:29:25 arcfide [n=arcfide@adsl-99-186-237-247.dsl.bltnin.sbcglobal.net] has joined #scheme 00:42:59 -!- rdd [n=user@c83-250-142-219.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 00:45:45 -!- tltstc` [n=nine@192.207.69.1] has quit [] 00:46:12 sctb [n=sctb@S01060016cbc2d41a.cg.shawcable.net] has joined #scheme 00:49:00 -!- suzume [n=user@210.136.182.44] has quit [Read error: 104 (Connection reset by peer)] 00:51:27 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 00:52:28 REPLeffect [n=REPLeffe@69.54.115.254] has joined #scheme 00:56:10 JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has joined #scheme 00:56:44 -!- saccade_ [n=saccade@dhcp-18-188-68-12.dyn.mit.edu] has quit ["Leaving"] 00:57:08 -!- Mr_SpOOn [n=Mr_SpOOn@89-97-102-218.ip17.fastwebnet.it] has quit ["Lost terminal"] 01:03:50 GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has joined #scheme 01:03:55 -!- GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has left #scheme 01:07:48 incubot: bacon 01:07:51 (serve (fry bacon) (make-omelette (beat egg) (drain (steam spinach)) (saute mushroom)) (toast bread)) 01:10:54 so the bacon comes with scalding hot oil? 01:11:03 since it is not drained 01:16:37 -!- sctb [n=sctb@S01060016cbc2d41a.cg.shawcable.net] has quit [Read error: 60 (Operation timed out)] 01:16:46 -!- hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has quit ["He rode off into the sunset. . ."] 01:22:07 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 01:22:46 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Remote closed the connection] 01:24:35 -!- JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 01:27:43 -!- arcfide [n=arcfide@adsl-99-186-237-247.dsl.bltnin.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 01:28:53 The grease is the best part. 01:30:48 JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has joined #scheme 01:31:15 *offby1* jerks awake 01:32:34 *elf* awakens jerks. 01:32:42 saccade_ [n=saccade@dhcp-18-188-68-12.dyn.mit.edu] has joined #scheme 01:33:15 *elf* awakens and immediately regrets it. 01:33:23 *offby1* rolls over 01:33:30 *elf* plays fetch with offby1. 01:33:38 woof 01:33:43 oink? 01:35:00 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 01:36:07 fschwidom [n=fschwido@dslb-084-059-133-031.pools.arcor-ip.net] has joined #scheme 01:37:22 -!- acarrico1 is now known as acarrico 01:37:56 proqesi [n=user@unaffiliated/proqesi] has joined #scheme 01:43:12 foobar8 [n=user@dslb-088-067-042-070.pools.arcor-ip.net] has joined #scheme 01:49:16 -!- fschwidom [n=fschwido@dslb-084-059-133-031.pools.arcor-ip.net] has quit [Remote closed the connection] 01:51:30 -!- kniu [n=kniu@LEMON.RES.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 01:52:46 kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has joined #scheme 02:01:07 arcfide [n=arcfide@adsl-99-14-210-110.dsl.bltnin.sbcglobal.net] has joined #scheme 02:02:03 Bah, stinkin' internet. 02:03:43 -!- npe_ [n=npe@32.97.110.64] has quit [] 02:06:31 -!- foobar8 [n=user@dslb-088-067-042-070.pools.arcor-ip.net] has quit [Remote closed the connection] 02:10:33 minion: advice for arcfide 02:10:42 arcfide: #11906: Look at the error message! Look at the error message! 02:10:55 minion: Thanks. 02:11:02 you're welcome 02:11:35 minion: Can you not punctuate or capitalize? 02:11:43 you speak nonsense 02:12:21 *arcfide* slaps minion with a Chicago Manual of Style. 02:14:46 minion is a cool internet kid 02:15:23 Also, I'd have a hard time slapping anyone with CMS; at least my copy is hardbound. 02:15:51 chandler: I intended to provide quite a shocking and forceful experience for minion. 02:16:05 chandler: I would not have succeeded without a hard-bound copy of CMS. 02:16:20 -!- saccade_ [n=saccade@dhcp-18-188-68-12.dyn.mit.edu] has quit ["This computer has gone to sleep"] 02:16:42 I figured it was either that or my 1828 Facsimile copy of Webster's Dictionary of the American Language. 02:17:19 Oh, and for the record, I very much dislike Python. 02:17:43 -!- melito [n=melito@70.99.250.82] has quit ["Leaving..."] 02:17:49 Specifically, ugly, strangely written Python that does not translate easily into Scheme. 02:24:19 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 02:25:03 mtklein [n=mtklein@209.6.22.152] has joined #scheme 02:26:09 -!- mtklein [n=mtklein@209.6.22.152] has quit [Client Quit] 02:27:41 -!- aaco [n=aaco@unaffiliated/aaco] has quit ["Leaving"] 02:29:33 I haven't seen python that does not translate easily into scheme. Though it does use looping constructs... 02:30:32 -!- underspecified [n=eric@220.43.52.11] has quit [] 02:31:45 -!- sondermann [n=user@142-210-dsl.kielnet.net] has quit [Read error: 101 (Network is unreachable)] 02:38:08 -!- arcfide [n=arcfide@adsl-99-14-210-110.dsl.bltnin.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 02:38:14 -!- incubot [n=incubot@24.205.65.135] has quit [Read error: 104 (Connection reset by peer)] 02:43:04 incubot [n=incubot@24.205.65.135] has joined #scheme 02:49:40 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 03:05:40 Gee... wouldn't it be nice if Scheme had looping constructs? 03:06:52 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 03:11:02 -!- wastrel [n=wastrel@nylug/member/wastrel] has quit ["bedtime"] 03:11:41 .. and code blocks? 03:12:39 arcfide [n=arcfide@adsl-99-50-224-221.dsl.bltnin.sbcglobal.net] has joined #scheme 03:15:32 Ooh, yeah, and goto! 03:15:38 We might be able to make a real language here :) 03:16:16 That's pretty terrifying 03:19:15 Looping constructs in Python are easy to map to Scheme, especially given the existence of foof loop. 03:22:48 isn't recursion bloat on any platform? all those nasty pushes and pops. 03:22:53 saccade_ [n=saccade@65.78.24.47] has joined #scheme 03:24:32 science4sail [n=user@24.174.121.77] has joined #scheme 03:27:20 JohnnyL: That's not the best way to troll Schemers. You should look into what we flame about amongst ourselves if you want to troll. 03:31:44 -!- foof [n=user@dn157-046.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 03:33:02 -!- proqesi [n=user@unaffiliated/proqesi] has quit [Read error: 113 (No route to host)] 03:41:19 -!- arcfide [n=arcfide@adsl-99-50-224-221.dsl.bltnin.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 03:44:55 foof, are you saying recusion in scheme doesn't push and pop? 03:45:53 rtra_ [n=rtra@unaffiliated/rtra] has joined #scheme 03:46:04 JohnnyL: Yes. Especially tail recursion. 03:51:34 -!- rtra [n=rtra@unaffiliated/rtra] has quit [Read error: 145 (Connection timed out)] 03:55:33 I had a gruelling eight-hour interview today; whose highlight was: "hey, python is a von neumann scheme!" 03:55:38 what are you supposed to say to that? 03:55:48 -!- tarbo [n=me@unaffiliated/tarbo] has quit [Read error: 60 (Operation timed out)] 03:57:46 "I thought it was a van Rossum plot!" 03:58:01 nice 03:58:18 hml [n=x@unaffiliated/hml] has joined #scheme 04:02:03 wow 04:03:05 elmex_ [n=elmex@e180069048.adsl.alicedsl.de] has joined #scheme 04:03:39 klutometis: The answer is to force them to watch the Python movie. 04:04:08 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 04:04:40 what could they possibly interview you about over 8 hours? all I can think is obstacle course... 04:07:05 klutometis: it does show you how much time they have. 04:07:38 klutometis: in my last interview i got the feeling none of them did any work. 04:07:52 there was like 4 people pinging me at once. 04:07:54 I don't think it wise to work for people who feel it necessary to interview you for 8 hours. Quite paranoid and untrusting that. 04:08:29 8 hours??? jesus 04:08:49 i can't stand 1 hout interview with candidat 04:08:55 hour 04:09:26 simple, give someone an 8-hour programming problem and then hover over them the entire time 04:09:46 there is no 8-hour programming problem 04:09:48 make sure to eat onions beforehand 04:09:59 ;) 04:10:51 a programming problem would be kind of subject to chaos theory after 8 hours... some people would randomly find the answer quickly, others would work on it for weeks without any luck, even if they were brilliant. 04:11:03 indeed 04:11:31 and no one will spent all 8 hour to sovle the problem. slashdot, emails.. 04:11:50 I'm pretty sure I was interviewed for a solid day at M$, and perhaps at other jobs too 04:11:52 also you cannot predict whether every program will halt or not, and "the process of creating a program to solve a problem" is itself a program. 04:12:05 it's full of heuristics too, so extremely non-deterministic. 04:12:14 people are just computers running programs? I never knew that. 04:12:21 ya learn something new every day 'round here 04:12:38 synx: duh, it's easy solveable. 04:12:50 I didn't specify a computer program. :p 04:13:07 synx: as u should know, the programming cannot be finished, it can be terminated only 04:13:42 so, I can predict "the process of creating a program" is never finishes. 04:13:46 rmrfchik: So no program creation program ever halts? :> They all go on to infinitetime! 04:13:53 yes! 04:14:12 and u need to ABSTOP it 04:14:30 So therefore it's impossible to create a programming problem that takes 8 hours to solve, since all programming problems can never be solved. 04:14:38 Hey, we need releaze. Freeze your work. Take hands away of keyboard. 04:14:45 You just have to give up after a while and say "That's good enough." 04:15:10 Rename it to Vista 04:15:15 ...and write next digit from Pi to version 04:15:22 "You have eight hours to write a program that can be written in eight hours. Show your work." 04:17:10 also, onion breath 04:17:37 it's almost 24 hour without sleep. 04:17:49 -!- elmex [n=elmex@e180068048.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 04:17:52 -!- elmex_ is now known as elmex 04:19:46 fschwidom [n=fschwido@dslb-084-059-133-031.pools.arcor-ip.net] has joined #scheme 04:29:01 eno__ [n=eno@adsl-70-137-179-12.dsl.snfc21.sbcglobal.net] has joined #scheme 04:29:46 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 04:30:05 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 04:33:15 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 04:35:00 -!- MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has quit ["Leaving."] 04:35:41 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 04:37:35 -!- gweiqi [n=greg@69.120.126.163] has left #scheme 04:39:17 -!- eno__ [n=eno@adsl-70-137-179-12.dsl.snfc21.sbcglobal.net] has quit ["leaving"] 04:39:32 eno__ [n=eno@adsl-70-137-179-12.dsl.snfc21.sbcglobal.net] has joined #scheme 04:40:38 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed out)] 04:44:05 underspecified [n=eric@clair16.naist.jp] has joined #scheme 04:45:26 -!- mejja [n=user@c-4db6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 04:53:24 -!- eno__ [n=eno@adsl-70-137-179-12.dsl.snfc21.sbcglobal.net] has quit ["leaving"] 04:56:12 -!- fschwidom [n=fschwido@dslb-084-059-133-031.pools.arcor-ip.net] has quit [Remote closed the connection] 04:57:24 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 05:00:12 -!- hml [n=x@unaffiliated/hml] has quit [Remote closed the connection] 05:02:07 benny` [n=benny@i577A0726.versanet.de] has joined #scheme 05:02:48 *Daemmerung* dreads "pair programming" with zbigniew 05:04:09 synx: would you invest 8 hours in something that might cost tens of thousands a year? 05:04:28 JohnnyL: yeah, i got a little of the menage a trois, quatre action 05:04:47 rmrfchik: 8 hours divided over 14 interviewers 05:04:54 Daemmerung: "zb" is actually the onomatopoeia for heavy mouth breathing 05:04:54 klutometis: Not all at once, and your use of the term "invest" is amusing. 05:05:55 14 interviewers? That's a bit different I suppose. Still seems too paranoid and picky though. 05:07:02 synx: yeah, but that's the corporate entity, though; jealous and self-absorbed 05:08:00 zbigniew: I've had enough piquantly perfumed coworkers for a lifetime. Reason enough to pursue solo gigs when I have the choice. 05:08:01 I wonder if it's wise to work for people like that. 05:08:56 synx: yeah, reminds me of when i had to interview for a military gig: there were cats smoking cigars in dimly lit rooms that I swear had been clone n-times over 05:09:35 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 05:10:27 tjafk2 [n=timj@e176214189.adsl.alicedsl.de] has joined #scheme 05:11:10 Daemmerung: these next folk may allow me to work from home, which may be the next best thing to lone-wolf-wesen 05:13:28 Einzelgaenger 05:13:36 exactly 05:13:44 Eigenbroetler 05:14:46 has anyone tried pyscheme, by the way? i wonder if you can clandestinize scheme in python projects the same way you can with sisc in java 05:16:40 MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has joined #scheme 05:17:56 -!- benny [n=benny@i577A0567.versanet.de] has quit [Connection timed out] 05:17:56 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 131 (Connection reset by peer)] 05:18:19 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 05:26:41 -!- tjafk1 [n=timj@e176218074.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 05:30:58 -!- incubot [n=incubot@24.205.65.135] has quit [Remote closed the connection] 05:35:10 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 05:35:25 suzume [n=user@210.136.182.44] has joined #scheme 05:36:04 incubot [n=incubot@24.205.65.135] has joined #scheme 05:42:33 -!- JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has quit [] 05:49:29 -!- science4sail [n=user@24.174.121.77] has quit [Remote closed the connection] 05:54:03 Lemonator [n=kniu@LEMON.RES.CMU.EDU] has joined #scheme 05:54:40 -!- kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has quit [Read error: 60 (Operation timed out)] 05:57:16 incubot: exams require a full cock; but you want to be sexed up before an interview 05:57:19 I don't want to be sexed by homer, though... 05:57:26 great success! 06:03:45 -!- synthasee [n=synthase@68.63.20.12] has quit [Read error: 60 (Operation timed out)] 06:03:58 synthase [n=synthase@68.63.20.12] has joined #scheme 06:11:02 Adamant [n=Adamant@c-98-244-152-196.hsd1.ga.comcast.net] has joined #scheme 06:12:08 -!- Eekdacat [i=Eekdacat@cpe-74-70-20-146.nycap.res.rr.com] has quit [] 06:16:27 bkjvbx [n=lol@38.117.98.126] has joined #scheme 06:20:15 incubot are you a bot? 06:20:31 -!- underspecified [n=eric@clair16.naist.jp] has quit [Read error: 104 (Connection reset by peer)] 06:20:35 underspecified_ [n=eric@clair16.naist.jp] has joined #scheme 06:23:02 xz: you need to address it as incubot: with a colon I think. 06:25:27 underspecified [n=eric@naist-wavenet125-204.naist.jp] has joined #scheme 06:29:37 renke [n=renke@134.106.200.218] has joined #scheme 06:41:49 incubot: are you sexed by a bot? 06:41:51 I don't want to be sexed by homer, though... 06:43:02 incubot: are you a bot? 06:43:37 incubot: are you sexed? 06:43:39 I don't want to be sexed by homer, though... 06:43:47 -!- underspecified_ [n=eric@clair16.naist.jp] has quit [Read error: 113 (No route to host)] 06:48:50 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 06:50:24 -!- XTL [i=t6haha00@rhea.oamk.fi] has quit [Read error: 104 (Connection reset by peer)] 06:50:27 incubot: incubot? 06:50:49 incubot: lose 06:50:51 Here's the problem: I've got a few friends who've been using Blogger and third-party comment systems for quite a while - long enough to have built up a body of comments that they'd prefer not to lose. 06:51:54 XTL [i=t6haha00@rhea.oamk.fi] has joined #scheme 06:53:49 athos [n=philipp@p54B864C8.dip.t-dialin.net] has joined #scheme 06:58:31 Nshag [i=user@Mix-Orleans-105-4-182.w193-250.abo.wanadoo.fr] has joined #scheme 06:59:00 -!- benny` [n=benny@i577A0726.versanet.de] has quit [Read error: 104 (Connection reset by peer)] 07:15:42 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 07:23:43 -!- renke [n=renke@134.106.200.218] has quit ["leaving"] 07:23:59 tizoc_ [n=user@r190-135-24-205.dialup.adsl.anteldata.net.uy] has joined #scheme 07:27:05 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 07:40:45 -!- tizoc [n=user@r190-135-32-128.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 07:41:01 foof [n=user@isa7-dhcp-116-151.naist.jp] has joined #scheme 07:45:41 foof` [n=user@naist-wavenet125-179.naist.jp] has joined #scheme 07:46:00 ramkrsna [n=ramkrsna@unaffiliated/ramkrsna] has joined #scheme 07:46:05 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 07:47:03 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [Client Quit] 07:49:55 -!- foof [n=user@isa7-dhcp-116-151.naist.jp] has quit [Read error: 104 (Connection reset by peer)] 08:15:22 incubot: monkeys 08:15:25 dr robotnik has recruited them for his army of robotic monkeys 08:19:52 -!- geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has quit [Read error: 110 (Connection timed out)] 08:26:19 God, such whining on the PLT list of late. 08:27:28 i need to write a function that takes a list and returns a list of all the possible sublists of that initial list. where a sublist is that list minus zero or more elements. i don't even know where to start. :( 08:28:12 indraastra [n=indraast@c-67-180-29-175.hsd1.ca.comcast.net] has joined #scheme 08:28:53 mike_ [n=mike@dslb-088-067-019-090.pools.arcor-ip.net] has joined #scheme 08:29:23 -!- mike_ is now known as Guest95906 08:29:23 -!- suzume [n=user@210.136.182.44] has quit [Read error: 104 (Connection reset by peer)] 08:29:38 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 08:30:10 -!- Guest95906 [n=mike@dslb-088-067-019-090.pools.arcor-ip.net] has quit [Client Quit] 08:30:42 Forget about the procedure for a moment. Take a piece of paper, write a brief sequence of symbols, then write beneath it every valid subsequence of that sequence per your definition. 08:31:05 okay. 08:32:44 psygnisfive [n=psygnisf@c-71-57-164-119.hsd1.fl.comcast.net] has joined #scheme 08:32:45 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 08:32:56 aaaanayone here familiar with mit-scheme? 08:33:04 done. i just don't know where to start though. 08:33:37 or really any scheme with a c api? 08:33:43 Now consider your original sequence less one of its symbols. 08:34:39 okay. but there's multiple sequences that would fit that 08:34:43 That derived sequence will itself have a number of subsequences, which will be a subset of the first enumeration. 08:34:59 makes sense. 08:35:11 You could continue this process.... 08:35:17 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 08:35:53 (and yes, there are multiple sequences that would fit that "original less one" defn. Those multiple sequences should each be part of your original enumeration-of-all-solutions.) 08:36:21 ohh. starting to get it. so i recurse once to get all initial sequences, and then recurse on every single one of those? 08:36:40 That'd be my first take, yes. 08:36:42 and so forth. but then i'd be left with a lot of duplicate sequences at the end, wouldn't I? 08:36:49 Probably. 08:37:02 Are dups a problem? 08:37:13 yeah. 08:37:20 If they are, when you merge the results you'll have to eliminate dups. 08:37:49 hmm. okay. that would involve a lot more wouldn't it 08:37:55 Can the original list contain duplicate symbols (or numbers or whatever its elements are)? 08:38:02 e.g. (a b c d c f g) 08:38:11 If not, then not a problem. 08:38:12 no, the original doesn't have duplicates. 08:38:59 the order is maintained in the sublists, which might have something to do with it 08:39:38 Oh, then it's not just permutations. I didn't catch that. That'll be a little different. 08:39:54 (a b c d e) => (a) (a b) (a b c) (b c) etc. - right? 08:40:00 yep. 08:40:48 A little simpler then, but the same notion. You can see the pattern? 08:41:10 oh wow, now that you put it in that order 08:41:11 Recursion is the key. As it ususally is in exercises of this nature. 08:41:25 haha. thank you so much. i can't believe i didn't see that before. 08:41:41 so you just take the first one and add each successive value. wow. 08:42:09 This approach will work for similar problems. Write down a short sample of the domain, figure out the correct output, then work backwards, trying to find the pattern. 08:43:07 yeah, it makes sense. what'd i'd done was write it down (a) (b) (c) (a b) (a c) (b c) (a b c) and so forth, which didn't show the same pattern. 08:43:43 But (a c) isn't a valid member of the solution, is it? 08:44:14 yes, actually. right, so it seems i'm not done yet. 08:45:00 the solutions involve the original list minus zero or more of its values. 08:45:53 but i think i'm a little further along. i'll try it again and see how far i get. thanks for all your help so far. 08:46:04 Good luck with it/ 08:49:31 thank you! 08:51:21 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 08:53:53 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 09:04:07 -!- foof` [n=user@naist-wavenet125-179.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 09:08:43 ejs [n=eugen@nat.ironport.com] has joined #scheme 09:09:17 -!- indraastra [n=indraast@c-67-180-29-175.hsd1.ca.comcast.net] has left #scheme 09:09:28 foof [n=user@isa7-dhcp-116-151.naist.jp] has joined #scheme 09:20:04 schmalbe [n=bernhard@p549A06E4.dip0.t-ipconnect.de] has joined #scheme 09:29:13 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 09:35:41 -!- saccade_ [n=saccade@65.78.24.47] has quit ["This computer has gone to sleep"] 09:37:00 hotblack23 [n=jh@p5B057ED3.dip.t-dialin.net] has joined #scheme 09:53:37 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 09:57:12 -!- maskd [i=maskd@unaffiliated/maskd] has quit [Remote closed the connection] 09:58:16 -!- bkjvbx [n=lol@38.117.98.126] has quit [Read error: 113 (No route to host)] 10:00:55 -!- dirchh [n=user@jimi.informatik.uni-tuebingen.de] has quit [Remote closed the connection] 10:04:20 Mr_SpOOn [n=Mr_SpOOn@89-97-102-218.ip17.fastwebnet.it] has joined #scheme 10:04:20 -!- ffx` [n=tits@60-241-74-240.static.tpgi.com.au] has quit [Read error: 54 (Connection reset by peer)] 10:19:26 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit ["strawberries"] 10:31:52 -!- underspecified [n=eric@naist-wavenet125-204.naist.jp] has quit [] 10:42:24 -!- raikov [n=igr@203.181.243.11] has quit [Read error: 110 (Connection timed out)] 10:42:40 -!- drdo [n=psykon@77.54.111.167] has quit [Remote closed the connection] 10:48:54 rdd [n=user@c83-250-142-219.bredband.comhem.se] has joined #scheme 10:54:39 -!- Mr_SpOOn [n=Mr_SpOOn@89-97-102-218.ip17.fastwebnet.it] has quit ["leaving"] 10:57:33 ecraven [n=nex@140.78.42.103] has joined #scheme 11:00:20 acarrico1 [n=acarrico@pppoe-68-142-43-223.gmavt.net] has joined #scheme 11:02:27 -!- MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has quit ["Leaving."] 11:08:30 -!- acarrico [n=acarrico@pppoe-68-142-37-185.gmavt.net] has quit [Read error: 110 (Connection timed out)] 11:13:11 -!- a1len [n=James@unaffiliated/a1len] has quit ["the young soldier fart his brother looked at each other, fart both knew that with love, fart truth, fart courage both would e] 11:14:16 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 11:15:19 Adamant [n=Adamant@c-98-244-152-196.hsd1.ga.comcast.net] has joined #scheme 11:22:36 -!- tizoc_ is now known as tizoc 11:32:40 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [No route to host] 11:38:42 BW^- [i=Miranda@79.138.188.52.bredband.tre.se] has joined #scheme 11:42:32 underspecified [n=eric@clair16.naist.jp] has joined #scheme 11:50:42 -!- dnm [n=dnm@c-68-49-46-251.hsd1.va.comcast.net] has quit [Read error: 110 (Connection timed out)] 11:52:01 higepon827 [n=taro@FL1-122-130-138-220.tky.mesh.ad.jp] has joined #scheme 12:06:46 -!- grnman [n=grnman@c-76-110-165-179.hsd1.fl.comcast.net] has quit [Read error: 110 (Connection timed out)] 12:07:07 -!- foof [n=user@isa7-dhcp-116-151.naist.jp] has quit [Read error: 113 (No route to host)] 12:20:08 -!- rdd [n=user@c83-250-142-219.bredband.comhem.se] has quit [Remote closed the connection] 12:25:19 -!- yagur [n=yyaaa@211.109.158.113] has quit ["  ."] 12:44:03 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit ["..."] 12:52:14 fschwidom [n=fschwido@dslb-084-059-133-031.pools.arcor-ip.net] has joined #scheme 12:52:25 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 12:57:44 aaco [n=aaco@unaffiliated/aaco] has joined #scheme 12:58:39 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 12:59:00 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 13:00:12 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 13:00:36 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 13:00:55 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 13:02:25 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 13:02:43 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 13:04:05 -!- rtra_ [n=rtra@unaffiliated/rtra] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 13:12:51 -!- ejs [n=eugen@nat.ironport.com] has quit ["Ex-Chat"] 13:22:56 mld [n=user@cekyrij.olf.sgsnet.se] has joined #scheme 13:24:34 Mr_SpOOn [n=Mr_SpOOn@89-97-102-218.ip17.fastwebnet.it] has joined #scheme 13:25:52 orgy` [n=ratm_@pD9FFE926.dip.t-dialin.net] has joined #scheme 13:35:00 hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has joined #scheme 13:35:49 cemerick [n=la_mer@75.147.38.122] has joined #scheme 13:40:23 Kerris0 [n=Kerris@138.37.239.213] has joined #scheme 13:40:51 got Simply Scheme yesterday 13:41:05 -!- mld [n=user@cekyrij.olf.sgsnet.se] has quit [Remote closed the connection] 13:41:27 man this would be such a great book if it could be updated to use PLT Scheme 13:43:00 oh nice, there's simply-scheme.plt 13:45:49 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 13:45:49 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 13:48:19 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 13:48:32 -!- incubot [n=incubot@24.205.65.135] has quit [Read error: 110 (Connection timed out)] 13:51:12 athos_ [n=philipp@p54B86ADA.dip.t-dialin.net] has joined #scheme 13:51:53 incubot [n=incubot@24.205.65.135] has joined #scheme 13:54:16 foof [n=user@dn157-046.naist.jp] has joined #scheme 14:00:54 DuClare [n=duclare@a81-197-106-84.elisa-laajakaista.fi] has joined #scheme 14:01:03 -!- underspecified [n=eric@clair16.naist.jp] has quit [] 14:08:37 -!- athos [n=philipp@p54B864C8.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 14:13:26 -!- suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 14:13:55 suzume [n=user@pl044.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 14:31:11 annodomini [n=lambda@64.30.3.122] has joined #scheme 14:33:49 langmartin [n=user@75.148.111.133] has joined #scheme 14:39:26 yhara [n=yhara@7.193.12.221.megaegg.ne.jp] has joined #scheme 14:41:36 GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has joined #scheme 14:42:07 -!- GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has left #scheme 14:42:54 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 14:51:33 -!- Kerris0 [n=Kerris@138.37.239.213] has quit [Read error: 110 (Connection timed out)] 14:55:08 bkjvbx [n=lol@38.117.98.125] has joined #scheme 14:56:00 jlongster [n=user@75.148.111.133] has joined #scheme 14:56:07 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 14:57:58 -!- bkjvbx [n=lol@38.117.98.125] has quit [Client Quit] 15:05:02 annodomini [n=lambda@130.189.179.215] has joined #scheme 15:10:50 dirchh [n=user@jimi.informatik.uni-tuebingen.de] has joined #scheme 15:11:17 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 15:12:42 underspecified [n=eric@softbank220043052011.bbtec.net] has joined #scheme 15:27:46 -!- higepon827 [n=taro@FL1-122-130-138-220.tky.mesh.ad.jp] has quit [Read error: 113 (No route to host)] 15:28:18 Tankado [n=Woodruff@bzq-84-110-168-79.red.bezeqint.net] has joined #scheme 15:29:42 Hello i am tring to convert expressions of the kind "(+ 3 4 5)" or any op for that matter to 3+4+5 , i have an idea how to do it but thought i would try to get some more ideas as i kinda forgot some buildin scheme functions 15:32:25 what i was thinking about was to get a (func op exp) op=+ exp = (3 4 5) and now if exp length >= 2 i do append and if not just return "op elem" 15:32:28 hope it was clear... 15:32:43 you just want to alter the data? 15:32:48 yes 15:34:41 when append i mean making a list of the 2 first elements with the operator between them and appending that to a recursive call of the func 15:35:57 (define d '(+ 3 4 5)) 15:36:08 (apply apply append (list (list (cadr d)) (map (lambda (x) (list (car d) x)) (cddr d)))) 15:36:37 like that? 15:37:28 yes 15:37:35 renke [n=renke@Ld4b2.l.pppool.de] has joined #scheme 15:37:42 *leppie* is sure there are a lot of better ways, but that is a start :) 15:37:46 what does apply do ? 15:37:57 better yet where can i read all those buildin functions 15:38:31 its like calling a function, but it use a different calling convention, in my case, i do it twice, but thats just to 'flatten' the lists 15:38:47 R5RS - google for that 15:38:58 ok, thanks leppie 15:39:58 np 15:40:03 rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #scheme 15:40:51 GoNoGo [n=GoNoGo@cro34-3-82-236-93-215.fbx.proxad.net] has joined #scheme 15:43:58 -!- Lemonator [n=kniu@LEMON.RES.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 15:45:15 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 15:51:43 wastrel [n=wastrel@nylug/member/wastrel] has joined #scheme 16:00:11 jonrafkind [n=jon@wireless104.wireless.utah.edu] has joined #scheme 16:01:41 -!- hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has quit ["He rode off into the sunset. . ."] 16:01:57 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 16:02:01 -!- athos_ [n=philipp@p54B86ADA.dip.t-dialin.net] has quit [Remote closed the connection] 16:11:41 jcowan [n=jcowan@72.14.228.89] has joined #scheme 16:28:31 synthasee [n=synthase@68.63.20.12] has joined #scheme 16:28:44 -!- synthase [n=synthase@68.63.20.12] has quit [Read error: 110 (Connection timed out)] 16:31:58 -!- schmalbe [n=bernhard@p549A06E4.dip0.t-ipconnect.de] has quit [Remote closed the connection] 16:32:47 How can i enter the char '(' into a list? 16:33:09 Tankado does #\( work? 16:33:14 rudybot: eval #\( 16:33:15 xz: ; Value: #\( 16:33:27 rudybot: eval '(#\() 16:33:27 xz: ; Value: (#\() 16:33:36 seems to... 16:33:47 thanks... 16:33:56 rudybot: eval (string->list "(") 16:33:56 xz: ; Value: (#\() 16:34:02 that's another possibility 16:38:30 How about sending the char ', to a function as this doesnt work 16:39:04 The general notation for characters, Tankado, is `octothorpe, backslash, '. Substitute whatever character you wish, be it ( or ' or X or #. 16:39:11 rudybot: eval (list #\( #\' #\X #\#) 16:39:12 Riastradh: ; Value: (#\( #\' #\X #\#) 16:39:32 ok thanks again 16:41:25 -!- ttmrichter [n=ttmricht@59.172.140.194] has quit [Read error: 110 (Connection timed out)] 16:43:37 arcfide [n=arcfide@adsl-99-137-201-169.dsl.bltnin.sbcglobal.net] has joined #scheme 16:43:49 Hey all, I need a new name for my Scheme Source code repository. 16:46:49 ccl-logbot [n=ccl-logb@master.clozure.com] has joined #scheme 16:46:49 16:46:49 -!- names: ccl-logbot dlouhy kniu agemo arcfide synthasee jcowan hemulen jonrafkind wastrel GoNoGo rdd renke Tankado underspecified synx dirchh annodomini jlongster yhara langmartin suzume DuClare foof incubot cemerick hiyuh orgy` Mr_SpOOn attila_lendvai aaco araujo fschwidom BW^- acarrico1 ecraven hotblack23 psygnisfive ramkrsna tizoc Nshag XTL tjafk2 elmex REPLeffect kilimanjaro ineiros_ Adrinael Paraselene_ Kerris4 saccade Khisanth replor_ gaja 16:46:49 -!- names: ski__ xz pchrist Modius Mr_Awesome cpfr elias` Cale error_developer_ rotty p1dzkl proq z0d sladegen CaptainMorgan sad0ur aquanaut rudybot specbot minion lisppaste borism Deformati bpt timmy_boy Daemmerung Fare mbishop aspect cky mr_uggla tltstc bsmntbombdood maxote offby1 Debolaz elf vincenz jeremiah jdev pchrist|univ Leonidas leppie sjamaan tessier mikael nasloc__ r0bby michaelw brianf merlincorey tabe keyofnight chandler felipe heat kalven 16:46:49 -!- names: bunz zbigniew pjdelport Riastradh eli djjack rmrfchik certainty|work levi Poeir emma gnomon Kusanagi mqt Elly klutometis clog pbusser2 qebab bascule duncanm Axioplase_ kazzmir_ mornfall ricky ski_ 16:47:04 wastrel_ [n=wastrel@li15-44.members.linode.com] has joined #scheme 16:47:22 how about "Kevin"? 16:47:28 or "Octothorpe"? 16:47:39 offby1: Rationale? 16:47:50 -!- wastrel [n=wastrel@nylug/member/wastrel] has quit [Nick collision from services.] 16:48:01 wastrel [n=wastrel@nylug/member/wastrel] has joined #scheme 16:48:12 -!- wastrel_ [n=wastrel@li15-44.members.linode.com] has quit [Client Quit] 16:48:12 the problem is i get "#\," in my output or |,| if i use '\, and not just "," 16:48:27 arcfide: "Kevin" is a fine name for anything, and is faintly amusing, too 16:48:28 What are you trying to accomplish, Tankado? 16:48:53 arcfide: Beverly. 16:48:53 I am tring to get a list like (3 4 5) to the form of (3,4,5) as an output 16:49:19 chandler: I hate to tell you, but the name "Beverly" has a faint, musty, odor. 16:49:36 *jcowan* entirely disagrees with offby1. One of my best friends bears that name. 16:49:38 .oO(Hrm, Aaron's Scheme Source Hotel Of Libraries and Extensions? *snicker*) 16:49:59 Code checks in -- but never checks out! 16:50:04 Tankado, so you want to map a *list*, such as that whose external representation is (3 4 5), to a *string* containing round bracket characters and external representations of the elements, comma-separated; such a string's external representation might be "(3, 4, 5)". 16:50:12 Or perhaps vice versa. 16:50:25 yes Riastradh 16:50:58 You must be careful to distinguish objects from their canonical external representations and other external representations. The procedures READ and WRITE deal with their canonical external representations. 16:51:05 offby1: Heh. It's from an older Dilbert. I can't manage to find it online, though. 16:51:38 how do i output it in a string form? 16:52:10 Please use precise language, Tankado. This is a difficult subject that warrants precision. 16:52:17 You can `output' any object in `a' string form like so: 16:52:22 (define (object->string object) "a string") 16:52:46 The strings that OBJECT->STRING yields are not, however, very useful. 16:53:25 Read/write-invariant objects have canonical external representations. For example, the canonical external representation of a list that contains the numbers 1, 2, and 3, is the text `(1 2 3)'. 16:53:27 -!- jlongster [n=user@75.148.111.133] has quit [Remote closed the connection] 16:53:32 drdo [n=psykon@wifi.ist.utl.pt] has joined #scheme 16:54:16 This is what the procedure WRITE will produce. READ will accept these, and also other, non-canonical external representations, such as `(1 . (2 . (3 . ())))' or even `(1 2 . (3))', which are both external representations for equal lists. 16:54:30 yeah got you Riastradh 16:54:36 rudybot: eval (string-join (list "3" "4" "5") ",") 16:54:37 offby1: ; Value: "3,4,5" 16:54:56 I basiclly think i need to make an auxulery function that converts the value output i get into a string... 16:55:24 rudybot: eval ((lambda numbers (format "(~a)" (string-join (map number->string numbers) ","))) 1 2 3 4 5) 16:55:24 offby1: ; Value: "(1,2,3,4,5)" 16:55:41 You can obtain a string of the canonical external representation of a number using the procedure NUMBER->STRING, although with an extra argument you can request a non-canonical external representation in another radix. For example, (NUMBER->STRING 14) yields "14", but (NUMBER->STRING 14 #x10) yields "E". 16:56:33 thanks for the detailed explanation Riastradh i have to go but will give it some thought and read and come back if i will get in trouble 16:56:36 If what you want to do is to operate on strings, you will want to use procedures such as STRING-APPEND, STRING-JOIN, &c. The procedure FORMAT is reserved for vagrants who lack aesthetic sensibility. 16:56:54 (It also comes in many manifestations, each incompatible with the next.) 16:57:00 Vagrants from CL- or C-land, no doubt. 16:57:03 ((`It' being FORMAT, that is.)) 16:57:22 (Not SENSIBILITY?) 16:58:58 *arcfide* is a vagrant. 16:59:02 *jcowan* too. 16:59:09 I also agree that FORMAT is crazy. 16:59:34 And in this case, entirely unsuited to the task. 17:00:36 Looks like Tankado wants a string port. 17:00:37 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 54 (Connection reset by peer)] 17:00:55 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 17:03:18 -!- jcowan [n=jcowan@72.14.228.89] has left #scheme 17:10:48 -!- synthasee [n=synthase@68.63.20.12] has quit [Read error: 110 (Connection timed out)] 17:12:07 exexex [n=chatzill@85.97.161.98] has joined #scheme 17:14:52 -!- exexex [n=chatzill@85.97.161.98] has quit [Remote closed the connection] 17:14:56 exexex_ [n=chatzill@85.97.161.98] has joined #scheme 17:14:58 -!- exexex_ is now known as exexex 17:15:22 me +2 17:16:19 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 17:17:22 eno [n=eno@nslu2-linux/eno] has joined #scheme 17:23:44 Hah! 17:23:48 Oh, this is good. 17:25:11 (define list->cs-list-string (lambda (lst) (format #f "(~?)" "~@{~#[~;~s~:;~s, ~]~}" lst))) 17:25:28 Tankado's solution in the most unpleasant fashion. 17:25:33 For us vagrants. 17:26:13 -!- fschwidom [n=fschwido@dslb-084-059-133-031.pools.arcor-ip.net] has quit [Remote closed the connection] 17:28:11 Time to reboot. 17:28:12 -!- arcfide [n=arcfide@adsl-99-137-201-169.dsl.bltnin.sbcglobal.net] has quit ["Leaving"] 17:30:45 arcfide [n=arcfide@adsl-99-137-201-169.dsl.bltnin.sbcglobal.net] has joined #scheme 17:30:58 -!- kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 17:43:12 yhara_ [n=yhara@7.193.12.221.megaegg.ne.jp] has joined #scheme 17:44:38 -!- yhara [n=yhara@7.193.12.221.megaegg.ne.jp] has quit [Read error: 113 (No route to host)] 17:48:37 -!- yhara_ [n=yhara@7.193.12.221.megaegg.ne.jp] has quit ["Leaving..."] 17:49:28 name [n=name@sburn/devel/name] has joined #scheme 17:50:04 benny [n=benny@i577A0726.versanet.de] has joined #scheme 17:50:34 bweaver [n=bweaver@75.148.111.133] has joined #scheme 17:51:09 -!- rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has quit ["leaving"] 17:51:32 rdd [n=user@c83-250-142-219.bredband.comhem.se] has joined #scheme 17:54:56 -!- orgy` [n=ratm_@pD9FFE926.dip.t-dialin.net] has quit [Remote closed the connection] 18:00:15 -!- drdo [n=psykon@wifi.ist.utl.pt] has quit [Remote closed the connection] 18:03:02 I guess no one liked my FORMAT string, huh? :-) 18:03:23 jlongster [n=user@75.148.111.133] has joined #scheme 18:07:52 Daeken [n=foo@c-24-99-122-104.hsd1.ga.comcast.net] has joined #scheme 18:10:21 hello all 18:10:24 cky: small world ;) 18:10:35 Daeken: morgen 18:11:00 -!- bascule [n=bascule@static-ip-62-75-255-124.inaddr.intergenia.de] has left #scheme 18:14:48 arcfide: what the turducken is that? Perl?? 18:15:50 geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has joined #scheme 18:16:54 dnm [n=dnm@c-68-49-46-251.hsd1.va.comcast.net] has joined #scheme 18:18:56 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 18:19:33 bascule [n=bascule@static-ip-62-75-255-124.inaddr.server4you.de] has joined #scheme 18:22:00 jgracin [n=jgracin@82.193.208.195] has joined #scheme 18:26:22 if i have a list of symbols will the best way to convert that list into a string will be do perform map with (symbol->string) ? 18:28:38 That will give you a list of strings. 18:28:48 yes 18:28:57 and how then will i convert it all to one string? 18:29:04 r5rs string-append 18:29:05 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_524 18:29:06 -rudybot:#scheme- http://tinyurl.com/6a2kv6 18:29:53 is (list->string ("x")) = "(x)" ? 18:30:23 nope 18:30:35 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 18:33:33 nvm solved 18:34:08 tarbo [n=me@unaffiliated/tarbo] has joined #scheme 18:35:33 Tankado: why the interest in all these pseudo scheme-transformations when the mechanics of scheme are still a mystery? 18:38:47 Baxter [i=Baxter@5acc2427.bb.sky.com] has joined #scheme 18:38:59 ttmrichter [n=ttmricht@59.172.140.58] has joined #scheme 18:40:05 klutometis : I have just never worked with strings, i guess i should have read more and ask less, sorry. 18:40:18 i am still a newbie.. 18:42:23 i'm just curious what overall problem you're solving 18:43:55 -!- ramkrsna [n=ramkrsna@unaffiliated/ramkrsna] has quit ["Leaving"] 18:44:03 hopefully compiling scheme code to something else 18:44:49 just for fun? 18:45:15 for the learning experience 18:45:36 why not? 18:46:08 hml [n=x@unaffiliated/hml] has joined #scheme 18:46:47 hmm, this seems like it should be easy to search for but i'm fairly certain my terminology is off (just starting out with scheme). what i'm looking for is a method to break out of a quoted expression. that is, a way i can do something like this: (display '(foo ^(some-function 5))) and the ^ symbol will signify that the expression should be evaluated rather than quoted (just picked a random symbol) ... is there a way to do this? 18:47:07 Tankado: no particular reason; just seems irritating and unsystematic 18:47:38 klutometics : why irritating ? 18:48:18 Daeken: backtick: `(foo ,(some-function 5)) 18:48:38 Tankado: speaking personally, string manipulations are irritating 18:48:39 ahh, fantastic, thank you :) 18:48:53 klutometis: what is the name of that construct? 18:49:04 quasiquote 18:49:08 (although i guess 'construct' is also not correct ;) ) 18:49:14 i see, thank you very much 18:49:21 np 18:49:46 Tankado: if you have time, try SICP for an edifying, systematic approach to scheme 18:50:49 Adamant [n=Adamant@AASU-101-61.Armstrong.EDU] has joined #scheme 18:51:10 klutometis : yeah i am into that aswell 18:51:52 ah, ok then; feel free to play ;) 18:52:02 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Read error: 54 (Connection reset by peer)] 18:52:03 Adamant_ [n=Adamant@AASU-101-61.Armstrong.EDU] has joined #scheme 19:00:26 -!- REPLeffect [n=REPLeffe@69.54.115.254] has quit ["bye"] 19:02:10 -!- Baxter [i=Baxter@5acc2427.bb.sky.com] has quit [] 19:08:36 -!- araujo [n=araujo@gentoo/developer/araujo] has quit [Connection timed out] 19:10:05 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 19:11:05 choas [n=lars@p5B0DD6E6.dip.t-dialin.net] has joined #scheme 19:12:24 -!- renke [n=renke@Ld4b2.l.pppool.de] has quit ["Lost terminal"] 19:14:50 kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has joined #scheme 19:17:22 Daemmerung: the above is what real FORMAT based output procedures look like. 19:18:16 incubot: (define list->cs-list-string (lambda (lst) (format #f "(~?)" "~@{~#[~;~s~:;~s, ~]~}" lst))) (list->cs-list-string '(a b c)) 19:18:16 Error: (sprintf) illegal format-string character: #\@ 19:18:22 arcfide: define "real" format: CL? 19:18:58 klutometis: Yes, CL. In Chez, for better or worse, there is CL FORMAT; at least, it appears to be that, and the documentation says so as well. 19:19:05 interesting 19:20:10 I knew FORMAT was convoluted enough to be able to do that with only its specifiers, but you can see that the result is . . . less than satisfactory. 19:21:09 arcfide: if I could only use that within a LOOP, life would be perfect. 19:21:22 reminds me of recursive regexps in perl 19:21:25 Daemmerung: What do you mean? 19:22:01 In the case above, we have a recursive ~? which uses one argument as a new format string and the next as a list of arguments for that format string. 19:22:26 arcfide: maybe it was a joke about the detestable nature of CL loops 19:23:01 Then, the ~@... stuff says to repeat the conditional on every argument, where the conditional does something different depending on the number of arguments left to process. 19:23:33 Daemmerung: Fortunately, we have a better LOOP. :-) 19:23:34 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 19:24:25 tizoc_ [n=user@r190-135-32-12.dialup.adsl.anteldata.net.uy] has joined #scheme 19:24:47 What is the list->cs-list-string procedure supposed to do? 19:25:06 chandler: (list->cs-list-string '(a b c)) => "(a, b, c)" 19:26:09 What's with the ~@{ and ~#[ then? 19:26:20 chandler: You're a CLer and you don't know that? :-P 19:26:32 [I had to look it up, too.] 19:26:36 (defun list->cs-list-string (list) (format nil "(~{~S~^, ~})" list)) 19:26:54 I don't remember all the fiddly bits of FORMAT. In this case, there's no need for them. 19:26:54 ~@{...~} is and iterator over the arguments. 19:27:13 ~#[...~] is a conditional expression. 19:27:19 There's only one argument, so why are you iterating over it? 19:27:28 I did it this way because one of the CL manuals actually has something similar to it as an example. 19:27:28 I know what ~{ and ~[ do, but not the @ and # variants. 19:27:31 clhs ~{ 19:27:31 http://www.lispworks.com/reference/HyperSpec/Body/22_cgd.htm 19:27:33 clhs ~[ 19:27:33 http://www.lispworks.com/reference/HyperSpec/Body/22_cgb.htm 19:28:09 chandler: the #[ part means that its index is taken based on arguments left (I think). 19:28:18 the @{ is for iterating over all of the arguments. 19:28:52 I use ~? as a recursive applicator, which takes the other format string, and uses the list as a set of arguments for the specified format string. 19:28:56 Yes, I see the example now, and it's trying to vary what happens when there are 0, 1, and 2 arguments left. 19:29:11 Right. 19:29:32 Of course, I don't know enough to do it more simply, but regardless, it is messy. 19:29:41 OK. FORMAT can be ugly, but don't make it uglier than it needs to be. "(~{~S~^, ~})" works. 19:29:42 -!- Adamant_ [n=Adamant@unaffiliated/adamant] has quit [] 19:29:57 chandler: I blame the example. :-) 19:30:02 -!- tizoc [n=user@r190-135-24-205.dialup.adsl.anteldata.net.uy] has quit [Nick collision from services.] 19:30:06 But, no, I agree, I like yours better. 19:30:07 -!- tizoc_ is now known as tizoc 19:31:18 chandler: What does the ~^ do in your example? I tried to use it, but I couldn't find where it was explained. 19:31:24 clhs ~^ 19:31:24 http://www.lispworks.com/reference/HyperSpec/Body/22_cib.htm 19:32:01 i know this is extremely basic, but i'm curious if anyone has any suggestions on a better way to solve this problem (specifically, project euler problem 1) than this code: http://paste.lisp.org/display/70728 ... first non-hello world scheme app, so i'm curious as to whether i'm thinking in the right way or not 19:32:33 err, accidently left off my (define % modulo) 19:32:35 chandler: Aah, yes, I was looking for that exact thing, and since I couldn't find it, I had to do it the hard way. 19:33:05 Ideally I'd want a formatting language with both string and S-expression representations. Riastradh had a good proposal for a S-expression syntax, but for some cases I think the short string syntax makes sense. 19:33:39 When your formatter gets sufficiently hairy, it should be exploded into the S-expression syntax. 19:34:00 I tend to do this now with CL-PPCRE: simple regexps as strings, hairier regexps as S-expressions. 19:34:07 Daeken: is that some sort of fizzbuzz deal? 19:34:25 -!- choas [n=lars@p5B0DD6E6.dip.t-dialin.net] has quit [Read error: 113 (No route to host)] 19:34:26 klutometis: effectively, yes. 'Find the sum of all the multiples of 3 or 5 below 1000' 19:35:10 Well, the first thing that I notice is that the indentation is horrible. 19:35:36 chandler: the actual indentation style or the ungodly large tabs? 19:35:42 Eekdacat [i=Eekdacat@cpe-74-70-20-146.nycap.res.rr.com] has joined #scheme 19:35:58 Daeken: the fact that you seem to be using actual tabs :-) 19:36:49 how does one make a program return a value after updating it using set! 19:36:52 ah, yea. it looks better in my editor since i use two-space tabs, rather than those 8-space monstrosities ;) 19:37:08 http://paste.lisp.org/display/70728#1 19:37:16 chandler: is the actual indentation style what you'd expect to see? i tried to model it approximately after what i've seen in other source. 19:37:18 i'm sure there are cleverer ways; but that's simple 19:37:47 ok, that's pretty damn cool. thanks klutometis :) 19:37:49 Daeken: Indentation is not what I'd expect at all. Scheme programs are typically aligned, not indented. 19:38:04 klutometis needs a remedial lesson in fishing education. 19:38:38 r5rs iota 19:38:38 Sorry, I couldn't find anything for iota. 19:38:41 hmm 19:38:43 oh i see 19:38:44 chandler: indeed; i thought he wanted to see an example of feral style 19:38:59 what spec is 'iota' defined in? 19:39:00 but it was less-than-mediate gratification 19:39:03 Daeken: srfi-1 19:39:05 Ah. 19:39:13 http://srfi.schemers.org/srfi-1/srfi-1.html 19:39:18 ah, i see. thanks 19:40:57 What is this doing? 19:41:06 Teach a man to fish, and he'll ask you to bait his hook forever. 19:41:07 Daeken: anyway, if i were going to teach you to fish post-hoc: your solution isn't incorrect, built try to avail yourself of the powerful list facilities in scheme 19:41:13 -!- hml [n=x@unaffiliated/hml] has quit ["leaving"] 19:41:16 Daemmerung: hilarious 19:41:19 arcfide: additive fizzbuzz 19:41:32 *Daemmerung* opens a can of sardines 19:42:30 klutometis: yea, i need to do so. now that i see that, i'm seeing how easily i can map most of my list comprehension hackery from python into scheme. i was thinking of it more in terms of the recursive solutions i tend to come up with when doing something like ocaml or nemerle. 19:42:50 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 19:44:33 Daeken: indeed; if van Rossum is to be believed, list comprehensions are a superset of lambda calculus 19:45:07 klutometis: Doing this with IOTA seems silly to me. 19:45:19 chandler: sure; how about UNFOLD? 19:46:36 Why are lists involved in the solution to this problem at all? 19:47:05 they needn't be; iteration would probably be more efficient 19:47:26 gigabytes [n=gigabyte@host24-157-dynamic.60-82-r.retail.telecomitalia.it] has joined #scheme 19:47:45 And more clear. 19:48:20 -!- kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has quit [Connection timed out] 19:49:09 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 19:49:56 kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has joined #scheme 19:52:11 chandler pasted "sum-multiples-of-3-or-5-beneath" at http://paste.lisp.org/display/70730 19:52:28 klutometis: I mean, if you're going to waste memory and time, this is how you should do it. 19:52:40 good... god. 19:52:56 i have a function that returns a proper list a, i want the return of the function that calls it to be (b (a)) 19:53:04 but it keeps going to (b a) 19:54:34 I think this works. 19:54:38 Daeken: That program is written in Continuation-Passing Style. Understanding how it works is essential, though you do not necessarily need to understand it today. 19:55:25 arcfide: foof-loop? 19:55:36 klutometis: Nested Foof Loop actually. 19:55:52 it never ceases to amaze me how seductive fizzbuzz is; how did it eat away a few minutes of our precious lives? 19:56:10 apparently thousands of intarweb programmers have been similarly seduced, not to mention Daeken 19:56:29 http://www.codinghorror.com/blog/archives/000781.html 19:56:56 chandler: yea, i started reading up on CPS a bit and /somewhat/ understand it. as my real goal in learning scheme is building a flexible compilation framework (i've finally decided nothing else is flexible enough for my liking, after building it in half a dozen languages already ;) ), CPS is definitely something i need to grasp inside and out 19:57:11 klutometis: It is a mental challenge to prepare the most "interesting" version possible so that one may be ready if one is ever asked this on an interview. 19:57:15 Adamant [n=Adamant@AASU-196-61.Armstrong.EDU] has joined #scheme 19:58:04 klutometis: every problem in project euler tends to suck me in this way. the problems they include tend to have 2 obvious solutions and 100 ways you can trick your language into giving you the correct answer, and i like to find all of them ;) 19:58:44 if nothing else, it's a great way of getting yourself in the proper mindset to solve problems in a language 19:59:19 chandler: heh; i'd be suspicious of any shop that dwelled on fizzbuzz 19:59:59 klutometis: It is better than many interview questions I've been asked, sadly. 20:00:08 -!- incubot [n=incubot@24.205.65.135] has quit [Read error: 110 (Connection timed out)] 20:00:26 klutometis: it's better than "draw an inheritance diagram for ..." :P 20:02:13 Daeken: i still contend that the creator of fizzbuzz is a mad genius who has tapped into some universally inherited pleasure receptors 20:02:27 haha, i think you're right :) 20:03:40 tltstc` [n=nine@192.207.69.1] has joined #scheme 20:03:40 dont talk about interview questions... 20:04:47 leppie: that was the fourth fight club rule 20:04:53 hey leppie 20:05:10 hi 20:05:12 incubot [n=incubot@24.205.65.135] has joined #scheme 20:05:26 melito [n=melito@70.99.250.82] has joined #scheme 20:05:54 lately I have only been able to 'joke' about interview questions 20:05:54 leppie: i'm curious, any idea how many people here are using ironscheme? i'm a recent convert to the dark side (scheme/lisp) and ironscheme is by far the most interesting implementation to me 20:06:25 chandler annotated #70730 with "Just to prove klutometis right..." at http://paste.lisp.org/display/70730#1 20:06:27 probably no more than 1 including myself :) 20:06:34 haha, i see :) 20:06:36 hm. lisppaste? 20:06:40 there we go 20:08:01 Daeken: That is another style known as trampoline style, which can be used to simulate the effect of proper tail recursion in languages which do not possess it. 20:08:36 leppie: well, i'm definitely going to be using it. i'm learning on plt scheme due to the environment, but ironscheme is where i'm really looking. i'm aiming to build a unified compiler framework for .NET via scheme, so it's a pretty natural next step :) 20:09:01 Daeken: hopefully i will gather a few users when i get closer to ver 1.0 20:09:20 i need to develop some nice sample apps and plenty of docs too 20:09:32 chandler: interesting 20:09:48 *yawn* 20:10:31 sorry foof, it does the same to me :) 20:10:59 That was a non-sequitor :P 20:11:01 *foof* just woke up 20:11:17 Daeken: Do you see how it works? 20:11:56 leppie: well, as i learn more i plan on getting into hacking on ironscheme where i can. one thing i've been trying to figure out is, is there a way to generate an exe as things stand? obviously it'd be dependent on the DLR, but something similar to ipy 20:12:39 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 20:13:40 no compiling to exe 20:14:15 you can pre-expand libraries, and serialize the result for fast loading 20:14:31 chandler: the indirection is staggering; now i understand, though, why chicken abandoned the trampoline for cheney 20:14:35 chandler: not really. at the moment i'm torn between talking to someone in real life and trying to figure it out, so it's just not coming easily haha. it looks to me like it loops building a function and calling it until it hits the end, but i can't figure out how the end happens 20:14:48 leppie: would that be an appreciated contribution? 20:14:49 brb. 20:15:57 yes, however I dont think it is possible currently, ironscheme compiles incrementally 20:16:20 klutometis: Be glad I avoided the temptation to replace the LETREC with Y! 20:16:48 it could be possible though with a bit of hacking 20:20:54 -!- exexex [n=chatzill@85.97.161.98] has quit [Remote closed the connection] 20:21:06 chandler: heh; that actually occurred to me as a sado-maso-innovation 20:21:46 a-s [n=user@92.80.109.26] has joined #scheme 20:22:01 -!- jonrafkind [n=jon@wireless104.wireless.utah.edu] has quit [Read error: 60 (Operation timed out)] 20:22:53 Daeken: Small world indeed. :-) 20:23:00 leppie: Small world too. :-P 20:23:26 bashyal [n=bashyal@v-209-98-139-195.mn.visi.com] has joined #scheme 20:24:22 -!- kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has quit [Read error: 60 (Operation timed out)] 20:24:37 back 20:24:49 leppie: no way to do the first compilation? 20:26:08 I'm trying to attribute a half-remembered quote, in which somebody discussing Lisp coding style describes a certain pretty code sample as "absolutely heartbreaking" and says, "It is impossible to write code this inefficient in any other language." I'm sure I've mangled at least half of that. Does anybody know what I'm misremembering? 20:26:09 klutometis: I'm not sure why you'd apply the "sado-maso-" prefix to this. Being able to identify and follow control structures such as these in code is a skill that every programmer should cultivate. The better you are at identifying just what is going on in cases like these, the easier you will find it to spot problems in less complex programs. 20:26:40 cky: i finally came to the dark side 20:27:35 jonrafkind [n=jon@wireless104.wireless.utah.edu] has joined #scheme 20:27:37 Daeken: Yes! Mwahahaha.... :-P 20:27:54 cky: expect a lot of questions on SO about scheme as i go further down the rabbit hole ;) 20:28:27 Daeken: I look forward to answering them, if nobody here (especially leppie) gets to them first. :-P 20:28:49 hehe 20:28:51 leppie: BTW, there's #stackoverflow to feed your addiction too. :-P 20:29:58 pfo [n=pfo@chello084114049188.14.vie.surfer.at] has joined #scheme 20:30:57 depends how bored i am at work 20:31:13 *lol* 20:31:41 It's true, work has taken up a lot of time that would otherwise be spent on SO. :-) 20:31:45 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 20:32:00 kniu [n=kniu@LEMON.RES.CMU.EDU] has joined #scheme 20:34:59 -!- foof [n=user@dn157-046.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 20:37:33 hmm, what notation is better for a range 'variable'? a1:a3 or a1..a3 ? 20:37:50 Why is 'variable' in scare quotes? 20:38:09 because it is a macro :) 20:38:52 a1:a3 expands to (list a1 a2 a3) 20:39:20 i guess the quotes arent needed 20:39:33 This seems very scary. Why are you doing this? 20:40:04 it's a little DSL experiment 20:40:27 .oO(What's wrong with (a1 a3)?) 20:40:57 chandler: indeed; nevertheless, there is a certain discomfort associated with mastering indirection; even if it is an unavoidable exercise 20:41:48 (cons (car S) (eval-expression Env (caddr S))) is constructing a list of (car s and the result of eval-expression) 20:41:59 im still having fun, i'll stop when it becomes painful 20:42:00 what i want is (car s (result of eval expression)) 20:42:12 also eval-expression returns a proper list 20:42:37 Eekdacat: Perhaps it would help you to diagram it out, or to try an experiment. 20:47:51 orgy` [n=ratm_@pD9FFE926.dip.t-dialin.net] has joined #scheme 20:48:14 oh ok didn't know there was a list command 20:50:11 (lambda x x) ? 20:51:14 Eekdacat: Say 'procedure'. 20:51:33 bombshelter13 [n=bombshel@209-161-229-68.dsl.look.ca] has joined #scheme 20:51:47 -!- arcfide [n=arcfide@adsl-99-137-201-169.dsl.bltnin.sbcglobal.net] has quit ["Leaving"] 20:51:56 right 20:52:20 A command is an expression used in a context that discards its value. 20:52:43 Daeken: i current compile the bootstrap file to dll, so it is possible, and infact I can pretty much dump any code/dll created, but it is very messy 20:53:32 a1len [n=James@unaffiliated/a1len] has joined #scheme 20:53:37 it is also not really reloadable code 20:53:51 leppie: hmm, i'll have to take a look at the source to see what all happens there. regardless, i'm definitely going to start hacking on the core a bit where i can :) 20:54:00 very cool project 20:54:06 cool, thanks ;) 20:54:24 Leonidas: 'reloadable' in what way? 20:54:26 err 20:54:27 mistab 20:54:32 leppie, rather 20:55:07 meaning it might have direct references to runtime values 20:55:12 ahh 20:55:28 the bootstrap file does not have that 20:58:17 :) 20:58:34 arcfide [n=arcfide@adsl-99-137-201-169.dsl.bltnin.sbcglobal.net] has joined #scheme 20:59:56 -!- bashyal [n=bashyal@v-209-98-139-195.mn.visi.com] has quit [] 21:03:35 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 21:05:18 rudybot: (values) 21:09:30 exexex [n=chatzill@85.97.161.98] has joined #scheme 21:11:29 -!- p1dzkl [i=p1dzkl@2001:470:d0be:0:0:0:0:13] has quit [Read error: 104 (Connection reset by peer)] 21:12:01 p1dzkl [i=p1dzkl@2001:470:d0be:0:0:0:0:13] has joined #scheme 21:12:10 is there some diff-like tool that works on S-expressions? 21:12:25 Funny enough, I think there was a discussion about this in #lisp the other day. 21:12:35 No specifics beyond that, sorry. 21:13:33 Structural diffs are hard. 21:14:39 ... let's go shopping! 21:14:47 I wonder if some theoretician has decided that it's "hard" like NP-hard. 21:15:21 I've decided that it's hard enough to warrant shopping, and that had better be good enough for the likes of you! 21:15:24 Apparently there was a researcher who determined that solving Minesweeper is NP-complete. 21:16:07 exexex_ [n=chatzill@85.97.161.98] has joined #scheme 21:16:18 btw, this is what I'm hacking on in my spare time ATM: https://rottyforge.yi.org/cgi-bin/darcsweb.cgi?r=sbank;a=headblob;f=/README 21:16:19 -rudybot:#scheme- http://tinyurl.com/6m2xfu 21:16:33 -!- exexex_ [n=chatzill@85.97.161.98] has quit [Remote closed the connection] 21:18:00 rotty: Interesting; I did not even know about GObject Introspection. 21:18:03 kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has joined #scheme 21:18:28 chandler: it's pretty new stuff, but coming along nicely 21:18:53 It sounds like it's time for a new CL binding, too. 21:19:00 *chandler* sticks it on the "round tuit" list. 21:19:08 I would appreciate feedback on the API, take a look at https://rottyforge.yi.org/cgi-bin/darcsweb.cgi?r=sbank;a=tree;f=/examples/gtk 21:19:09 -rudybot:#scheme- http://tinyurl.com/6yorb6 21:21:20 (the examples all work, they're not just a mockup) 21:21:26 rotty: Is 'send' a function or a macro? 21:22:02 chandler: a macro, but it's just sugar for `send-message' 21:22:05 nice stuff rotty 21:22:17 thanks 21:24:39 -!- Nshag [i=user@Mix-Orleans-105-4-182.w193-250.abo.wanadoo.fr] has quit ["Quitte"] 21:26:13 nowhere_man [i=pierre@pthierry.pck.nerim.net] has joined #scheme 21:28:59 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 21:29:44 hmm 21:29:51 somehow this code doesn't work as expected 21:30:16 oh, never mind 21:30:23 (eq? (or (or + -) *) (cadr E)) 21:30:27 it's a bug in the onlein R5RS 21:30:36 cadr of E shows as +, it evaluates to false 21:31:06 Eekdacat, be careful to distinguish a symbol object from a procedure which you obtained by writing that symbol's name in your code. 21:31:14 rudybot: eval (eq? + '+) 21:31:14 Riastradh: ; Value: #f 21:31:25 rudybot: eval (list + '+ '(+) '('+)) 21:31:26 Riastradh: ; Value: (# + (+) ((quote +))) 21:31:34 what 21:31:43 rudybot: eval (or (or + -) *) 21:31:44 hkBst: ; Value: # 21:31:57 Can you please speak in complete English sentences, Eekdacat? 21:32:10 oh ok 21:32:22 that works 21:32:34 (eq? (or (or `+ `-) `*) (cadr `(3 + 1))) 21:33:02 Eekdacat: is there a reason to use ` instead of ' there? 21:33:25 is there a difference? 21:33:28 Eekdacat, also be aware that OR will evaluate to the first true value of its operands -- independent of how it is used. 21:33:39 So (OR (OR '+ '-) '*) will *always* yield the symbol +. 21:33:48 The symbols - and * don't enter into it. 21:33:49 -!- gigabytes [n=gigabyte@host24-157-dynamic.60-82-r.retail.telecomitalia.it] has quit [] 21:33:49 wingo-tp [n=wingo@172.Red-88-17-204.staticIP.rima-tde.net] has joined #scheme 21:33:54 good evening. 21:33:55 You might as well just write: (eq? '+ (cadr ...)) 21:34:01 Eekdacat: i don't know, that's why i'm asking ;) 21:34:12 it's a check to see if there's a a +, -, or * in the 2nd position of the list 21:35:25 rudybot: eval (let ((x 1)) `(x ,x) '(x ,x)) 21:35:26 hkBst: ; Value: (x (unquote x)) 21:35:26 rudybot: eval (memq (cadr '(1 + 2)) '(* + -)) 21:35:26 rotty: ; Value: (+ -) 21:35:37 rudybot: eval (let ((x 1)) (list `(x ,x) '(x ,x))) 21:35:37 hkBst: ; Value: ((x 1) (x (unquote x))) 21:35:45 rudybot: eval (memq (cadr '(1 / 2)) '(* + -)) 21:35:45 rotty: ; Value: #f 21:36:01 rotty! howdy :) 21:36:32 Daeken: see, they are different 21:37:06 wingo-tp: hi! sorry for the long absence -- I've been crawling out of my hole only lately 21:37:49 heh, no apologies to me -- good to see you around tho :) 21:38:28 wingo-tp: btw, you might be interested in that: https://rottyforge.yi.org/cgi-bin/darcsweb.cgi?r=sbank;a=headblob;f=/README 21:38:28 rudybot: eval (let ((foo (lambda () '(1 2 3)))) (eq? (foo) (foo))) 21:38:29 -rudybot:#scheme- http://tinyurl.com/6m2xfu 21:38:29 zbigniew: ; Value: #t 21:38:36 rudybot: eval (let ((foo (lambda () `(1 2 3)))) (eq? (foo) (foo))) 21:38:36 zbigniew: ; Value: #t 21:38:46 rudybot: eval (let ((foo (lambda () `(1 ,2 3)))) (eq? (foo) (foo))) 21:38:46 zbigniew: ; Value: #f 21:38:54 rudybot: eval (let ((foo (lambda () `(1 ,2 3)))) (equal? (foo) (foo))) 21:38:54 zbigniew: ; Value: #t 21:39:01 r5rs memq 21:39:01 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_428 21:39:03 -rudybot:#scheme- http://tinyurl.com/67422m 21:39:06 hkBst: i understand the quote/quasiquote difference, but i can't see why any of his cases would be any different, as none of them did unquote 21:39:07 rotty: temporarily down it seems? but i saw the gobject introspection stuff if that's what that is. looks neat! 21:39:43 Daeken: use '. 21:40:35 wingo-tp: did you use https? 21:40:51 What's with this new proliferation of file extensions such as `sps' and `slp' and `pls' and `sls' and so on? 21:40:52 rotty: i did; but it was a dns error for me 21:40:54 What's wrong with `scm'? 21:40:55 zbigniew: that's what i was figuring, as it seems like quasiquote would have to walk over the given expression to eval expressions in unquotes, even if you didn't have any (although it wouldn't surprise me if most scheme implementations cull those out) 21:41:00 rotty: it could be the spanish telecom of course 21:41:28 Riastradh: yes. i am in curmudgeonly agreement. 21:41:28 Riastradh: .sps: Scheme program source, .sls: Scheme library source 21:41:34 dunno about the others 21:41:38 (sp?) 21:41:38 What's wrong with `scm'? 21:41:57 Why is there even a notion of `program source' distinct from `library source'? 21:42:15 Riastradh: it makes a difference for library lookup in R6RS implementations 21:42:58 What difference does it make? 21:43:18 I use .sls for R6RS libraries, .sps for R6RS top-level programs 21:43:39 rudybot: eval (with-input-from-file "/etc/passwd" (lambda () (read))) 21:43:40 elmex: error: with-input-from-file: file access denied (/etc/passwd read) 21:43:50 Riastradh: for instance, ikarus first looks for .sls, then .scm, but others (IIRC) don't look at .scm at all 21:44:06 rudybot: eval (with-input-from-file "/tmp/.X0-lock" (lambda () (read))) 21:44:06 elmex: error: with-input-from-file: file access denied (/tmp/.X0-lock read) 21:44:10 grmbl :) 21:44:37 (and .scm for "plain" Scheme code, that might also make sense for an R5RS implementation) 21:44:49 Daeken: also, in the above exchange with rudybot, using ' constructs the list only once, but using ` constructs it fresh every time (except when unquote is not present; there must be an optimization) 21:45:32 -!- GoNoGo [n=GoNoGo@cro34-3-82-236-93-215.fbx.proxad.net] has quit ["ChatZilla 0.9.84 [Firefox 3.0.4/2008102920]"] 21:45:40 rudybot: eval (let ((foo (lambda () (list 1 2 3)))) (eq? (foo) (foo))) 21:45:41 zbigniew: ; Value: #f 21:45:42 ` signals to the reader that what follows is not a literal quotation, and sets him on his guard for impeding unquotation. ' lets the reader take a rest from expecting evaluation. 21:46:18 Daeken: note the same with LIST (constructed anew each time; that one is more obvious) 21:46:19 wingo-tp: strange. I get this from host on a university server: rottyforge.yi.org has address 84.114.192.192 21:46:19 Riastradh: Readability for the win! :-) 21:46:28 zbigniew: interesting, thanks 21:48:36 -!- incubot [n=incubot@24.205.65.135] has quit [Remote closed the connection] 21:48:50 Eekdacat: look the R5RS link for `memq' that specbot provided 21:48:54 rotty: bizarrely, i was able to resolve it but epiphany still said the same; I switched to http and it stalled for a long time, then I switched back to https and it seems to be happy again. So oddities abound but they appear to be fixed :) 21:49:34 nice. 21:49:38 *rotty* needs to get a CA-cert certificate for his server 21:49:47 rotty, so why do these R6RS implementations bother with the different extensions? 21:49:55 They're not mandated by the R6RS, are they? 21:50:19 Daeken: in case you did not know, the EQ? there is essentially checking for "pointer equality" -- e.g. the same exact list in memory -- though the exact meaning requires knowledge of your implementation's internals. EQUAL? checks element-wise for equivalence. Check R5RS for further details and pay close attention to what is 'unspecified' 21:50:22 Riastradh: no, R6RS doesn't specify any file<->library mapping AFAIK 21:50:44 rotty: http://www.cacert.org/ :-) 21:51:14 *cky* is a CAcert notary by virtue of being a Thawte notary. :-P 21:51:33 Riastradh: I guess a reason for might be not to mistake a regular Scheme source code file as R6RS library 21:51:41 -!- bweaver [n=bweaver@75.148.111.133] has quit [] 21:51:43 s/for/for it/ 21:51:48 How can there be any mistake? 21:52:01 If the file does not consist of a library form, then it's not an R6RS library. 21:52:04 -!- jonrafkind [n=jon@wireless104.wireless.utah.edu] has quit [Read error: 60 (Operation timed out)] 21:52:15 i was having an argument with jao earlier today, and lost 21:52:25 it seems that r6rs does not specify that fixnums are eq? 21:52:38 seems odd to me 21:52:40 jonrafkind [n=jon@wireless104.wireless.utah.edu] has joined #scheme 21:53:12 it might contain a form that looks like a library form, but isn't (I think mzscheme has a binding for 'import') 21:53:13 -!- exexex [n=chatzill@85.97.161.98] has quit [Remote closed the connection] 21:53:32 renke [n=renke@Ld4b2.l.pppool.de] has joined #scheme 21:53:32 So might a file whose name ends in `.sls'. 21:53:42 incubot [n=incubot@24.205.65.135] has joined #scheme 21:54:08 wingo-tp: what did you argue about? 21:54:21 rotty: about fixnums' eq?-ness 21:54:50 Riastradh: mzscheme uses .ss as extension for other files 21:55:11 i was complaining about C++'s == not being eq?, and trying to make analogies but got caught up by r6 ;) 21:55:30 That's silly enough, rotty; why add to the proliferation? 21:55:36 but honestly, I don't know of a good reason for the naming conventions 21:56:26 Riastradh: Is there any argument for using '.scm' in this day and age? 21:56:35 Precedence, chandler. 21:56:50 chandler: there is an argument for using only one extension 21:56:59 whatever that extension is 21:57:00 wingo-tp: er, nor does r5rs specify anything about eq? on fixnums 21:57:05 wingo-tp: I am not arguing against that. 21:57:17 zbigniew: r5rs doesn't specify the existence of fixnums 21:57:19 Riastradh: And we take our precedence from DOS? 21:58:05 i suppose if we argue for concision, the .ss people win 21:58:22 VMS 21:58:31 -!- jgracin [n=jgracin@82.193.208.195] has quit [Remote closed the connection] 21:59:02 Hmm. I actually don't remember where or when exactly `.scm' originated, although I'm pretty sure it predated DOS. In any case, whether or not it came from DOS, `.scm' has precedent in use far beyond DOS. 21:59:11 wingo-tp: I rarely argue for concision. Usually I prefer to argue for clarity. 21:59:36 chandler: point taken 21:59:36 -!- Tankado [n=Woodruff@bzq-84-110-168-79.red.bezeqint.net] has quit [] 21:59:50 hmm 22:00:27 i'm such a stick in the mud though -- if i ever have to change, i'd prefer for the future state to be more stable than the present -- that is, it would be nice if people could agree on one extension. 22:01:54 It'd be nice if people could agree on more than that 22:02:00 wingo-tp: if guile-gnome didn't rely so heavily in goops, I'd have tried to make the syntax the same as far as possible, but unfortunatly, with goops, that's pretty impossible 22:02:40 rotty: yeah, indeed. i like goops, but i would like a standard clos-like system more. 22:02:42 -!- cemerick [n=la_mer@75.147.38.122] has quit [] 22:02:56 standard == implementable on top of a standard. 22:03:10 Be careful what you wish for. You may wind up needing to live with it. 22:03:14 heh 22:04:27 standards seem to be my refrain this evening. i'm not even 30. whither iconoclasm. 22:05:07 wingo-tp: I think for GObject bindings, a CLOS-style systems is maybe overkill and a bit of a mismatch -- the sbank "object system" is just a handful of lines, whereas even tiny-clos is quite a bit larger 22:05:47 (Unfortunately, a number of Schemers wished for the R6RS -- or at least *a(n)* R6RS.) 22:06:07 -!- dnm [n=dnm@c-68-49-46-251.hsd1.va.comcast.net] has quit [] 22:06:41 rotty: yeah, perhaps. 22:07:39 drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has joined #scheme 22:07:40 Riastradh: to ask for an improvement is good! whether r6 is that or not is another question. 22:07:50 this function needs to take in a value of either a number found from a list or a sublist of the list 22:07:51 s/ask/wish/ 22:09:00 wingo-tp, be careful! To wish for an improvement in isolation is good. Merely wishing for an improvement might lead that improvement to carry along the baggage of the rest of the R6RS. I'm sure that at least *something* was improved in the R6RS (maybe). 22:09:20 the problem is that if i have a = 3, cddr will be (3), caddr will be 3, but if i have a = (1 2 3), caddr will be 1 22:09:32 `(a = 3) 22:09:57 if number? i guess 22:10:15 wingo-tp: What is the relation between the standardization processes and improvement? What part of the process suggests that it would result in something that would be widely viewed as an improvement? 22:10:43 Wishing for improvement is not the same thing as wishing for a standardization organization to convene and draft a document. 22:11:11 I believe that if there is any value in standardization, it is in temporarily freezing improvement, not encourgaging it. 22:12:13 eval (cddr `(a = 3)) 22:12:31 rudybot: eval (cddr `(a = 3)) 22:12:34 Eekdacat: ; Value: (3) 22:12:49 chandler: so, i maintain a fair amount of scheme libraries. unfortunately, it doesn't really make sense to say that you maintain a library with r5; you can at best maintain a set of source files. and even then you don't really have the capabilities to do many things that are interesting to do. 22:13:11 amount is probably a bad qualifier or whatever kind of word that is 22:13:12 anyway. 22:13:36 i speak subjectively: i would like to participate in the broader scheme world of programmers 22:13:57 but i can't do so very well if there is no commonality on which to build code. 22:14:09 it's too much of a burden. 22:14:30 perhaps a weak reason, but there it is: standardization leads to improvement for me. 22:15:45 scheme is for lone gunmen 22:16:07 wingo-tp: Is making up a library definition facility out of whole cloth and anointing it Scheme really the best way to accomplish that, or would it have been better for the R6RS authors to draft a document which is not named a Scheme standard and encouraged implementations to adopt it so that common libraries can be written usefully? 22:16:44 what sort of check could be used to distinguist a = 3 from a = (1 2 3) 22:16:53 distinguish* 22:17:19 both being in lists themselves, so `(a = 3) `(a = (1 2 3)) 22:17:23 chandler: as you suggest, the latter is probably the better option. 22:17:24 Eekdacat: `list?' 22:17:36 list of cddr 22:17:56 if i took that for the first it would return (3) 22:17:57 -!- renke [n=renke@Ld4b2.l.pppool.de] has quit ["leaving"] 22:18:08 if i did caddr it would return 1 for the second 22:18:09 rudybot: eval (caddr '(a = 3)) 22:18:09 zbigniew: ; Value: 3 22:18:14 exexex [n=chatzill@85.97.161.98] has joined #scheme 22:18:16 rudybot: eval (caddr '(a = (1 2 3))) 22:18:17 zbigniew: ; Value: (1 2 3) 22:18:19 chandler: that wouldn't affect the quality of the document 22:18:24 rudybot: eval (list? (caddr '(a = (1 2 3)))) 22:18:24 zbigniew: ; Value: #t 22:18:28 what 22:18:31 -!- aaco [n=aaco@unaffiliated/aaco] has quit ["Leaving"] 22:18:33 rudybot: eval (list? (caddr '(a = 3))) 22:18:33 zbigniew: ; Value: #f 22:18:41 -!- replor_ [n=replor@ntkngw375028.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [No route to host] 22:19:45 oh wait i did the wrong case 22:20:00 hkBst: No, it would not - but perhaps in a different context, the authors of the document would have the flexibility to wait for more substantial feedback from implementors and users before declaring it final. 22:20:01 rudybot: eval (caddr `(a = 3 + 1)) 22:20:01 Eekdacat: ; Value: 3 22:20:26 -!- exexex [n=chatzill@85.97.161.98] has quit [Remote closed the connection] 22:20:28 rudybot: eval (number? 42) 22:20:29 zbigniew: ; Value: #t 22:21:27 Eekdacat: use ' unless you have a good reason to use ` 22:21:29 hkBst: If the intent of the RnRS process is to go to 11 (and beyond!), then their approach makes perfect sense. Now that people have actually tried to implement R6RS, there's now a reason to make a R7RS to address all of the concerns that the implementors have. 22:21:47 heh 22:22:07 so another function gets (3) passed to it, i want to see if there's anything in the second position 22:22:16 but can't take a cadr 22:22:28 And if R7RS introduces more major language modifications that have not been all implemented in the same system, then there will of course be an immediate call for R8RS. 22:22:29 is there a function to check if a cadr exists 22:22:35 procedure 22:22:48 Eekdacat: you use `pair?' to check whether you can take car and cdr 22:22:50 -!- elmex [n=elmex@e180069048.adsl.alicedsl.de] has quit [Remote closed the connection] 22:23:24 the problem is the standard name is stored in a zero-terminated char[5] -- first we need to bump the radix 22:23:37 got it 22:23:51 wait for R8RS 22:23:54 (= 1 (length E) 22:23:58 ) 22:24:20 Eekdacat: I hope E is not of length 1,000,000,000 22:24:42 chandler: it's funny how the numbers create expectations as to the size of the changes 22:24:46 [not to mention circular, but...] 22:25:16 if it were r6.1rs the expectation would be different than r7rs; or if r6 were r5.90, etc 22:25:57 E is always gonna be either 1 or 3 22:26:06 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 22:27:09 wingo-tp: I think my point has more to do with the process than the numbering, to be honest. 22:27:40 ok 22:28:07 the linear "we are scheme" train you mean. 22:28:13 I would have the same complaints if R6RS were called R5.01RS or R65536RS. 22:29:30 That's what it ought to be. In practice, it was a vehicle for a group of some implementors to define a new module system and make some not insubstantial changes to SYNTAX-CASE - a process that definitely has value, but did not result in a standard which should be immediately anointed Scheme. 22:31:34 would be nice for r6 to be able to tail-call the r6 process, given what we know now about r6 22:32:03 but then that might as well be r7 and we're talking numbers again. 22:32:30 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 22:33:09 I don't think that it's the numbers that matter, so long as the process is monotonic. 22:34:12 ack. 22:35:41 If I were a user with a desire for greater commonality, I am not sure that I would view the situation as an improvement over the pre-R6RS situation at all. Should I assume that the R7RS authors are going to make only minor modifications to the parts of the standard that I am depending on, or should I prepare for the possibility that there will be more substantial and hastily-considered modifications to the system? 22:37:30 well it's always political, who is respected, who is close to the decision-making point -- and in this case I'm happy that aziz is there. I'm pretty happy with what he's doing. If he were not there, I would be much more skeptical than I am. 22:37:57 I don't think that the diverse community of Scheme implementors will accept the R6RS status quo for long. The reason that there wasn't enough commonality pre-R6RS to write useful libraries is because there was no broad consensus on the design of a module system, and if the desire for change and experimentation continues, then we should expect future changes. 22:38:02 I don't think that r7 people have much of a mandate to "do", more to "fix". 22:38:39 chandler: but you must admit that r6 had value wrt showing the aspects of the different module proposals. (whether it should have been a standard is again another question.) 22:38:45 It's unclear to me where the mandate comes from, so I don't know how much of a mandate there really is. 22:38:53 some people don't moved from R5RS 22:38:57 i really enjoyed the recent cls threads about multiple instantiation 22:39:15 maxote: i hack guile, which does not do r6 yet. 22:39:18 maxote: I think we're well aware of that. 22:39:36 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 22:40:03 tiglionabbit [n=tigliona@207.111.204.82] has joined #scheme 22:41:05 wingo-tp: Yes, of course. And I think there was quite a lot of value in putting together a proposal for a common module system and richer macro system. While I am not entirely enamored with SYNTAX-CASE, I think that it was probably improved by this process too. Perhaps R7RS will indeed be what I am hoping that R6RS would have been. 22:42:09 yep. 22:42:28 chandler: did you go to the sfp this year? 22:43:15 No; I haven't been to one at all. 22:43:41 i went to the one last year 22:43:47 it was pretty interesting 22:44:03 talks were ok, but the hallway track was quite nice 22:44:03 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:44:05 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 113 (No route to host)] 22:46:08 ah foldr 22:48:35 -!- psygnisfive [n=psygnisf@c-71-57-164-119.hsd1.fl.comcast.net] has quit [Remote closed the connection] 22:50:37 saccade_ [n=saccade@dhcp-18-188-68-12.dyn.mit.edu] has joined #scheme 22:55:52 -!- hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has quit [Read error: 104 (Connection reset by peer)] 22:56:33 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 22:58:17 -!- saccade_ [n=saccade@dhcp-18-188-68-12.dyn.mit.edu] has quit ["This computer has gone to sleep"] 22:59:00 lelf [n=lelf@217.118.90.177] has joined #scheme 22:59:46 synthasee [n=synthase@68.63.20.12] has joined #scheme 23:02:50 -!- name [n=name@sburn/devel/name] has quit ["Lost terminal"] 23:07:03 -!- a-s [n=user@92.80.109.26] has quit [Remote closed the connection] 23:07:13 a-s [n=user@92.80.109.26] has joined #scheme 23:08:36 fschwidom [n=fschwido@dslb-084-059-133-031.pools.arcor-ip.net] has joined #scheme 23:09:19 -!- langmartin [n=user@75.148.111.133] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 23:09:48 -!- orgy` [n=ratm_@pD9FFE926.dip.t-dialin.net] has quit [Remote closed the connection] 23:13:37 -!- a-s [n=user@92.80.109.26] has quit [Remote closed the connection] 23:14:23 Kerris0 [n=Kerris@87-194-3-170.bethere.co.uk] has joined #scheme 23:14:24 -!- Kerris0 [n=Kerris@87-194-3-170.bethere.co.uk] has left #scheme 23:31:22 a-s [n=user@92.80.109.26] has joined #scheme 23:32:44 -!- jonrafkind [n=jon@wireless104.wireless.utah.edu] has quit [Connection timed out] 23:34:09 hmm 23:35:49 i have a procedure that evaluates an expression based on its old environment and returns a new environment, how would i go about making a procedure that iterates through a list of expressions updating the environment every time 23:35:54 foldr? 23:36:48 -!- kniu [n=kniu@LEMON.RES.CMU.EDU] has quit [Remote closed the connection] 23:37:10 kniu [n=kniu@LEMON.RES.CMU.EDU] has joined #scheme 23:37:43 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 23:38:14 -!- hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 23:39:03 indraastra [n=indraast@nat08.sjc1.metaweb.com] has joined #scheme 23:40:58 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit ["Konversation terminated!"] 23:42:08 `Old environment?' `New environment'? 23:42:25 uh they represent singleton variables 23:42:53 list of pairs, so ((a 2) (b 3) (c 5)) would be a = 2, b = 3, c = 5, and i have other functions when evaluating expressions that call them by name 23:42:56 er symbol 23:43:30 Ordinarily, in Scheme, one analyzes an expression in an environment which does not change as a consequence of the analysis. 23:44:21 with the expression evaluation, if i were to say with a = 3 + 1 with the above environment, it would return ((a 4) (b 3) (c 5)) 23:45:19 the problem being if you evaluate expressions in order, the environment updates every time 23:46:31 a = 2, b = 4; a = b + 3, b = a + 2; should evaluate to a = 5 and b = 7 at the end 23:46:40 er a = 7 b = 9 23:48:09 since b calls a with the updated environment from the first expression 23:48:58 In Scheme, when speaking strictly, we distinguish the *environment* (an immutable data structure mapping names to their meanings such as variable locations, employed by programs that analyze Scheme programs) from the *store* (a mutable data structure mapping locations to values, employed by a program that executes Scheme programs). 23:50:58 Lemonator [n=kniu@CMU-301252.WV.CC.CMU.EDU] has joined #scheme 23:51:05 When writing a Scheme program that analyzes and executes Scheme programs, it is sometimes convenient to exploit the meta-Scheme's store in representing the object-Scheme's store, even if the object-Scheme's environment is an explicit data structure in the meta-Scheme. 23:51:44 -!- lelf [n=lelf@217.118.90.177] has quit ["used jmIrc"] 23:52:39 (define (just-do-it expr-l env) (just-do-it (cdr expr-l) (your-proc (car expr-l) env))) ... perhaps. 23:52:50 But anyway, terminology aside: a right-fold will do nearly what you want, if you want what I think you want -- if you want to consider the effects of the input expressions, and also return the value of the last one as well as the final environment, a right fold is not quite enough. 23:53:12 of course check if you run out of expressions... 23:53:31 yeah i'm not good with folding 23:54:09 procedure application: expected procedure, given: #; arguments were: (c <- c + 1000) # 23:54:41 You tried to apply something that is not a procedure (`void') as if it were a procedure. 23:54:54 it got to the end 23:55:53 (foldr (!set env (lambda (x) (eval-expr env x))) P env) 23:55:58 set!* 23:55:59 -!- Mr_Awesome [n=eric@isr5956.urh.uiuc.edu] has quit [Read error: 110 (Connection timed out)] 23:56:10 where env is the original list and P is the list of expressions 23:56:16 Here's what that code does, Eekdacat: 23:56:49 1. In some unspecified order, evaluates ENV, P, and (SET! ENV ...). This has the effect of setting ENV to be a procedure from expression (LAMBDA (X) (EVAL-EXPR ENV X)). 23:57:08 it did not even start... 23:57:09 (Also evaluates FOLDR.) 23:57:22 2. Passes three arguments -- the unspecified value of the SET! expression, the value of the variable named P, and the value of the variable named ENV -- to the FOLDR procedure. 23:57:46 -!- kniu [n=kniu@LEMON.RES.CMU.EDU] has quit [Connection timed out] 23:57:48 When the FOLDR procedure tries to invoke the `procedure' it was passed as an argument -- namely, the unspecified value of the SET! expression --, it chokes, because that `procedure' is not a procedure at all. 23:58:07 env has a default vaule 23:58:09 value* 23:58:11 JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has joined #scheme 23:58:32 `Default value' is not a technical term in this context; what do you mean by it? 23:59:08 env is passed to it as a null list, so there's no simulated singleton entries 23:59:49 Mr_Awesome [n=eric@isr5956.urh.uiuc.edu] has joined #scheme