00:00:03 r5rs quotient 00:00:07 -!- masm [~masm@2.80.163.88] has quit [Quit: Leaving.] 00:00:32 minion: call specbot 00:00:33 watch out, you'll make krystof angry 00:00:47 minion: chant 00:00:47 MORE CAPS 00:01:08 AY AY, SIR! 00:01:14 Paraselene_ [~Not@79-67-148-135.dynamic.dsl.as9105.com] has joined #scheme 00:01:17 sladegen: quotient and modulo aren't the same, one can return negative results, the other is always positive 00:02:15 IJP: i know, it's just bunched together with reminder in the same place. 00:02:37 that doesn't sound right, anyway. 00:02:48 sladegen: Actually it's not 00:03:30 incubot: (let ((% modulo)) (% 5 3)) 00:03:30 2 00:03:49 i meant remainder, not quotient 00:04:05 yes it is. 'quotient' 'reminder' 'modulo' 00:04:33 right after /. 00:04:49 -!- Paraselene [~Not@79-67-148-135.dynamic.dsl.as9105.com] has quit [Ping timeout: 264 seconds] 00:05:18 Anyone know if I can change a setting in Ikarus to make get-line work right for strings that end in CRLF? 00:05:50 I ended up writing a get-line-CRLF function, but it's less elegant than a parameter 00:09:17 *sladegen* hasn't has a chance to use ikarus, his CPU is too ancient. 00:19:29 -!- pavelludiq [~quassel@87.246.29.84] has quit [Remote host closed the connection] 00:20:58 -!- alexsuraci [~alex@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Remote host closed the connection] 00:23:58 Quadrescence [~Quad@c-24-131-149-41.hsd1.mn.comcast.net] has joined #scheme 00:23:59 -!- Quadrescence [~Quad@c-24-131-149-41.hsd1.mn.comcast.net] has quit [Changing host] 00:23:59 Quadrescence [~Quad@unaffiliated/quadrescence] has joined #scheme 00:26:04 -!- sstrickl [~sstrickl@dublin.ccs.neu.edu] has quit [Quit: sstrickl] 00:28:00 geckosenator [~sean@dsl-63-249-91-224.dhcp.cruzio.com] has joined #scheme 00:28:12 -!- Axioplase_ is now known as Axioplase 00:28:19 -!- dfkjjkfd [~paulh@232-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 00:29:25 alexsuraci [~alex@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #scheme 00:33:09 mbohun [~mbohun@202.124.72.16] has joined #scheme 00:37:07 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 260 seconds] 00:46:57 jordandanford [~jordandan@71-32-47-161.tcso.qwest.net] has joined #scheme 00:47:43 Poeir_ [~Poeir@c-98-228-60-162.hsd1.il.comcast.net] has joined #scheme 00:47:59 Hi, I'm new to Scheme and I'm looking for a fast, x86-64 compatible implementation that supports R6RS  what would anyone suggest? 00:52:29 anyone? :) 00:53:31 jordandanford, ikarus scheme 00:54:03 dfkjjkfd [~paulh@232-13-ftth.onsnetstudenten.nl] has joined #scheme 00:54:06 weinholt: Doesn't Ikarus only generate x86-32 machine code? 00:54:25 cky [~cky@cpe-065-190-148-048.nc.res.rr.com] has joined #scheme 00:55:37 no, it works on x86-64 as well these days, but maybe you need the version from bazaar for that 00:57:04 weinholt: Okay, awesome! I was considering it but then I looked on ikarus-scheme.org, which said it was 32-bit only 00:57:20 weinholt: I'll look for an x86-64 version 00:58:05 -!- acarrico [~acarrico@pppoe-68-142-38-34.gmavt.net] has quit [Quit: Leaving.] 01:01:52 -!- pjb [~t@81.202.18.80.dyn.user.ono.com] has quit [Remote host closed the connection] 01:02:38 -!- dfkjjkfd [~paulh@232-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 01:04:00 -!- jordandanford [~jordandan@71-32-47-161.tcso.qwest.net] has quit [Quit: jordandanford] 01:11:31 dfkjjkfd [~paulh@232-13-ftth.onsnetstudenten.nl] has joined #scheme 01:13:10 acarrico [~acarrico@pppoe-68-142-38-34.gmavt.net] has joined #scheme 01:19:05 -!- metasyntax [~taylor@pool-71-127-125-129.aubnin.fios.verizon.net] has quit [Quit: Be seeing you.] 01:26:25 hmmm... I see to have lost some code... 01:29:43 Hum, Ypsilon too, was fast, 64 compatible, and with R6RS support 01:30:48 ypsilon is an interpreter though, "fast" has a whole different meaning there 01:36:54 FunkyDrummer [~RageOfTho@users-55-29.vinet.ba] has joined #scheme 01:39:16 sstrickl [~sstrickl@c-98-216-238-231.hsd1.ma.comcast.net] has joined #scheme 01:40:09 -!- bgs100 is now known as bgs000 01:40:26 -!- RageOfThou [~RageOfTho@users-42-166.vinet.ba] has quit [Ping timeout: 240 seconds] 01:45:34 -!- snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has quit [Quit: snarkyboojum] 01:53:38 -!- FunkyDrummer [~RageOfTho@users-55-29.vinet.ba] has quit [Ping timeout: 240 seconds] 01:59:26 snarkyboojum [~snarkyboo@120.152.248.18] has joined #scheme 02:00:15 prince [~prince@203.246.179.177] has joined #scheme 02:01:35 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Quit: Leaving] 02:02:15 -!- cmatei [~cmatei@95.76.18.242] has quit [Ping timeout: 240 seconds] 02:03:37 -!- copumpkin [~copumpkin@dhcp-212-236.cs.dartmouth.edu] has quit [Quit: copumpkin] 02:08:02 -!- proq [~user@unaffiliated/proqesi] has quit [Ping timeout: 240 seconds] 02:16:32 cmatei [~cmatei@95.76.18.242] has joined #scheme 02:19:32 -!- saccade_ [~saccade@dhcp-18-111-84-184.dyn.mit.edu] has quit [Quit: This computer has gone to sleep] 02:36:07 copumpkin [~copumpkin@pat160.dartmouth-secure.border2-cfw.dartmouth.edu] has joined #scheme 02:48:54 saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 02:52:43 timj_ [~timj@e176192208.adsl.alicedsl.de] has joined #scheme 02:56:27 -!- timj [~timj@e176193095.adsl.alicedsl.de] has quit [Ping timeout: 276 seconds] 03:01:06 -!- sepult [~levgue@xdsl-87-79-142-183.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:03:01 -!- tessier [~treed@kernel-panic/copilotco] has quit [Quit: Leaving] 03:06:12 newbie008 [~8fa6e23a@gateway/web/freenode/x-bfpyfhbqcgvqpavz] has joined #scheme 03:07:12 n00bs with the need for speed 03:09:18 -!- vmixey [~quantum@unaffiliated/fax] has quit [Quit: Ex-Chat] 03:10:47 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read error: Operation timed out] 03:11:03 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 03:14:07 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Quit: Leaving] 03:18:10 hello my fellow schemers 03:18:31 I need help with a little something (very little indeed) 03:19:15 I need help cps-transforming this: (define (f return) (return 2) 3) 03:21:26 *offby1* stares blankly 03:21:48 *offby1* was out sick the day they talked about cps-transforming at school 03:24:34 newbie008: something like (define (f r k) (r 2 (lambda (tapeeteetapeetop) (k 3)))) 03:25:06 *Daemmerung* agrees, and lauds Axioplase for an excellent dummy-k name 03:25:40 *offby1* drums his fingers, but the sound isn't quite tapeeteetapeetop 03:25:45 *Daemmerung* is usually a boring k2, k3, etc kind of guy 03:25:56 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 03:26:29 *newbie008* is thinking 03:26:43 My naming convention uses unique prefixes so that completion goes faster ^^ 03:27:41 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has left #scheme 03:27:51 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 03:28:32 newbie008: try not to get into the habit of thinking; it's addictive and dangerous 03:28:45 Axioplase: isn't your version returning 2 valus somehow? 03:29:51 values^ 03:30:24 newbie008: the assumption is that both `f' and `return' have been transformed to take a k-parameter 03:30:41 *newbie008* is thinking some more 03:30:50 offby1: :) 03:32:05 Axioplase: holy balls i think you got it 03:32:13 Axioplase: i'll be right back to explain why i think so 03:35:44 -!- cpr420 [~cpr420@unaffiliated/cpr420] has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!] 03:37:38 *newbie008* is coding some more 03:42:36 hadronzoo [~hadronzoo@64.134.147.37] has joined #scheme 03:42:43 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 03:44:10 jordandanford [~jordandan@71-32-47-161.tcso.qwest.net] has joined #scheme 03:45:38 -!- jordandanford [~jordandan@71-32-47-161.tcso.qwest.net] has quit [Quit: jordandanford] 03:45:39 -!- adzuci [~ada2358@login.ccs.neu.edu] has quit [Ping timeout: 260 seconds] 03:47:13 adzuci [~ada2358@login.ccs.neu.edu] has joined #scheme 03:48:01 -!- eli [~eli@winooski.ccs.neu.edu] has quit [Ping timeout: 264 seconds] 03:48:06 -!- snarkyboojum [~snarkyboo@120.152.248.18] has quit [Quit: snarkyboojum] 03:53:20 eli [~eli@winooski.ccs.neu.edu] has joined #scheme 03:53:28 Axioplase: and the cps-transform of (lambda (x) x) is (lambda (x k) (k x)) ? 03:58:13 snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has joined #scheme 04:01:10 zelyu [~182ed347@gateway/web/freenode/x-dkryjlkguweyrgfd] has joined #scheme 04:01:32 looks right 04:04:04 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 04:07:02 IJP, `[remainder] and modulo aren't the same, one can return negative results, the other is always positive'. False. Both (remainder -3 -4) and (modulo -3 -4) yield -3. See what I hope is a lucid explanation of the issue , and in particular see the `Related' section. 04:07:53 virl [~virl__@chello062178085149.1.12.vie.surfer.at] has joined #scheme 04:10:01 I wonder whether that document passes the offby1 test. 04:10:08 offby1, after how many lines of that document do your eyes glaze over? 04:10:22 teurastaja [~samuel@modemcable224.15-176-173.mc.videotron.ca] has joined #scheme 04:10:59 -!- zelyu [~182ed347@gateway/web/freenode/x-dkryjlkguweyrgfd] has quit [Quit: connexion reset by beer] 04:12:38 IJP, the remainder operator that is always nonnegative (no reasonable remainder operator always gives a positive result!) is the Euclidean one. 04:12:50 -!- alexsuraci [~alex@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Quit: Lost terminal] 04:13:05 alexsuraci [~alex@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #scheme 04:14:18 how can i do networking in scheme? do i have to rely on libraries? 04:14:27 Maxel_ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has joined #scheme 04:15:04 teurastaja, there is no standard, whether de facto or de jure. What Scheme system are you using? 04:15:37 Riastradh: heh, ok, I'll take a look 04:16:50 -!- necroforest [~jarred@pool-108-56-179-132.washdc.fios.verizon.net] has quit [Ping timeout: 240 seconds] 04:19:17 im thinking about using one. i currently have plt-scheme but i dont want to learn a whole new language like plt... i want simplicity 04:20:19 I'm trying to understand that statement. If learning PLT is a "whole new language", what isn't? 04:21:42 Maybe he wants a thin layer over the BSD socket library -- which, as far as I know, PLT Scheme does not provide -- rather than the `high-level' networking library/language that PLT Scheme provides (where by `high-level' I mean `unnecessarily low-level and protocol-dependent'). 04:22:10 However, I suspect that the telepathy centre of my brain may need a little oiling this evening. 04:23:06 Riastradh: actually that was pretty clear. No glaze on my eyes. 04:23:23 I liked that you gave examples for some of the functions. 04:23:35 riastradh: thats it 04:23:37 offby1, thanks, although all this talk of glaze is making me hungry for a chocolate-glazed doughnut. 04:23:40 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 04:24:08 me too 04:24:19 http://planet.plt-scheme.org/display.ss?package=socket.plt&owner=vyzo 04:25:58 pencilk [~jk@222.178.152.106] has joined #scheme 04:26:03 donuts won't be available until 7am tomorrow, sorry 04:26:25 At 7? I don't even know whether I am capable of operating a doughnut at that hour. 04:26:59 -!- Kusanagi [~Lernaean@unaffiliated/kusanagi] has quit [] 04:27:41 Kusanagi [~Lernaean@unaffiliated/kusanagi] has joined #scheme 04:29:43 offby1, perhaps some day I'll come up with examples where floor, truncate, or round is what you want rather than ceiling or Euclidean. 04:29:56 teurastaja, by the way, in case it wasn't clear, the URI that Daemmerung just pasted was addressed to you. 04:30:15 you don't need a license to operate a doughnut, at least not here in Seattle. 04:31:23 newbie008 pasted "callcc-cps-version" at http://paste.lisp.org/display/99443 04:31:28 I dunno -- it is pretty universal that cops hang around doughnut shops, so one might think it's the sort of thing they'd nab you for operating without a licence. 04:31:50 HG` [~HG@xdsler076.osnanet.de] has joined #scheme 04:31:53 Axioplase, Daemmerung, offby1 : can anyone help me with the link above? 04:32:09 yes im reading it. i think plt-scheme isnt for me what else is good? 04:32:27 you think my expertise in doughnuts crosses over into scheme? hmm 04:32:45 too hungry to read code, sorry 04:32:53 *Daemmerung* leaves in search of food 04:33:14 newbie008: 'fraid it's a bit too late here for me to grok all that 04:33:27 nothing but excuses from us Washingtonians. 04:34:19 newbie008, in CPS, every procedure can be classified either as a user procedure or as a continuation procedure. If P is a program in direct style, and CPS[P] is the corresponding program in continuation-passing style, then there is a 1-1 correspondence between procedures in P and user procedures in CPS[P], the latter taking one more argument each than the former, for continuations. 04:34:35 Riastradh: right 04:34:47 -!- hadronzoo [~hadronzoo@64.134.147.37] has quit [Quit: hadronzoo] 04:35:10 newbie008, in direct style, CWCC is a procedure that takes one argument, a unary procedure, and passes to that argument an escape procedure. Suppose, for simplicity, that escape procedures are unary too. 04:35:30 Let's call the argument to CWCC the receiver. 04:35:42 In continuation-passing style, how many arguments do CWCC, the receiver, and the escape procedure take? 04:37:05 More precisely: how many arguments are taken by the user procedures that correspond with CWCC, the receiver, and the escape procedure? 04:37:51 Riastradh: i appreciate the help but i understand how CPS is supposed to work 04:37:58 Riastradh: i just need help getting my example to work 04:38:15 I'm getting to your example. 04:38:20 melba [~blee@unaffiliated/lazz0] has joined #scheme 04:38:37 cpr420 [~cpr420@unaffiliated/cpr420] has joined #scheme 04:39:18 If you'd prefer an alternate route to your example: What goes wrong when you try to run that code? 04:39:57 Riastradh: it should print 3,2,3,2 but it only prints 3,2,3 and then it fails when trying to print the last 2 04:40:10 Riastradh: the reason why it fails is because this call: 04:40:12 Can you be more specific when you say `fail'? 04:41:00 Riastradh: display: expects type as 2nd argument, given: #; other arguments were: 2 04:41:10 Riastradh: when i call: (cpscallcc2 cps-f display) 04:41:16 Also, the problem may manifest itself a little more clearly if you pass MAIN-CONTINUATION rather than DISPLAY to CPSCALLCC2 on the last line. 04:41:19 Riastradh: it calls: (define (cps-f return k) (return 2 (lambda (a) (k 3)))) 04:41:30 Riastradh: lemme see 04:41:50 Riastradh: right, but i understand what the problem is 04:41:53 Riastradh: just not how to solve it 04:42:01 What is the problem, then? 04:42:50 Riastradh: the problem is that the way we have cps-f set up, whenever return and k are the same function, they will have different arities 04:42:54 Or, why does MAIN-CONTINUATION get passed two arguments when it expects one? What type of procedure is MAIN-CONTINUATION, and how is it being used? 04:44:46 Maxel [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has joined #scheme 04:46:35 -!- turbofail [~user@adsl-69-238-246-201.dsl.pltn13.pacbell.net] has quit [Read error: Connection reset by peer] 04:46:41 Riastradh: it gets passed two arguments when it expects one because when i call cpscallcc2 with arguments cps-f and main-continuation, then cpscallcc2 calls cps-f with both "return" and "k" arguments as being the same function "main-continuation", and the usage of "return" and "k" inside the body of function cps-f have different arities 04:46:58 Right. Why do they have different arities -- what types of procedures are they expected to be? 04:48:11 -!- Maxel_ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has quit [Ping timeout: 248 seconds] 04:49:32 Riastradh: can you rephrase the question? 04:49:56 -!- cky [~cky@cpe-065-190-148-048.nc.res.rr.com] has quit [Ping timeout: 240 seconds] 04:50:21 Riastradh: k is expected to be the continuation procedure 04:50:57 -!- teurastaja [~samuel@modemcable224.15-176-173.mc.videotron.ca] has left #scheme 04:51:11 Riastradh: return is supposed to be the procedure that cpscallcc2 is supposed to act on 04:53:57 -!- bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has quit [Quit: leaving] 04:54:34 Riastradh: you stil therE? 04:56:23 newbie008: DISPLAY is not a CPS'd function. 04:56:37 It takes no continuation. So, it fails. 04:58:03 Axioplase: but main-continuation is, so what gives? 04:58:11 Let me read the code. 04:58:35 newbie008, when I say `types of procedures', I mean either `user procedures' or `continuation procedures'. 04:59:13 newbie008, so, yes, K is expected to be a continuation procedure. Which is RETURN expected to be -- a user procedure or a continuation procedure? 04:59:36 -!- Maxel [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has quit [Ping timeout: 240 seconds] 04:59:37 Riastradh: is that a rhetorical question (i.e. do you know the anwer?) or a direct question? 05:00:00 Riastradh: because i'd guess it's a continuation procedure 05:00:08 It is a rhetorical question, of the Socratic sort. 05:00:17 Michael_Mohamed [~Mohamdu@99.227.123.6] has joined #scheme 05:00:40 Axioplase annotated #99443 "trace" at http://paste.lisp.org/display/99443#1 05:00:44 Riastradh: yes i noticed we were doing maieutics :) 05:00:50 -!- Mohamdu [~Mohamdu@CPE0013f7bc6820-CM0013f7bc681c.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 05:00:52 We're looking at a program that is supposed to be the CPS conversion of some program in direct style. Was there a procedure corresponding with RETURN in the program in direct style? 05:01:04 Riastradh: so i'm gonna guess return is supposed to be a continuation procedure' 05:01:12 Riastradh: since the whole program is expected to be in cps 05:01:29 Riastradh: maybe the problem is that k should also be a continuation procedure and it currently isnt'? 05:02:35 Well, let's look at K, then. Was there a procedure corresponding with K in the first program, i.e. the program in direct style? 05:02:47 Riastradh: no 05:03:03 Why does K appear in the second program, i.e. the one in continuation-passing style? 05:03:22 Riastradh: because cps functions dont return, so i have to pass the continuation explicitly 05:03:37 Exactly. So what type of procedure is K? 05:04:34 Riastradh: a direct one, not a continuation one 05:05:46 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 264 seconds] 05:06:11 There are two types of procedures in continuation-passing style, in the present lingo -- user procedures and continuation procedures. Remember that every user procedure in the program in continuation-passing style occurred as a procedure in the program in the direct style, and vice versa. K did not occur in the program in direct style, so can it be a user procedure? 05:07:40 Riastradh: no it can't 05:07:45 -!- HG` [~HG@xdsler076.osnanet.de] has quit [Quit: HG`] 05:08:09 hadronzoo [~hadronzoo@ppp-70-251-72-6.dsl.rcsntx.swbell.net] has joined #scheme 05:08:25 Right. Consequently, it must be a continuation procedure. What arguments does it expect, and what arguments do we give it in CPS-F? 05:08:27 -!- alexsuraci [~alex@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Remote host closed the connection] 05:08:43 alexsuraci [~alex@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #scheme 05:09:12 Riastradh: it expects whatever arguments the direct-style f procedure _returned_. 05:09:29 Riastradh: we give it 3 in the cps version of f because the direct f returned 3 05:09:52 OK. Let's suppose, for simplicity, that in the original program in direct style, every procedure takes one argument and returns one value. 05:10:22 Riastradh: ok (i think that's how it really was in my program) 05:10:24 jengle [~jengle@69.0.54.60] has joined #scheme 05:10:27 Yep. 05:10:32 Riastradh: ok 05:10:49 Since F returned one argument in the original program, K, being a continuation procedure, will take one argument. 05:11:00 So that all looks OK in your program. 05:11:27 Now let's return to RETURN. Did RETURN occur in the direct-style program? 05:12:10 Riastradh: yes 05:12:15 So what type of procedure is it? 05:13:02 Riastradh: in the direct style program or the cps version? 05:13:46 The CPS program -- the distinction between user and continuation procedures arises only in continuation-passing style, not in direct style. 05:14:15 Riastradh: i think i don't understand the exact distinction between "user procedure" and "continuation procedure" 05:14:56 Riastradh: but i'm pretty sure Return is a "continuation procedure" 05:15:01 newbie008: user procedure: your f. continuation procedure: a (lambda (v) ...) 05:15:02 When you transform a program in direct style into continuation-passing style, every procedure that occurred in direct style becomes a user procedure in continuation-passing style: it takes an extra argument, for its continuation. 05:16:13 -!- pencilk [~jk@222.178.152.106] has quit [Remote host closed the connection] 05:16:14 Furthermore, the program in continuation-passing style has some procedures that did not occur explicitly in direct style: continuations. 05:16:27 Riastradh: oh, then return is a user proedure 05:16:44 Riastradh: because it occured explicitly in the direct-style version 05:16:54 For example, in the body of F, (BEGIN (RETURN 2) 3), with a continuation of K, becomes (RETURN 2 (LAMBDA (A) (K 3))). (LAMBDA (A) (K 3)) is a continuation procedure introduced to explicate the control flow. 05:16:58 That's right. 05:17:09 So, how many arguments do we pass RETURN, if it is a user procedure? 05:17:22 That is, how many arguments do we pass to it in continuation-passing style? 05:17:50 Riastradh: 2 because the first one is the one that was there in the direct-style version, and the second one is the continuation 05:18:06 Right. And how many arguments does it expect, if it is a user procedure? 05:18:50 Riastradh: it expects 2 arguments again (isn't that the same question?) 05:19:35 Well, there is a slight difference, because of a distinction I have not been making clear here: there is a *variable* named RETURN, whose value we use in a particular way in the body of CPS-F, namely as a user procedure. 05:20:20 For any particular *value* passed to CPS-F, the value should be a buser procedure. Otherwise, the program won't make sense. 05:21:01 So, CPS-F uses RETURN as a user procedure, by passing two arguments; and when you call CPS-F with some argument that is a user procedure, that user procedure will expect to be given two arguments. 05:21:11 Riastradh: so you're saying since i also pass k to cps-f, k should also be a user procedure, otherwise it doesnt make sense? 05:21:28 No, no, no -- K was OK; we already established that. I'm talking only about RETURN now. 05:21:36 okay, 05:21:56 go on 05:22:08 CPS-F expects the argument it is given to be a user procedure. But what does your program actually give to CPS-F? Where does the value of RETURN come from? 05:22:26 ejs [~eugen@92.49.255.107] has joined #scheme 05:22:51 -!- jengle [~jengle@69.0.54.60] has quit [Quit: Leaving.] 05:23:20 it comes from when i call cps-f in the last line. I give "(lambda (x k) (k x))" to CPS-F's "return" 05:24:07 Does the expression (lambda (x k) (k x)) yield a valid user procedure, that can be used as CPS-F uses RETURN? 05:24:38 Just a moment. 05:24:53 Have you edited your program to use MAIN-CONTINUATION, rather than DISPLAY, in the last few lines? 05:25:00 yes 05:25:03 (I have been operating under the assumption that you have.) 05:25:05 OK. 05:25:09 -!- virl [~virl__@chello062178085149.1.12.vie.surfer.at] has quit [Remote host closed the connection] 05:25:23 In both (cps-f (lambda (x k) (k x)) ...) and (cpscallcc2 cps-f ...)? 05:25:24 so to answer the question 05:25:37 yes sir 05:25:40 in both those lines 05:25:47 the last argument is now main-continuation 05:25:47 OK. Carry on with answering the question, then. 05:25:52 ok 05:26:31 i believe that expression does yield a suer procedure, because it takes two parameters just like "return" expects is 05:26:38 expects it^ 05:26:44 Yes, that's right. 05:26:55 Now let's look at the very last expression, (cpscallcc2 cps-f main-continuation). 05:27:05 which is the only one that doesnt work 05:27:32 What does CPSCALLCC2 pass as the second argument, the continuation, to CPS-F? 05:27:43 main-continuation 05:28:12 And what does it pass as the first argument to CPS-F? 05:28:48 cps-f 05:29:08 Huh? How do you conclude that? 05:29:20 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Quit: Leaving] 05:29:28 the call is (cpscallcc2 cps-f main-continuation) 05:29:37 (I'm asking about the first argument that CPSCALLCC2 passes to CPS-F -- not the first argument that is passed to CPSCALLCC2 on the last line, which is CPS-F.) 05:29:50 oh ok 05:29:54 lemme think 05:30:00 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 05:30:22 main-continuation again!! 05:30:29 mathk [~mathk@lns-bzn-32-82-254-21-65.adsl.proxad.net] has joined #scheme 05:30:54 Basically, yes. What type of procedure is MAIN-CONTINUATION -- and what type of procedure does CPS-F expect as its first argument? 05:31:22 main-continuation is a continuation procedure but CPF-S was expecting its "return" argument to be a user procedure!! 05:31:28 :))) 05:31:43 Exactly. So what's wrong here in your program? 05:32:00 i haven't converted main-continuation into a user procedure, and i should do that 05:33:26 -!- snorble [~none@s83-179-14-105.cust.tele2.se] has quit [Read error: Connection reset by peer] 05:34:10 Riastradh: is that it? 05:34:34 Well, how do you convert a continuation procedure into a user procedure? 05:34:55 have it take one more parameter, namely k 05:35:07 And what do you do with it? 05:35:33 what do i do with k inside the main-continuation? 05:35:39 is that the question? 05:35:55 Not inside MAIN-CONTINUATION, but inside the user procedure that you're constructing from the continuation procedure. 05:36:04 right 05:36:26 Currently you have (lambda (result) (k result)), but you said you need to add another parameter -- call it K*, to avoid confusing it with K -- so that you now have (lambda (result k*) ...). What goes in the ellipsis? 05:37:21 you're reading that from cpscallcc, i'm not using that function in my program - i'm using cpscallcc2 05:37:22 chandler: would it be possible to get lisppaste in a temporary channel put together for a wg1 meeting? 05:37:50 You're right -- although the two are basically equivalent, if every continuation procedure is unary. 05:37:56 Riastradh: yes 05:38:03 Riastradh: so to answer the question 05:38:46 Riastradh: what would i do with k - i would replace whataver the direct-style main-conmtinuation returned with a call to k with the parameter being what the direct-style program returned? 05:39:17 Riastradh: i think i don't really know what i'd do with K inside the user procedure i'm building from main-continuation 05:39:20 Well... In (begin (return 2) 3), if RETURN is an escape procedure, do you ever come back to evaluating 3 after you evaluate (return 2)? 05:39:29 no 05:39:33 i don't come back 05:39:53 So does the escape procedure RETURN use its continuation at all? 05:40:11 no it doesn't. 05:40:17 That is, in continuation-passing style, when evaluating (return 2 (lambda (a) (k 3))), does RETURN ever use its second argument? 05:41:13 i guess not? in which case i could simply discard the K on the user procedure version made from main-continuation? 05:41:46 So, if we look at the definition of CPSCALLCC, and replace (lambda (result) (k result)) by (lambda (result k*) ...), what goes in the ellipsis? 05:42:31 can we do that question with cpscallcc2 ? i understand that better because i made that 05:43:17 Well, if K is unary, then (lambda (result) (k result)) is basically the same as K, so you're replacing (the first) K by (lambda (result k*) ...). 05:45:00 I'm not following this last part. I don't know what k* means (I'm new to scheme) and I was trying to use cpscallcc2 instead of cpscallcc because I believe that cpscallcc2 is correct 05:45:29 K* is just another name. We already had a K, so I didn't want to use K again, especially because we need to use our original K inside the ellipsis. 05:45:49 (Neither definition is correct in the paste: the two are basically equivalent, and both wrong.) 05:45:58 oh ok 05:46:13 lemme think then 05:46:18 You could use the name C or L or THIDWIBBLING-GRONGLESTALKER if you prefer 05:46:39 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Remote host closed the connection] 05:46:47 . 05:48:21 the ellipsis would be something like (k* result k) ? 05:48:34 *foof* stalks grongles at midnight 05:48:54 You just said that this user procedure -- (lambda (result k*) ...) -- would ignore its continuation, K*, though. 05:49:11 it would stay the same, then ---> (k result) 05:49:22 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 05:49:42 Right: in CPSCALLCC, you just need to add an unused parameter K* to the lambda expression for CC. 05:49:52 hmmm 05:50:02 and that'll fix everything? 05:50:02 Try it! 05:50:47 Riastradh: you're good :D 05:50:51 Riastradh: chandler mentioned, by the way, that work has been seducing you away from IRC; does this mean you've found contentment in some saecular employment? 05:52:17 No, I have a gig running around with Metatron. 05:52:39 :o 05:53:19 Riastradh: can we simplify cpscallcc to make it look more like cpscallcc2? or rather, can we also fix cpscallcc2? 05:53:25 that would explain the "you're good" observation 05:53:27 I have to make sure his fiery appearances are safe, and dispose of the fish into which he turns the baseball bats that people brandish to defend themselves. 05:53:56 also, broccoli lacks the donut-nature. 05:54:03 newbie008, sure: just substitute the expression of CC for its only reference. 05:54:12 (in CPSCALLCC) 05:55:03 right, you're saying, instead of declaring a cc and assigning something to it and then using it, i could just use what i assigned to cc and not have to create cc 05:55:28 so based on that, let me try and fix cpscallcc2 05:55:36 Riastradh: http://i.imgur.com/pP4ku.jpg 05:56:18 I don't have a jpeg viewer handy, sorry, Quadrescence. 05:56:31 libcaca 05:56:38 Riastradh: done: 05:56:39 Riastradh: (define (cpscallcc2 f k) (f (lambda(result kk) (k result)) k)) 05:56:45 libcaca 05:57:02 -!- copumpkin [~copumpkin@pat160.dartmouth-secure.border2-cfw.dartmouth.edu] has quit [Quit: copumpkin] 05:57:12 *Daemmerung* is not an echobot, damn it 05:57:24 Daemmerung: echo incubutt 05:58:23 watch out, you'll make krystalpepsi angry 05:58:24 so if "discarded-continuation" would be a more appropriate name for the variable "kk" (the one you suggested be named k*) what would be a more appropriate name to "result" to signify what it means, i.e. how it's being used? 05:58:37 *Riastradh* shrugs. 05:58:51 `Result', `value', whatever -- it doesn't matter much. 06:00:14 Riastradh: i'd love to hear you blag, then, on the carp that was once abraham's knife; how it smelled, and whether terry jones was there to collect the scraps. 06:00:16 -!- saint_cypher [~saint_cyp@adsl-99-2-72-93.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 240 seconds] 06:00:24 Riastradh: i'm just trying to understand what return is - since i'm building a lambda that takes a "result" and a "kk" that i'll discard, then i guess "result" is the number 2 when i call (cpscallcc2 cps-f main-continuation), right? 06:01:54 Riastradh: in other words, "result" is the thing that CPSCALLCC2 forced F to return 06:02:27 ...er, no, RESULT is just the value that calling RETURN caused CPSCALLCC2 there to return. 06:03:45 Riastradh: I'd love for you to get a jpeg viewer 06:03:49 Riastradh: right, just what i said in my last message ("in other words...")? 06:04:14 Quadrescence, maybe you could render it into ASCII art: I do have a web browser handy, w3m (and curl). 06:04:58 newbie008, CPSCALLCC2 didn't force F (or CPS-F) to return anything. F (CPS-F) made the choice to call RETURN, which had the effect of making CPSCALLCC2 return. 06:05:01 HG` [~HG@xdsl-92-252-34-251.dip.osnanet.de] has joined #scheme 06:05:22 Riastradh: okay, i understand that 06:05:34 Riastradh: poor choice of words on my part 06:07:03 -!- R3cur51v3 [~Recursive@173-29-151-107.client.mchsi.com] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!] 06:08:01 -!- mathk [~mathk@lns-bzn-32-82-254-21-65.adsl.proxad.net] has quit [Read error: Connection reset by peer] 06:08:20 mathk [~mathk@lns-bzn-45-82-65-141-36.adsl.proxad.net] has joined #scheme 06:08:55 Riastradh: and that "effect of making CPSCALLCC2 return" is precisely because CPSCALLCC2 doesn't let CPS-F's "return" use its continuation, because it feeds RETURN with a lambda that discards its continuation!!! 06:09:05 Riastradh: the image doesn't look very good in ascii art, hard to discern what is what 06:09:50 http://www.degraeve.com/img2txt-yay.php?url=http%3A%2F%2Fi.imgur.com%2FpP4ku.jpg&mode=H&size=100&charstr=ABCDEFGHIJKLMNOPQRSTUVWXYZ&order=R&invert=N 06:09:50 -rudybot:#scheme- http://tinyurl.com/26vboo6 06:10:00 Riastradh: http://tinyurl.com/2ea257x 06:13:05 Quadrescence: maybe if you make the letters close together? 06:13:09 closer* 06:13:38 Riastradh: could you verify my last statement when you have the time? 06:14:54 ecraven, uh, yeah, I don't really see any pattern in those letters. 06:15:05 Riastradh: do you have color? 06:15:21 indeed, the link Quadrescence posted is much better. it only has 'o's 06:15:29 don't tell me you're on a dumb terminal 06:15:37 necroforest [~jarred@pool-72-66-100-119.washdc.fios.verizon.net] has joined #scheme 06:15:56 Quadrescence, not on that page. w3m does display some colour, probably no more than 8 bits of it. 06:16:19 :( 06:16:24 Well, actually, all I see are four colours in w3m. 06:16:34 (black, red, green, and blue) 06:16:38 Riastradh: i am truly disappointed 06:17:09 I'm sorry to disappoint you. Maybe you should write a letter of complaint to Metatron to let him know that the company laptops suck. 06:17:40 Riastradh: may I have an email address to send to? 06:18:34 metatron@god (although I'm not sure whether that's an official ICANN TLD yet) 06:26:19 WormDrink [~WormDrink@196-210-40-30.dynamic.isadsl.co.za] has joined #scheme 06:26:21 hi 06:26:55 is there any other scheme interpreters/compilers except MIT/GNU scheme and GNU guile 06:27:25 copumpkin [~copumpkin@c-75-69-96-50.hsd1.nh.comcast.net] has joined #scheme 06:30:07 no, those are the only ones 06:30:40 incubot: i've been trying to work "transitive closure" into a conversation today, but my three-year-old is pink-panther-fixated 06:30:45 Maybe some day I'll read this when properly fixated and nothing in the reachable radius 06:30:57 scheme is very unpopular so not many people implement it 06:31:08 i see that MIT scheme wont implement R6RS - but i cant actually see if it is implemented in guile ? 06:31:12 that's because it's fiendishly difficult to implement 06:31:58 WormDrink: just curious, what do you find deficient about r5rs: the exponent? 06:32:08 nothing 06:32:13 i dont know scheme 06:32:14 at all 06:32:18 was planning to learn it 06:32:30 oh, then forget about r6rs; you're options will be much more open. 06:32:40 ok 06:32:43 WormDrink: look at www.schemers.org 06:32:47 k 06:32:56 under implementations :) 06:33:15 WormDrink: and this is the obligatory link: http://mitpress.mit.edu/sicp/full-text/book/book.html 06:33:52 does slime48 still work with current scheme48? 06:34:17 Riastradh: can you give me a link that teaches how to manually do cps-transform? 06:34:22 ecraven: 06:34:32 Riastradh: just like you kindly did it for that wikipedia example? 06:35:17 Riastradh: is there progress in creating a module system for mit-scheme? 06:35:34 newbie008: you're not doing this in school? Consider reading EOPL, then. 06:37:03 No, ecraven. 06:37:31 Daemmerung: i'm not in school, lol 06:37:52 newbie008, I second Daemmerung's suggestion of EoPL. Try to find the first edition, too, rather than later editions, from which a couple of interesting chapters were omitted. 06:37:59 Riastradh: is there any other way to prevent pollution of the global namespace? 06:38:25 I second Ria's endorsement of the first edition. 06:38:28 Riastradh: great, i'll buy EOPL 1st ed then. is that how you learned to CPS-transform? 06:38:42 ecraven, you can construct environments manually; or you can use CREF, described at the end of compiler/documentation/porting.guide. 06:38:51 Riastradh sprung from the skull of Zeus 06:39:16 CPS transform in hand 06:39:28 and Medusa's head in the other hand 06:39:30 newbie008, no, I came across EoPL later. 06:40:27 kilimanjaro: :D 06:40:27 hmm 06:40:41 Riastradh: hmm i see. learned CPS in school then? 06:41:00 actually, maybe im being overly optimistic - what i9s most popular functional language ? 06:41:06 haskell ? or common lisp ? 06:41:18 No...I don't really remember when I first encountered it, newbie008. 06:41:26 newbie008: CPS is a primordial technique in Scheme. 06:41:27 WormDrink: depends on what you mean by "popular" I guess. 06:41:39 Axioplase, which is most used 06:41:47 ASau` [~user@77.246.231.120] has joined #scheme 06:41:55 "popular functional language" is an oxymoron, no? 06:42:12 lol 06:42:16 ocaml, mebbe 06:42:25 haskell 06:42:29 I think there's a lot more buzz about haskell and clojure than any other, but that CL is the most used (even though Scheme has been the most pervasive, thanks to adware) 06:42:37 yeah, haskell 06:42:57 #sml 31, #ocaml 83, #scheme 139, #lisp 294, #haskell 628 06:42:58 see scheme looks cool and all - and seems quite nice for learning functional programming - but i would want a skill that is relevant 06:43:11 Daemmerung: no idea how you devise it, these days when 06:43:11 someone starts talking about functional programming he talks 06:43:12 about haskell. 06:43:22 as if there's nothing else. 06:43:22 We not about relevant 06:43:33 yeah - i figured :) 06:43:34 lol 06:43:38 ok cool - thanks 06:43:42 Daemmerung: i see. it's just that i'm having trouble finding material on how to CPS-transform on the web 06:43:49 WormDrink, try python, or have the courage to make Scheme relevant in your own work 06:43:49 Daemmerung: when i google for it i get nothing 06:43:52 ASau`: obviously there is nothing elsee 06:43:58 ASau`: actually, I'm sort of charmed that something as abtruse as Haskell is "popular." God bless the new generation. 06:44:19 lol 06:44:33 Haskell's success can be attributed to basically one simple fact 06:44:37 axiom should be popular 06:44:38 Math is more fun than programming. 06:44:47 *Daemmerung* boggles 06:44:48 (discuss) 06:44:49 WormDrink, if you think of `Scheme' as a skill, I don't think you'll get much out of it. It is a tool, used by a more general skill at expressing computational ideas precisely. 06:44:51 -!- nasloc__ [tim@163.16.211.21] has quit [Ping timeout: 260 seconds] 06:44:53 Quadrescence: you're roaming around across all related 06:44:54 communities nowhere staying for a long time, how could you know? 06:45:28 He's like that guy in the Kung Fu tv show 06:45:34 kilimanjaro: Math is more fun than discussing. 06:45:36 The one that died in bdsm gear 06:46:03 newbie008: run, don't walk, to EOPL. It'll do you right. 06:46:12 foof: if math was more fun then why doesn't chibi have math??? 06:46:38 I remember (but can't find it) a blog on planet haskell with a guy saying that Haskell had this, this and that, and that it made it really great. While in fact, he didn't have it (according to me), and that what he found cool was just a real pain in the neck for any lisp programmer 06:47:09 … 06:47:09 Quadrescence: I'm still working on it. 06:47:19 foof: me too 06:47:54 Daemmerung: okay i'm excited then, but i won't be able to buy the first version, too expensive on amazon ($164) 06:48:04 newbie008: ouch!! too much. 06:48:14 Yikes. 06:48:25 Anybody read v3? 06:48:27 I don't think it cost nearly that much when I bought it at the MIT Press bookstore. 06:48:30 is the 2nd edition a lot worse really? 06:48:30 Please Invest in Quad's Printing 06:48:38 Daemmerung: what is "v3"? 06:48:42 No, Daemmerung. 06:48:46 Third ed of EOPL 06:48:50 Quad's Printing has Recently Obtained New Technology 06:48:54 I mean: Not I, Daemmerung. 06:49:22 but you've seen 2nd Ed and concluded that the 1st Ed is better? 06:49:34 Just wondering if the third edition ameliorated the CASTRATION!!! (add more !s per taste) of the 2nd ed. 06:50:16 I haven't compared them thoroughly, newbie008; there are probably small improvements in the text and exercises that were preserved in the second edition. What struck me is the omission of a couple of chapters from the second edition. 06:51:07 Riastradh: and those chapters you deem too important to have been left out? 06:51:29 Riastradh: don't tell me the chapters that were left out were the ones about CPS-transform, otherwise i'll cry 06:52:23 There is, I believe, still CPS coverage in later eds of EOPL. And apparently it uses a more efficient algo for same. But it devotes fewer pages to the topic. 06:52:42 -!- ejs [~eugen@92.49.255.107] has quit [Quit: This computer has gone to sleep] 06:53:23 Because, screw "efficient," if you need to understand the topic more pages is more better 06:53:38 s/more/mo'/g 06:54:00 timchen1` [tim@163.16.211.21] has joined #scheme 06:54:59 newbie008: pm 06:55:59 Daemmerung: okay then i can't have that, i'm just gonna buy the 1st edition from this page then : http://www.cs.indiana.edu/eip/eopl.html 06:56:09 Daemmerung: $34 is not too bad 06:57:03 It's not. But can you really buy it from there? 06:57:07 newbie008, there are still a couple of chapters on continuation-passing style, but I don't think there is any discussion of the relation of continuation-passing style to stacks, registers, and machine code. 06:57:44 Daemmerung: hmm good point, i'll look into alibris 06:57:47 I need to send my wife back to school so I can visit her and shop at the MIT-Press store. 06:58:28 (note that I do not myself volunteer to return to school) 06:58:48 Daemmerung: i do need the most pages i can get 06:59:16 Daemmerung: i wouldn't like to go back to school either but i will 06:59:31 Riastradh: i see 07:00:02 If you affilate yourself with a university, you will typically have a vast library available to you, so that you need not shell out any cash for EoPL at all. 07:00:26 hmm good point 07:00:33 i already have a univeristy library card 07:00:37 Use it! 07:00:38 because of other reasons 07:00:41 so i'll look into that 07:00:43 good point, thanks 07:00:58 Even if your university's library doesn't have the book, they may be able to borrow it from some other library. 07:01:28 chittoor [~chittoor@listertech.in] has joined #scheme 07:02:12 Whoa. My wife's about to take a lecturer position at a local Uni. Wonder if I could get library privileges? That would be so sweet. 07:02:55 Daemmerung: yes you can, that's exactly my situation! 07:03:02 *Daemmerung* drools 07:03:11 God bless, but I miss that. 07:03:33 Riastradh: can we just quickly finish up and conclude our socratic talk? 07:03:51 Did I leave some loose ends? 07:04:01 Riastradh: i just want to confirm one final thing 07:04:03 Riastradh: you had said that "F (CPS-F) made the choice to call RETURN, which had the effect of making CPSCALLCC2 return." -> that "effect of making CPSCALLCC2 return" is precisely because of that change we made where we discard the continuation k* right? 07:05:03 Not only do we discard the continuation K*, but we also use the continuation that we passed to CPSCALLCC2 in the first place -- that's what causes a value to come flying out of the call to CPSCALLCC2. 07:05:12 pavelludiq [~quassel@87.246.29.84] has joined #scheme 07:06:55 That is, discarding K* is what causes (begin (return 2) 3) never to move on to evaluating 3; using the continuation that was passed to CPSCALLCC2 (i.e. MAIN-CONTINUATION) is what causes a value to come flying out of the call to CPSCALLCC2, and into MAIN-CONTINUATION, instead. 07:07:37 Riastradh: exactly, and what you said is the reason why callcc is called "call-with-current-continuation" - because we call a function (first argument) with the continuation we pass on the second argument 07:07:45 Riastradh: correct? 07:08:10 Yes, that's the general idea. 07:08:26 Riastradh: :) 07:08:37 Riastradh: thank you for explaining it all to me so patiently 07:09:44 i took the last few days to learn monads and continuations and i'm glad to have finally achieved that goal :) 07:09:55 i didn't like monads too much though - not that interesting 07:09:58 -!- pavelludiq [~quassel@87.246.29.84] has quit [Remote host closed the connection] 07:11:34 no on to using them 07:11:43 now 07:13:42 I think the opposite : monads are interesting. Using them is boring. 07:14:03 -!- Daemmerung [~goetter@64.146.161.228] has quit [Read error: Connection reset by peer] 07:14:07 Daemmeru` [~goetter@64.146.161.228] has joined #scheme 07:14:18 Scheme needs something that is both interesting and not boring 07:14:20 It's just a design pattern with a few extra rules. 07:14:26 kilimanjaro: macrology! 07:14:27 like perhaps wg2 can have a procedure that when invoked 07:14:31 begins an interactive flight sim 07:14:52 kilimanjaro: long haul flights are boring. 07:15:13 There was once a man named Democritus who believed that everything is made of little things called atoms, and there was once another man named Leibniz who believed everything was made of little things called monads, and it is a good thing that these two men never met, for there would have ensued a very dull argument. 07:15:35 omg monads 07:15:36 Not really the same monads. 07:15:38 ;) 07:15:48 Axioplase, how do you know? Have you ever seen one? 07:15:49 There once was a man from Nantucket. 07:15:54 Axioplase: yes that's what i understood from it, it's like design patterns for types 07:15:54 -!- Daemmeru` is now known as Daemmerung 07:15:56 leibniz invented haskell!!! 07:16:15 kilimanjaro: a long haul flight? 07:16:25 kilimanjaro: callcc is both interesting and not boring 07:16:38 newbie008, don't BS a BS'er 07:16:38 Internet is a place to watch gonads, not monads 07:17:07 Leibniz was Haskell's father?! 07:17:43 No, foof, Darth Vader is his father. Don't you ever watch any movies? 07:17:46 Yeah, he told him just before dying, at the end of a fight with his son. 07:18:23 foof: haskell was born of the primordial curry 07:18:49 (after leibniz made it from his monads) 07:18:52 Mmmm, primordial curry. Now I'm hungry, which particularly indicates that it is unreasonably long past my bedtime. 07:19:37 *Axioplase* vanishes. 07:20:49 primordial curry is a monoid object in the category of blenders 07:21:26 *copumpkin* shuts up 07:21:55 *Riastradh* goes to hallucinate of thidwibbling and gronglestalking. 07:22:21 enjoy! 07:22:36 Maybe I'll even figure out what they are. 07:22:40 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Quit: *zonk*] 07:23:52 -!- mathk [~mathk@lns-bzn-45-82-65-141-36.adsl.proxad.net] has quit [Read error: Connection reset by peer] 07:24:05 mathk [~mathk@lns-bzn-29-82-248-247-253.adsl.proxad.net] has joined #scheme 07:34:17 ejs [~eugen@77.222.151.102] has joined #scheme 07:35:05 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 07:35:13 i'm going to have lunch and i'll be back in an hour or so (at work now) 07:36:35 -!- hadronzoo [~hadronzoo@ppp-70-251-72-6.dsl.rcsntx.swbell.net] has quit [Read error: Operation timed out] 07:38:52 -!- ejs [~eugen@77.222.151.102] has quit [Ping timeout: 246 seconds] 07:39:22 ejs [~eugen@nat.ironport.com] has joined #scheme 07:40:36 pjb [~t@81.202.18.80.dyn.user.ono.com] has joined #scheme 07:43:50 hadronzoo [~hadronzoo@ppp-70-251-80-103.dsl.rcsntx.swbell.net] has joined #scheme 07:48:05 -!- hadronzoo [~hadronzoo@ppp-70-251-80-103.dsl.rcsntx.swbell.net] has quit [Read error: Operation timed out] 07:54:26 hadronzoo [~hadronzoo@ppp-70-251-72-35.dsl.rcsntx.swbell.net] has joined #scheme 07:58:49 -!- dfkjjkfd [~paulh@232-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 08:01:24 pavelludiq [~quassel@87.246.29.84] has joined #scheme 08:02:59 -!- mastertogo [~togo@ip70-171-249-111.tc.ph.cox.net] has quit [Ping timeout: 246 seconds] 08:08:43 kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 08:09:59 heh. just read the analytic report about security market in russia. our company took 2nd place with huge grow (1st place has loss 30%). And our product is writen is scheme. 08:11:37 Wow Scheme must have been the reason 08:12:04 Let's say so. 08:12:37 rmrfchik: what is your product? 08:12:57 And while there are many factors to a company success, good tools are obviously a good factor of increased productivity, hence growth. 08:13:01 we're using plt.. 1st vertsion was release 10 years ago (today! is annual) 08:13:21 foof: Mail Archive and Control 08:14:08 i spent about 5 years in this product 08:14:27 -!- pavelludiq [~quassel@87.246.29.84] has quit [Remote host closed the connection] 08:17:01 congrats 08:17:46 mastertogo [~togo@ip70-171-249-111.tc.ph.cox.net] has joined #scheme 08:18:46 thanks 08:22:33 now you need to convince #1 place to use scheme, or overtake them ;) 08:22:55 ;) 08:32:31 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 258 seconds] 08:33:08 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 08:50:45 -!- kniu [~kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has quit [Ping timeout: 240 seconds] 08:51:09 schmir [~schmir@p54A91AFC.dip0.t-ipconnect.de] has joined #scheme 08:55:06 incubot: abuser procedure stalked my stack, it's a heap off mess, now. 08:55:09 arcus is the channels local bot-abuser 08:55:43 he is dead, jimbot! 08:56:47 -!- Axioplase is now known as Axioplase_ 09:03:00 -!- schmir [~schmir@p54A91AFC.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 09:04:45 kniu [~kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has joined #scheme 09:08:51 masm [~masm@2.80.157.12] has joined #scheme 09:12:58 -!- mbohun [~mbohun@202.124.72.16] has quit [Quit: Leaving] 09:17:49 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 09:22:54 fradgers- [~fradgers-@5e02b45e.bb.sky.com] has joined #scheme 09:25:45 pencilk [~jk@222.178.152.106] has joined #scheme 09:27:12 stis_i8 [~chatzilla@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 09:30:46 -!- stis_i8 [~chatzilla@1-1-1-39a.veo.vs.bostream.se] has quit [Read error: Connection reset by peer] 09:30:55 stis_i8 [~chatzilla@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 09:32:34 schmir [~schmir@p54A91AFC.dip0.t-ipconnect.de] has joined #scheme 09:34:22 -!- ejs [~eugen@nat.ironport.com] has quit [Ping timeout: 246 seconds] 09:36:27 necroforest_ [~jarred@pool-72-66-100-119.washdc.fios.verizon.net] has joined #scheme 09:37:45 -!- pencilk [~jk@222.178.152.106] has quit [Ping timeout: 240 seconds] 09:39:14 -!- necroforest [~jarred@pool-72-66-100-119.washdc.fios.verizon.net] has quit [Ping timeout: 240 seconds] 09:41:01 ejs [~eugen@nat.ironport.com] has joined #scheme 09:42:24 yay i just created my first function in scheme -> a clone of map 09:42:34 scheme is fun 09:48:37 ;) 09:49:02 post it 09:51:47 newbie008 pasted "my first scheme function" at http://paste.lisp.org/display/99451 09:51:56 please critique :) 09:53:03 1. avoid mutables (set! ...) 09:54:30 oh so mutables are frowned upon in scheme too? 09:55:12 Yes, that's why they've got a ! in their names! 09:56:39 2. avoid (append ) to long lists 09:57:00 newbie008: mutables are frowned in all languages 09:57:12 php? 09:57:19 rmrfchik: not in OO 09:57:24 in OO too 09:57:40 *rmrfchik* is avoiding mutables in java too 09:57:53 how exactly do you work with fields if you have no mutables? 09:58:09 the same is I do in scheme 09:58:13 You create a new object! 09:58:14 rmrfchik: ok, _you_ frown on mutation in OO 09:58:32 I frown on everything. Even on _you_ 09:58:38 *rmrfchik* frown on bremner 09:58:40 pjb: that creates problems with object identity ;) 09:58:41 pencilk [~jk@222.178.152.106] has joined #scheme 09:58:43 mutables are frowned in all languages? 09:58:45 \o/ attention 09:58:46 that's a stretch :) 09:59:02 ecraven: not in a functional setup: equal? = eq? 09:59:21 Ie, that's the point: you don't need object identity when you don't use mutation. 09:59:34 i thought what was cool about scheme is that i have the power of functional languages without the constraints of immutability 09:59:34 *rmrfchik* afk. 09:59:37 So that you can distribute your objects and make copies at will. 09:59:41 take care. don't fight 09:59:48 FIGHT!!!!! 10:00:15 hmm i like mutability 10:02:52 that would be why you think monads are boring 10:02:54 why you need functional then? 10:05:10 alvatar [~alvatar@59.233.218.87.dynamic.jazztel.es] has joined #scheme 10:07:43 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 10:10:01 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:11:22 doc_who_ [~doc_who@c-98-231-201-176.hsd1.md.comcast.net] has joined #scheme 10:12:26 -!- copumpkin [~copumpkin@c-75-69-96-50.hsd1.nh.comcast.net] has quit [Ping timeout: 240 seconds] 10:12:59 -!- Poeir_ [~Poeir@c-98-228-60-162.hsd1.il.comcast.net] has quit [Ping timeout: 248 seconds] 10:13:26 -!- metasyntax` [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit [Ping timeout: 245 seconds] 10:13:51 metasyntax` [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has joined #scheme 10:13:55 -!- doc_who [~doc_who@c-98-231-201-176.hsd1.md.comcast.net] has quit [Ping timeout: 260 seconds] 10:14:48 Poeir_ [~Poeir@c-98-228-60-162.hsd1.il.comcast.net] has joined #scheme 10:24:40 if you define functional has "has first class functions", then there is no contradiction with mutability. 10:26:50 functional is just easier sometimes 10:26:57 and compositionality is a good thing 10:27:03 but otherwise i don't care about hiding state 10:27:21 i think map would be a lot more useful if it actually modified the list i fed it 10:27:26 instead of creating a new one 10:27:32 bremner: depends on how you define function 10:27:52 good point 10:28:15 When I think "function", I think of it in the maths sense 10:28:23 yeah i'm not talking functional as in haskell, just as in "first class functions 10:28:38 no i don't think programming and math should mix that much 10:28:49 it obfuscates code and that's why it's not widely popular 10:28:50 I tend to use "procedure" for ones that side effect 10:28:51 IJP: well, for me it depends on context. LISP has had mutability for a long time 10:29:35 *bremner* starts to flame newbie008 for being a newb and then realizes it is redundant 10:30:53 *newbie008* thinks his nick is a good shield 10:31:15 launch photo torpedos! 10:31:25 err, photon torpedos 11:20:11 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Ping timeout: 248 seconds] 11:21:28 stis_i8_ [~chatzilla@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 11:21:29 -!- stis_i8 [~chatzilla@1-1-1-39a.veo.vs.bostream.se] has quit [Read error: Connection reset by peer] 11:21:33 tomes [~7076a1d4@gateway/web/freenode/x-hyeuuygsmcsstpdz] has joined #scheme 11:21:33 -!- stis_i8_ is now known as stis_i8 11:21:54 hey allerick i found you 11:22:26 al,y,rik 11:22:43 nice name by the way 11:26:05 -!- tomes [~7076a1d4@gateway/web/freenode/x-hyeuuygsmcsstpdz] has quit [Excess Flood] 11:48:17 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 11:53:40 newbie008: if map will touch my list, i kill map immediatlly. well, i don't care if compiler will optimize map to use list inplace, but this should be optimization (so, irrelevant to algorithm) 12:05:15 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Ping timeout: 240 seconds] 12:06:57 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 12:07:44 rmrfchik: what's the slash-command to be away? 12:07:51 here in irc? 12:08:27 /away reason 12:08:31 oh cool 12:08:39 does that apply to all the channels i'm in? 12:08:53 yes 12:09:21 cool. i'll see you guys later (15 hours from now :) ) 12:29:37 luz [~davids@139.82.89.70] has joined #scheme 12:32:51 Mohamdu [~Mohamdu@CPE0013f7bc6820-CM0013f7bc681c.cpe.net.cable.rogers.com] has joined #scheme 12:35:33 -!- Michael_Mohamed [~Mohamdu@99.227.123.6] has quit [Ping timeout: 258 seconds] 12:39:27 hmm.. did he really used /away? 12:50:45 -!- kniu [~kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has quit [Ping timeout: 240 seconds] 12:50:52 pjb` [~t@60.Red-80-34-44.staticIP.rima-tde.net] has joined #scheme 12:54:10 -!- _danb_ [~user@124-168-128-117.dyn.iinet.net.au] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:55:28 -!- Arelius [~user@208.80.117.82] has quit [Read error: No route to host] 12:55:59 Arelius [~user@208.80.117.82] has joined #scheme 13:01:10 dfkjjkfd [~paulh@232-13-ftth.onsnetstudenten.nl] has joined #scheme 13:04:49 kniu [~kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has joined #scheme 13:06:34 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 13:18:14 -!- ecraven [~nex@octonex.swe.uni-linz.ac.at] has quit [Read error: Connection reset by peer] 13:19:40 karme [~user@HSI-KBW-078-043-001-160.hsi4.kabel-badenwuerttemberg.de] has joined #scheme 13:20:55 kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 13:21:39 ecraven [~nex@octonex.swe.uni-linz.ac.at] has joined #scheme 13:26:25 -!- acarrico [~acarrico@pppoe-68-142-38-34.gmavt.net] has quit [Ping timeout: 264 seconds] 13:47:00 carleastlund_ [~cce@ip-129-15-127-150.fennfwsm.ou.edu] has joined #scheme 13:47:18 -!- carleastlund_ [~cce@ip-129-15-127-150.fennfwsm.ou.edu] has quit [Client Quit] 13:47:35 carleastlund_ [~cce@ip-129-15-127-150.fennfwsm.ou.edu] has joined #scheme 13:48:19 -!- carleastlund_ [~cce@ip-129-15-127-150.fennfwsm.ou.edu] has left #scheme 13:53:20 carleastlund_ [~cce@ip-129-15-127-150.fennfwsm.ou.edu] has joined #scheme 13:53:27 -!- doc_who_ [~doc_who@c-98-231-201-176.hsd1.md.comcast.net] has quit [Read error: Connection reset by peer] 13:53:59 -!- carleastlund_ is now known as carleastlund 13:54:28 -!- carleastlund [~cce@ip-129-15-127-150.fennfwsm.ou.edu] has quit [Client Quit] 13:55:28 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 13:55:33 -!- pencilk [~jk@222.178.152.106] has quit [Remote host closed the connection] 13:55:46 -!- ejs [~eugen@nat.ironport.com] has quit [Ping timeout: 240 seconds] 13:57:59 acarrico [~acarrico@pppoe-68-142-38-34.gmavt.net] has joined #scheme 13:58:40 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 14:00:45 ejs [~eugen@77.222.151.102] has joined #scheme 14:07:54 -!- saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 14:09:38 samth [~samth@ip-129-15-127-221.fennfwsm.ou.edu] has joined #scheme 14:13:14 MrFahrenheit [~RageOfTho@users-55-254.vinet.ba] has joined #scheme 14:19:49 -!- schmir [~schmir@p54A91AFC.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 14:35:20 ToxicFrog [~ToxicFrog@75-119-252-182.dsl.teksavvy.com] has joined #scheme 14:39:54 hi! 14:40:14 how should I handle precision in scheme? 14:40:16 this is the problem: 14:41:00 I'm doing some geometry algorithms, and some of them need exact equality between two decimal values 14:42:06 normally I'm doing equality tests of floating points with a possible error (testing if the difference is lower than the error) 14:42:17 smaller than the error 14:42:57 If you need exact arithmetic, use exact arithmetic :) 14:43:12 ie, ratnums instead of flonums 14:44:40 sjamaan: how exactly I do that? 14:44:49 sjamaan: normally, problems arise with division, right? 14:45:12 sjamaan: and division could output an approximate flonum or a ratnum 14:45:20 sjamaan: how? 14:45:21 If you only use exact numbers, the result will be exact too 14:45:29 (/ 1 3) => 1/3 14:45:56 sjamaan: agh, but I'm using decimal number :S 14:45:57 But (/ 1.0 3) => 0.3333333 14:46:05 yes 14:46:06 Then don't use one :) 14:46:46 how I'm expected to handle decimal numbers then? 14:47:03 I need to express the decimal part somehow for geometry 14:47:41 You can use exact->inexact to convert numbers 14:48:24 ok, but if I need to calculate for example the area of a rectangle that is 1.23 x 1.49 14:48:41 am I supposed to multiply that by 100 and then divide the result again by 100? 14:49:04 You could do that, or make it so you get the numbers in exact form 14:49:42 (or use inexact->exact) 14:50:01 inexact->exact isn't dropping decimals? 14:50:05 like round 14:50:09 Nope 14:50:19 actually not!! 14:50:23 It will find a fraction that expresses the number properly 14:50:30 specbot [~specbot@common-lisp.net] has joined #scheme 14:50:33 man, that was so obvious for me that I diddn't even try 14:50:44 that's really nice 14:51:07 and this is supposed to allow me to do algorithms that expect "perfect equality" right? 14:51:17 yeah 14:51:22 sjamaan: COOL 14:51:33 sjamaan: thanks for your help! 14:51:40 There are numbers that cannot be converted that way though 14:51:54 what happens with them then? 14:51:59 Error :) 14:52:10 which kind of numbers? 14:52:18 I believe any flonum can, right? 14:52:38 I'm not sure 14:52:41 irrational and complex can't I guess 14:52:51 I still haven't seen a good example of a number that can't be converted 14:53:04 r5rs inexact->exact 14:53:04 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_348 14:53:05 -!- sstrickl [~sstrickl@c-98-216-238-231.hsd1.ma.comcast.net] has quit [Quit: sstrickl] 14:53:05 -rudybot:#scheme- http://tinyurl.com/5bvxom 14:53:22 ^ you can see here it's allowed to error 14:54:12 I see :S 14:54:16 I'm scared :| 14:56:19 aleix [~aleix@ieec-72-7.uab.es] has joined #scheme 15:00:39 xwl [~user@125.34.168.40] has joined #scheme 15:04:40 doc_who [~doc_who@c-98-231-201-176.hsd1.md.comcast.net] has joined #scheme 15:06:55 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Remote host closed the connection] 15:12:11 -!- ejs [~eugen@77.222.151.102] has quit [Ping timeout: 248 seconds] 15:12:24 -!- ASau` [~user@77.246.231.120] has quit [Quit: off] 15:13:49 -!- karme [~user@HSI-KBW-078-043-001-160.hsi4.kabel-badenwuerttemberg.de] has quit [Remote host closed the connection] 15:17:44 ejs [~eugen@nat.ironport.com] has joined #scheme 15:28:30 snorble [~none@s83-179-14-105.cust.tele2.se] has joined #scheme 15:29:28 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 15:34:27 Nshag [user@lns-bzn-44-82-249-214-213.adsl.proxad.net] has joined #scheme 15:35:36 untouchable [~untouchab@pool-151-203-197-68.bos.east.verizon.net] has joined #scheme 15:35:46 -!- NNshag [user@lns-bzn-53-82-65-45-196.adsl.proxad.net] has quit [Ping timeout: 264 seconds] 15:37:50 pavelludiq [~quassel@91.139.194.13] has joined #scheme 15:51:03 -!- dfkjjkfd [~paulh@232-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 15:54:03 sstrickl [~sstrickl@dublin.ccs.neu.edu] has joined #scheme 16:03:46 -!- pjb` [~t@60.Red-80-34-44.staticIP.rima-tde.net] has quit [Ping timeout: 252 seconds] 16:04:05 pmd [~user@2001:690:2100:4:200:1aff:fe19:daa8] has joined #scheme 16:04:17 bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 16:12:06 -!- alvatar [~alvatar@59.233.218.87.dynamic.jazztel.es] has quit [Quit: leaving] 16:12:28 -!- ve [~a@smith.xen.tardis.ed.ac.uk] has quit [Quit: Lost terminal] 16:12:36 ve [~a@smith.xen.tardis.ed.ac.uk] has joined #scheme 16:31:53 Fare [~Fare@ita4fw1.itasoftware.com] has joined #scheme 16:33:15 -!- melba [~blee@unaffiliated/lazz0] has quit [Read error: Connection reset by peer] 16:36:53 Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has joined #scheme 16:37:26 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 16:38:59 melba [~blee@unaffiliated/lazz0] has joined #scheme 16:48:49 -!- HG` [~HG@xdsl-92-252-34-251.dip.osnanet.de] has quit [Quit: HG`] 16:52:15 virl [~virl__@chello062178085149.1.12.vie.surfer.at] has joined #scheme 16:53:39 HG` [~HG@xdsl-92-252-34-251.dip.osnanet.de] has joined #scheme 16:53:55 -!- Intensity [u7ybSCP2UB@unaffiliated/intensity] has quit [Ping timeout: 258 seconds] 16:53:58 -!- HG` [~HG@xdsl-92-252-34-251.dip.osnanet.de] has quit [Client Quit] 17:00:55 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Remote host closed the connection] 17:02:09 JoelMcCracken [~joelmccra@c-98-239-182-129.hsd1.pa.comcast.net] has joined #scheme 17:05:10 saint_cypher [~saint_cyp@adsl-99-2-72-93.dsl.pltn13.sbcglobal.net] has joined #scheme 17:05:10 -!- stis_i8 [~chatzilla@1-1-1-39a.veo.vs.bostream.se] has quit [Read error: Connection reset by peer] 17:07:56 -!- ejs [~eugen@nat.ironport.com] has quit [Ping timeout: 246 seconds] 17:16:32 -!- mastertogo [~togo@ip70-171-249-111.tc.ph.cox.net] has quit [Ping timeout: 258 seconds] 17:20:32 danny__ [~danny@cpe-071-077-209-233.ec.res.rr.com] has joined #scheme 17:20:37 -!- danny__ is now known as Tekk_ 17:21:05 -!- aleix [~aleix@ieec-72-7.uab.es] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 17:21:23 is there a particular reason that (define foo (lambda (bar) (* bar bar ))) is used instead of (define foo ( foo bar) ( * bar bar))? 17:21:54 whar I was reading just said that it was better programming style for the earlier one, but that's it 17:22:02 Some people (especially novices or those teaching them) prefer the full lambda form for reasons of clarity 17:22:14 sjamaan: ah, thank you. 17:22:30 It makes explicit that you're declaring a variable which holds a function value 17:22:44 so it's just a clarity vs terseness thing 17:22:52 Tekk_: It should be (define (foo bar) (* bar bar)), actually. 17:23:12 Right 17:23:15 I overlooked it 17:23:18 mario-goulart: oh, what did I type? 17:23:27 (define foo ( foo bar) ( * bar bar)) 17:23:43 ah, never scheme after using a bunch of python the day before apparently :P 17:23:57 :-) 17:23:59 elisp and cl do it this way too, IIRC 17:24:14 (defun funcname (var1 var2) ...) 17:24:27 Yeah 17:24:54 hmm...I should probably use emacs for lisp 17:25:17 maybe I'll look into vile....that should still have the vi style commands available right? 17:26:02 I'd recommend Emacs. I don't know about vile. 17:26:31 There's viper too, but I don't know about it either. 17:26:43 oh yeah, I forgot about viper mode 17:27:04 but until I know if I actually like scheme or not, I think I'll stick with drscheme 17:27:13 heh 17:27:37 If you do decide to try emacs, be sure to check out paredit. It's insane 17:27:37 -!- JoelMcCracken [~joelmccra@c-98-239-182-129.hsd1.pa.comcast.net] has quit [Quit: Leaving] 17:27:50 sjamaan: well I don't wanna be too quick about it....I installed a whole bunch of crap for clisp once and I didnt like it at all 17:28:13 Just curious: what specifically did you dislike? 17:29:04 sjamaan: the naming mainly, which scheme seems to fit better (defun) vs (define),etc. 17:29:34 Tekk_: that's a consequence of lisp-1 vs. lisp-2 17:29:36 oh and do you have to do the insanity of (format t 'string') to print in scheme? :P 17:29:48 (display "string") works 17:30:00 But most schemes support a format-like function 17:30:04 were scheme a lisp-2, you'd have to have some type of `define' but for symbol-function 17:30:07 okay, definitely gonna say I like scheme better than clisp 17:30:13 There is a format SRFI, but I don't think it has the 't' part 17:30:39 IJP: Maybe #t for the port, if you want current-output-port 17:30:39 and here(maybe clisp too) you CAN just go the lazy way and use "string" to print :P 17:31:25 mastertogo [~togo@ip70-171-249-111.tc.ph.cox.net] has joined #scheme 17:31:30 heh 17:31:37 I just accidentally opened a Joo Churlsoo SRFI 17:31:45 MY EYES! THEY ARE BLEEDING 17:33:01 Poor sjamaan 17:33:05 sjamaan: So CLs format actually does the printing and not just the formatting? 17:33:14 yeah :) 17:33:31 -!- xwl [~user@125.34.168.40] has quit [Ping timeout: 260 seconds] 17:33:35 So do Chicken's and Gauche's FORMAT 17:33:49 A little odd, but I guess it's the same tradition as printf 17:33:51 (they're basically simple versions of CL's FORMAT) 17:34:21 -!- samth [~samth@ip-129-15-127-221.fennfwsm.ou.edu] has quit [Read error: Operation timed out] 17:35:57 i remember a scheme that had format, but only spit strings. the srfi writes to ports, right? 17:36:47 No, the SRFI seems to return the string 17:36:59 :O damn, then that was it... 17:37:38 PLT implements this 17:38:26 Notice that when you write (cl:format t "~{~A~}" list-of-printable-objects) you may have billions of printable objects in that list (let's say on a 64-bit processor), and generating a string in memory would be silly and probably impossible (out of memory, or out of time to swap). But printing out the billion of object would be no problem (or rather, would be the problem of the entity reading it). 17:38:36 just return a s-exp, pipe it to cat and hen IPC to printf... 17:39:15 ... yeah! ... 17:39:24 i just saw there's srfi's 28 and 48 17:39:26 s/hen/'hen/ 17:39:32 48 seems to write to a port 17:39:57 That's bizarre 17:42:06 It's strange that the R6RS port of the SRFI libraries support 48 but not 28 17:44:22 HG` [~HG@xdslau125.osnanet.de] has joined #scheme 17:44:23 IJP: perhaps because you can always use string-ports and get a string using 48... 17:45:21 how good is guile as a scheme interpreter? 17:45:23 well yes :) , but the wrapper wouldn't be hard 17:45:36 or is guile not scheme but similar to scheme? 17:47:02 -!- chittoor [~chittoor@listertech.in] has quit [Quit: Leaving] 17:47:58 Tekk_: It's a Scheme as far as I know, but I haven't used it in quite a while 17:48:01 Tekk_: Guile (like many Scheme implementations) is a superset of Scheme 17:49:30 JoelMcCracken [~joelmccra@c-98-239-182-129.hsd1.pa.comcast.net] has joined #scheme 17:50:23 rotty: okay, I was just wondering since I tend to use the gnu stuff for everything, compiler wise at least(gcc, g++, gdc.......) 17:50:41 and since they happen to have a scheme interpreter... 17:51:14 Actually, in 1.9.x it's a compiler (to bytecode) 17:51:28 rotty: really? 17:51:41 yes 17:51:48 that's nice 17:51:59 so they say. 17:52:22 sladegen: well you get increased speed while still having the advantages of interpreted 17:52:31 I really don't see a disadvantage 17:53:04 *IJP* thinks Tekk_ hasn't looked hard enough :) 17:53:15 IJP: well I'm far from an expert 17:53:22 "There's no such thing as a free lunch" or so they say 17:53:29 I can imagine it makes creating the interpreter/compiler things a lot harder 17:53:46 eh, don't mind me. i'm just saying it in the contex of guile not being liked. first because it is/was interpreter and because of its roots... anyway. 17:58:54 (on the format subject): I prefer a string-port wrapper around a format->port than an iterator wrapper around a format->string that then writes each string to the port 18:01:00 pmd: agreed 18:03:30 -!- HG` [~HG@xdslau125.osnanet.de] has quit [Quit: Leaving.] 18:07:33 ugh, now I cant use scheme for a while again. Just brought out python/pygame to show my brother that filling the screen with red, then blue and putting it on a loop wont make solid purple 18:07:38 :P 18:08:03 copumpkin [~copumpkin@c-75-69-96-50.hsd1.nh.comcast.net] has joined #scheme 18:12:56 Tekk_: why does that mean you can't use scheme? 18:15:38 ToxicFrog: (define foo ( foo bar) ( * bar bar))? 18:15:51 that's what happens when I write scheme right after python 18:16:09 the trailing ? isnt part of the code, I just copy/pasted from a question I asked 18:16:14 *ToxicFrog* squints at that 18:16:55 IJP: "It's strange that the R6RS port of the SRFI libraries support 48 but not 28" 18:17:10 IJP: i cannot find format (or equivalent) in r6rs, what's its name? 18:17:11 proq [~user@unaffiliated/proqesi] has joined #scheme 18:18:03 pmd: I was referring to https://code.launchpad.net/~scheme-libraries-team/scheme-libraries/srfi 18:18:55 saccade_ [~saccade@dhcp-18-111-84-184.dyn.mit.edu] has joined #scheme 18:19:35 hey 18:19:36 IJP: oh, right. well, perhaps they decided to implement non-clashing srfi's only? 18:20:32 who here has gone through HtDP? 18:20:43 doc_who: how is the new season? 18:20:46 although srfi's should not clash, i guess... :\ hmmm 18:21:00 Tekk_: lol not bad 18:21:20 doc_who: alright, I dont get bbc so I wanna make sure the new doctor is at least decent before I go searching ;) 18:26:47 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 18:31:00 schmir [~schmir@p54A90852.dip0.t-ipconnect.de] has joined #scheme 18:31:29 cky [~cky@cpe-065-190-148-048.nc.res.rr.com] has joined #scheme 18:31:34 -!- schmir [~schmir@p54A90852.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 18:32:08 Belaf [~campedel@194.209.131.192] has joined #scheme 18:32:18 -!- Belaf [~campedel@194.209.131.192] has left #scheme 18:39:18 kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 18:40:49 -!- alaricsp [~alaric@relief.warhead.org.uk] has quit [Quit: Leaving] 18:46:58 oh, thanks for all the help everyone :) 18:53:15 arcfide [~arcfide@adsl-99-137-201-58.dsl.bltnin.sbcglobal.net] has joined #scheme 18:54:07 is it better to do, like (let ((x 2) (y 2)) 18:54:16 (+ x y)) 18:54:33 or ((lambda (x y) (+ x y)) 2 2)) ? 18:54:51 whoops, too many end parens on the lambda 18:57:48 Tekk_: Generally speaking, I prefer the first, and I think most people would, but there isn't really any difference in terms of semantics. 18:58:03 schmir [~schmir@p54A90852.dip0.t-ipconnect.de] has joined #scheme 19:02:01 arcfide: okay, I'll probably end up asking a lot of questions like this while I look at scheme :P 19:02:06 -!- virl [~virl__@chello062178085149.1.12.vie.surfer.at] has quit [Remote host closed the connection] 19:10:27 -!- arcfide [~arcfide@adsl-99-137-201-58.dsl.bltnin.sbcglobal.net] has left #scheme 19:13:20 -!- schmir [~schmir@p54A90852.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 19:15:46 schmir [~schmir@p54A90852.dip0.t-ipconnect.de] has joined #scheme 19:19:44 -!- Tekk_ [~danny@cpe-071-077-209-233.ec.res.rr.com] has quit [Quit: Lost terminal] 19:22:56 samth [~samth@ip-129-15-127-221.fennfwsm.ou.edu] has joined #scheme 19:30:30 Is there a way to tell "plt-r6rs --install" to install into a non-default location? 19:34:56 (looking at the source, it appears that the answer is "no", except one could make `find-user-collects-dir' return a user-defined value somehow) 19:35:24 erm, *except if one... 19:35:33 -!- sstrickl [~sstrickl@dublin.ccs.neu.edu] has left #scheme 19:42:22 HG` [~HG@xdslel210.osnanet.de] has joined #scheme 19:56:57 -!- geckosenator [~sean@dsl-63-249-91-224.dhcp.cruzio.com] has quit [Ping timeout: 276 seconds] 20:06:20 -!- JoelMcCracken [~joelmccra@c-98-239-182-129.hsd1.pa.comcast.net] has quit [Quit: This computer has gone to sleep] 20:06:26 lechon [~l@unaffiliated/keram] has joined #scheme 20:07:28 hello 20:07:37 i'm trying to learn how to use call-with-current-continuations 20:08:35 well, re-learn 20:08:49 fschwidom [~fschwidom@p5B26A7FD.dip0.t-ipconnect.de] has joined #scheme 20:08:50 a year or so ago i remember using a really good reference but i cant seem to find it. any suggestions? 20:09:08 it was some chapter of some online reference/book 20:09:52 Maybe from The Scheme Porgramming Language 20:09:58 Programming, even 20:13:01 -!- MrFahrenheit [~RageOfTho@users-55-254.vinet.ba] has quit [Read error: Connection reset by peer] 20:13:23 MrFahrenheit [~RageOfTho@users-55-254.vinet.ba] has joined #scheme 20:13:53 ah yes! 20:14:06 mario-goulart, going further 3.3 from that book is exactly what i wanted 20:14:11 :] 20:20:02 -!- schmir [~schmir@p54A90852.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 20:27:30 vinanna [~prk@dslb-094-221-227-175.pools.arcor-ip.net] has joined #scheme 20:34:49 -!- saccade_ [~saccade@dhcp-18-111-84-184.dyn.mit.edu] has quit [Ping timeout: 264 seconds] 20:38:33 -!- luz [~davids@139.82.89.70] has quit [Quit: Client exiting] 20:38:51 JoelMcCracken [~joelmccra@pool-72-95-204-229.pitbpa.east.verizon.net] has joined #scheme 20:47:25 schmir [~schmir@p54A93E7E.dip0.t-ipconnect.de] has joined #scheme 20:54:06 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 20:55:13 -!- vinanna [~prk@dslb-094-221-227-175.pools.arcor-ip.net] has quit [Quit: CU] 20:56:11 ASau [~user@83.69.227.32] has joined #scheme 21:00:47 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:01:17 _paradox_ [~untouchab@pool-151-203-202-220.bos.east.verizon.net] has joined #scheme 21:01:44 -!- _paradox_ [~untouchab@pool-151-203-202-220.bos.east.verizon.net] has quit [Client Quit] 21:03:01 -!- metasyntax` [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit [Quit: Be seeing you.] 21:04:32 -!- untouchable [~untouchab@pool-151-203-197-68.bos.east.verizon.net] has quit [Ping timeout: 246 seconds] 21:06:30 Is anybody here familiar with (ikarus ipc)? 21:12:28 kk [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 21:13:10 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Disconnected by services] 21:13:14 -!- kk is now known as kar8nga 21:16:48 Tekk_ [~danny@cpe-071-077-209-233.ec.res.rr.com] has joined #scheme 21:23:22 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 21:25:38 -!- HG` [~HG@xdslel210.osnanet.de] has quit [Quit: Leaving.] 21:26:19 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 21:27:48 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Read error: Connection reset by peer] 21:27:54 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #scheme 21:31:08 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 246 seconds] 21:31:47 Intensity [Ss6XTjcu35@unaffiliated/intensity] has joined #scheme 21:31:51 turbofail [~user@adsl-69-238-246-201.dsl.pltn13.pacbell.net] has joined #scheme 21:33:23 Colloguy [~flx@adsl-99-30-230-225.dsl.pltn13.sbcglobal.net] has joined #scheme 21:41:59 IJP: do you have a specific question? 21:46:50 rotty: yes, is there any guidelines for when a binary output port returned by tcp-connect should flush it's output 21:47:22 rotty: I'd have though it would be on the binary version of newline , but that doesn't appear to be the case 21:47:51 I guess you'd have to explicitly flush 21:47:54 rotty: or do I always have to call flush-output-port myself (although I imagine I should anyway) 21:48:05 oh you answered it before I finished ;) 21:48:21 thanks 21:50:02 at least that's what I do for the pipe-backed port by `process' 21:50:20 erm *pipe-backed ports created by `process' 21:52:31 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 260 seconds] 21:54:06 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 21:56:05 asarch [~asarch@189.188.156.119] has joined #scheme 21:59:08 -!- Colloguy [~flx@adsl-99-30-230-225.dsl.pltn13.sbcglobal.net] has quit [Remote host closed the connection] 22:03:32 geckosenator [~sean@dsl-63-249-91-224.dhcp.cruzio.com] has joined #scheme 22:06:18 -!- stepnem [~stepnem@88.103.132.186] has quit [Ping timeout: 276 seconds] 22:07:14 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 22:08:25 is there any thesis where some lexical scopes might be optimized to dynamic scopes? 22:10:17 "optimized"? 22:11:05 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 22:12:01 I optimized all my variables to one letter 22:12:06 scope is basic to the semantics of a language. I have no idea what you might mean. 22:12:36 -!- Tekk_ [~danny@cpe-071-077-209-233.ec.res.rr.com] has quit [Quit: Lost terminal] 22:14:22 well, if your "closure" has no external references... 22:15:46 -!- schmir [~schmir@p54A93E7E.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 22:16:00 lexical scope is too slow compared to dynamic scope 22:16:32 have you read GLS's thesis about the rabbit compiler? 22:16:50 Oh, I get it. Somebody set the Wayback Machine to 1975. 22:17:42 *Daemmerung* slips into a polyester leisure suit, grows sideburns 22:21:13 -!- geckosenator [~sean@dsl-63-249-91-224.dhcp.cruzio.com] has quit [Ping timeout: 246 seconds] 22:21:57 *rotty* smokes a joint wearing flared leg trousers 22:22:00 i want a compilation scheme that does almost this transformation lexical scope -> dynamic scope -> static scope 22:24:02 dvjennings [~yes@cpe-24-27-92-149.tx.res.rr.com] has joined #scheme 22:25:19 eldragon: according to wikipedia, static scope is just another term for lexical scope 22:25:53 I have to assume that what he means by "scope" is not the same as how I interpret it. 22:28:24 -!- dvjennings [~yes@cpe-24-27-92-149.tx.res.rr.com] has quit [Quit: leaving] 22:28:52 theres a lot of terminology confusion in computer science, but I didn't think "scope" was one of those confused terms 22:32:20 clearly he's referring to optical components incorporated into the source 22:35:22 See Sussman and Steele's "The Art of the Interpreter," pages 22 and following. AIM-453 22:37:13 for avoid confusion, i was referring to lexical binding, dynamic binding and static binding :( 22:38:05 whats the difference between lexical binding and static binding? 22:38:07 is there an OCR version of those AIMs? 22:39:18 given x = 2; print x;, the lexical binding of print is looking the varname x from the environment and get its value if it exists 22:39:57 the dynamic binding of print is printing the content of the appointed cell x that contains the value 2 22:40:15 Do not confuse scoping rules with some poor implementation of same. 22:40:15 and the static binding of print is executing immediately print 2 22:40:27 -!- lechon [~l@unaffiliated/keram] has left #scheme 22:40:32 oh you mean compiletime vs run-time 22:40:43 yes jonrafkind 22:40:52 Humpty Dumpty is definitely in the house. 22:41:00 -!- kniu [~kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has quit [Ping timeout: 268 seconds] 22:41:14 so you want to optimize some expressions by evaluating them at compile-time, thus preventing them from being intepreted at run-time 22:41:43 yes, if it can't be optimized then interpreted at run-time 22:42:02 right. you can use macros to do this to some extent, otherwise you need to look at static analysis 22:42:16 another thing to note is that the dynamic binding isn't any faster than the lexical one, and is probably slower 22:42:28 which is a very large field with hundreds of papers written in it 22:43:22 ejs [~eugen@94-248-105-200.dynamic.peoplenet.ua] has joined #scheme 22:43:42 turbofail: I have Steele's Rabbit thesis OCR'd. For the rest, it's ye olde quainte bitmappe time. 22:44:05 -!- asarch [~asarch@189.188.156.119] has quit [Quit: Leaving] 22:44:14 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Quit: Leaving] 22:44:16 hm 22:44:29 Though I seem to remember some wiki gradually transcribing the various Lambda papers. 22:45:03 Bet if I googled for some phrases from AIM453 I'd find it. 22:47:37 -!- bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:48:56 -!- felipe [~felipe@my.nada.kth.se] has quit [Quit: felipe] 22:51:56 -!- lisppaste [~lisppaste@common-lisp.net] has quit [Quit: Want lisppaste in your channel? Email lisppaste-requests AT common-lisp.net.] 22:52:00 lisppaste [~lisppaste@common-lisp.net] has joined #scheme 22:53:48 -!- copumpkin [~copumpkin@c-75-69-96-50.hsd1.nh.comcast.net] has quit [Quit: copumpkin] 22:56:35 http://en.wikisource.org/wiki/Lambda_Papers - mechanical transcriptions - incomplete 23:00:46 -!- samth [~samth@ip-129-15-127-221.fennfwsm.ou.edu] has quit [Ping timeout: 258 seconds] 23:05:11 samth [~samth@ip-129-15-127-221.fennfwsm.ou.edu] has joined #scheme 23:08:09 untouchable [~untouchab@pool-151-203-18-196.bos.east.verizon.net] has joined #scheme 23:11:02 -!- cpr420 [~cpr420@unaffiliated/cpr420] has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!] 23:11:45 -!- samth [~samth@ip-129-15-127-221.fennfwsm.ou.edu] has quit [Ping timeout: 240 seconds] 23:12:16 foof: ping 23:12:34 -!- fradgers- [~fradgers-@5e02b45e.bb.sky.com] has left #scheme 23:12:36 -!- fschwidom [~fschwidom@p5B26A7FD.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 23:13:21 arcfide [~arcfide@adsl-99-137-201-58.dsl.bltnin.sbcglobal.net] has joined #scheme 23:13:45 bleh... gocr has given me a boat load of fail 23:16:50 Thomas_H [~Thomas_H@d207-6-77-199.bchsia.telus.net] has joined #scheme 23:18:43 _paradox_ [~untouchab@pool-141-154-220-3.bos.east.verizon.net] has joined #scheme 23:21:15 chandler: pong 23:21:48 -!- pavelludiq [~quassel@91.139.194.13] has quit [Remote host closed the connection] 23:22:00 foof: There was a channel you wanted to add lisppaste to? 23:22:00 turbofail: how so? 23:22:22 yeah, #r7rs 23:22:34 -!- untouchable [~untouchab@pool-151-203-18-196.bos.east.verizon.net] has quit [Ping timeout: 264 seconds] 23:24:36 ToxicFrog: it gave me a load of gibberish upon trying to decipher AIM-453 23:25:32 i might be missing some options that might make it better 23:25:33 (note #r7rs will only be for meetings, when we don't want to disrupt the normal #scheme dialogue) 23:25:38 but it's still pretty crap 23:26:14 foof: on behalf of all bot-abusers and procrastinators, thank you 23:30:32 -!- _paradox_ [~untouchab@pool-141-154-220-3.bos.east.verizon.net] has quit [Quit: ( www.nnscript.com :: NoNameScript 4.22 :: www.esnation.com )] 23:30:53 untouchable [~untouchab@pool-141-154-220-3.bos.east.verizon.net] has joined #scheme 23:30:55 -!- Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Quit: Ex-Chat] 23:33:22 -!- ejs [~eugen@94-248-105-200.dynamic.peoplenet.ua] has quit [Ping timeout: 264 seconds] 23:33:51 -!- masm [~masm@2.80.157.12] has quit [Quit: Leaving.] 23:34:02 TR2N [email@89.180.146.107] has joined #scheme 23:34:16 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 23:35:53 cpr420 [~cpr420@unaffiliated/cpr420] has joined #scheme 23:38:41 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 23:39:26 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 23:39:27 _danb_ [~user@124-168-128-117.dyn.iinet.net.au] has joined #scheme 23:43:30 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #scheme 23:45:56 felipe [~felipe@my.nada.kth.se] has joined #scheme 23:48:59 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 23:52:41 -!- tessier__ is now known as tessier 23:52:42 turbofail: I generally just tell it to ditch the builtin character map and use learning mode 23:53:06 But then, I'm generally feeding it pixel-exact stuff, not scans 23:56:00 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 23:56:08 kniu [~kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has joined #scheme 23:57:58 -!- JoelMcCracken [~joelmccra@pool-72-95-204-229.pitbpa.east.verizon.net] has quit [Quit: This computer has gone to sleep] 23:58:09 eldragon, I didn't understand what you were talking about concerning scope earlier, and I suspect that most others in #scheme didn't either. I recommend that you find a copy of EoPL or SICP and read about scope and how it is implemented. What I suspect you sought is the concept of lexical addressing, or de Bruijn indices, but I couldn't be sure from what you said. 23:59:03 JoelMcCracken [~joelmccra@pool-72-95-204-229.pitbpa.east.verizon.net] has joined #scheme 23:59:28 thanks Riastradh 23:59:50 Hey Riastradh, long time no see. How's it going?