00:01:46 gremset [ubuntu@117.192.96.90] has joined #scheme 00:04:29 -!- gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has quit [Quit: Computer has gone to sleep.] 00:07:42 -!- gremset [ubuntu@117.192.96.90] has quit [Quit: No Ping reply in 180 seconds.] 00:07:59 gremset [ubuntu@117.192.96.90] has joined #scheme 00:08:57 ymasory [~ymasory@12.238.58.2] has joined #scheme 00:15:01 gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has joined #scheme 00:17:15 -!- gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has quit [Client Quit] 00:17:56 -!- forcer [~forcer@g231160245.adsl.alicedsl.de] has quit [Ping timeout: 250 seconds] 00:25:01 ckrailo [~ckrailo@pool-173-57-102-171.dllstx.fios.verizon.net] has joined #scheme 00:25:41 Bahman [~Bahman@2.146.28.241] has joined #scheme 00:26:43 Hi all! 00:27:12 hi 00:27:38 http://paste.lisp.org/display/122184 this is my solution 00:28:37 with s-expressions, like you suggested Riastradh 00:34:23 forcer [~forcer@g231160032.adsl.alicedsl.de] has joined #scheme 00:37:42 dnolen [~davidnole@184.152.69.75] has joined #scheme 00:41:33 sstrickl [~sstrickl@c-71-192-163-167.hsd1.nh.comcast.net] has joined #scheme 00:41:55 -!- sstrickl [~sstrickl@c-71-192-163-167.hsd1.nh.comcast.net] has left #scheme 00:45:13 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Ping timeout: 246 seconds] 00:46:03 cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined #scheme 00:58:52 -!- homie [~levgue@xdsl-78-35-174-66.netcologne.de] has quit [Ping timeout: 246 seconds] 01:00:36 homie [~levgue@xdsl-78-35-132-238.netcologne.de] has joined #scheme 01:09:41 -!- masm [~masm@bl15-75-122.dsl.telepac.pt] has quit [Ping timeout: 248 seconds] 01:13:57 mjonsson [~mjonsson@38.109.95.202] has joined #scheme 01:14:33 -!- mjonsson [~mjonsson@38.109.95.202] has quit [Read error: Connection reset by peer] 01:43:30 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Ping timeout: 240 seconds] 01:44:06 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 01:45:35 martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 01:52:34 -!- rramsden [~rramsden@173.180.109.6] has quit [Quit: Leaving] 01:56:40 -!- aidalgol [~user@114-134-7-23.rurallink.co.nz] has quit [Remote host closed the connection] 01:58:22 ok hey guys 01:58:39 last scheme question and I should be good, what is a let good for it looks so similar to a lambda to me 02:03:11 zmv [~daniel@c9533906.virtua.com.br] has joined #scheme 02:07:19 EM03_, let is more convenient. ((lambda (x y) (+ x y) 1 2) vs (let ([x 1] [y 2]) (+ x y)) 02:07:19 Sgeo [~Sgeo@ool-18bf618a.dyn.optonline.net] has joined #scheme 02:07:42 so I can look at as just sugar for a lambda? 02:07:54 yes, let can be easily implemented as a macro 02:08:14 jonrafkind: macros are one area I have not gotten into yet 02:08:18 (define-syntax-rule (let ([arg value] ...) body ...) ((lambda (arg ...) body ...) value ...)) 02:08:36 macros essentially let you define new syntax right? 02:08:39 right 02:08:51 a lot of systems have a 'let loop' form which lets you implement a quick loop somewehre 02:08:53 yea I will save that for when I move from novice to intermediate 02:09:11 (let loop ([stuff '(1 2 3)]) (if (null? stuff) #t (loop (cdr stuff))) 02:09:26 when I did language learning in other languages I always just started working in the language 02:09:33 with scheme i started from the bottom all the way up 02:17:55 -!- dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has quit [Ping timeout: 258 seconds] 02:19:15 jonrafkind: so is it ok to think of let just as an easier syntax for a lambda, should I be aware of anything? 02:19:25 thats about all 02:20:01 so i mean why do people still use lambda quite a bit? 02:20:15 esp for things with arguments 02:20:18 if you want to pass a function around 02:20:26 (foo (lambda (x) (+ x 2)) 02:20:26 well i guess if they don't have arguments you have to use lambda 02:20:41 let has to be top level? 02:20:53 no you can put it anywhere as an expression 02:20:55 er not top level 02:21:00 (define x (let ([v 2]) v)) 02:21:37 I'm trying to see the difference please be patient :) 02:21:42 I know newbs are no fun 02:22:22 so you can't put a let in the function call? when calling the procedure that is ? 02:23:53 give an example 02:25:46 (foo (let etc etc 02:25:57 I noticed you used a lambda above and that makes sense 02:26:05 I'm guessing with a let you can't do that? 02:26:31 a let calls the lambda immediately 02:26:37 if you actually want the lambda, then dont use a let 02:26:54 when is the lambda called in your example? 02:27:01 when the procedure is called 02:28:12 the (foo (lambda ...)) ? 02:28:17 the lambda is created and given to foo 02:28:40 foo might be like (define (foo some-lambda) (if (is-today-the-rapture?) (some-lambda 5) (some-lambda 9))) 02:28:42 at function call? or when the file is just loaded into the interpreter? 02:29:01 EM03_: It is better to think of `let' as the *first* thing you add to the language -- a basic tool to bind identifiers to values. 02:29:33 That's something that is basic to any PL, since without that ability you can only write just plain expressions without any identifiers (= variables). 02:30:10 Then there's something else that you'll want to add, the thing is that you can write something like (let ([x 1]) (* x x)) and (let ([x 2]) (* x x)) and (let ([x 3]) (* x x)), etc 02:30:19 yea 02:30:29 but what you really want is to *abstract* that in some way so you can *reuse* the code with any kind of input. 02:30:32 i'm just trying to see when i would use that verse a lambda? 02:30:53 So you take all of these `let's, and you remove the `1', `2' etc, and you get (let ([x]) (* x x)) 02:31:31 Now you have a bad `let' form -- but change it into "function" (which is spelled `lambda' in Scheme), and you get a function -- essentially an abstraction over a piece of code. 02:31:43 EM03_, use a let when you just want to make a variable with some value. use a lambda when you want to create a function and pass it around. if you dont know when you want to pass around a lambda then dont worry about it yet, you'll come to it 02:32:10 i have no idea when i need to pass things around no 02:32:21 I'm not seeing the usefulness yet 02:32:33 but I dont want my scheme to look like Python just because so 02:33:13 id say dont worry about it, if you stress about using the language properly you're learning will slow down 02:33:29 do things the python way if thats comfortale for you, eventually you'll learn the scheme way through looking at others code and reflecting on your own 02:33:32 well that was the last thing i think that had me stumped 02:33:37 EM03_: Write a function that takes in a list of numbers and uses `map' to get a list of squares of these numbers. 02:33:39 btw, python has lambda too 02:33:41 I already wrote around 200 lines for my web app and it works 02:33:47 it does yes 02:33:57 sadly enough I didn't use it enough as many python people dont 02:34:11 Python's lambda is a crippled excuse for something it is not. 02:34:53 i have decided scheme will be my main deveopment language for the next 20 years, I just need to master it early on and understand anything and everything I can 02:35:30 the web stuff in chicken scheme and the postgres bindings work great 02:37:24 (That's a different mistake, of course...) 02:41:15 eli: the python lambda issue? 02:41:44 No, the "web stuff in chicken scheme and the postgres bindings". 02:43:59 eli: you dont like it? 02:44:05 web wise its the best I have used 02:44:22 *eli* shrugs 02:44:27 I won't say more. 02:45:31 eli: have you uses awful? the web framework 02:45:44 the developer is really a nice guy and its similar to python in some ways and very minimal 02:46:16 framework wise similar to Python 02:46:34 the racket stuff although cool, I just feel like I have tighter control 02:50:03 EM03_: IIUC, it's a cheap knockoff of "mainstream" web frameworks -- the kind of frameworks that bend over backwards to cover the lack of continuations in the language. Doing the same in Scheme (and even worse -- in an implementation that puts extra emphasis on continuations) is just plain wrong. 02:50:53 -!- MrFahrenheit [~RageOfTho@users-146-61.vinet.ba] has quit [Ping timeout: 258 seconds] 02:51:29 Yo dawg, I heard you like continuations, so we put some call/cc in your Lisp so you can call/cc while you call/cc. :P 02:51:52 now, let's get serious 02:52:06 eli is right 02:52:39 rudybot: (call/cc call/cc) 02:52:40 eli: your sandbox is ready 02:52:40 eli: ; Value: # 02:52:46 rudybot: ((call/cc call/cc) (call/cc call/cc)) 02:52:57 eli: error: with-limit: out of time 02:52:57 ... 02:52:59 gabot: slap rudybot 02:52:59 *gabot* slaps rudybot 02:53:01 lololol 02:54:30 soveran [~soveran@186.19.214.247] has joined #scheme 02:55:07 EM03_: I'd recommend the racket stuff still. Or write something simple by yourself. Or look around in "teh intertubez". 02:56:01 (I just looked at the awful page, and I'm semi-surprised that there's not even a mention of continuations.) 02:56:11 -!- peterhil [~peterhil@a91-152-135-21.elisa-laajakaista.fi] has quit [Ping timeout: 240 seconds] 02:59:29 although the Chicken website is pretty nice 02:59:47 (the "Manual" section, that is) 03:00:17 nteon [~nteon@c-98-210-195-105.hsd1.ca.comcast.net] has joined #scheme 03:06:04 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 03:06:51 -!- akkad [~user@208.72.143.42] has quit [Remote host closed the connection] 03:07:01 akkad [~user@208.72.143.42] has joined #scheme 03:09:10 -!- crossfader [58497ee3@gateway/web/freenode/ip.88.73.126.227] has quit [Ping timeout: 252 seconds] 03:29:29 zmv: Can I tweet your yo dawg quote? ;-) 03:31:42 cky: ofc :D 03:31:48 \o/ 03:33:12 zmv: https://twitter.com/cky944/status/721427868241223 03:33:31 zmv: https://twitter.com/cky944/status/72142786824122368 03:33:33 Oops. :-P 03:33:54 (My doggie helpfully backspaced out some of my text, initially. :-P) 03:34:09 haha 03:36:39 aidalgol [~user@114-134-7-23.rurallink.co.nz] has joined #scheme 03:39:39 I think I'm gonna write a magic block writing program. 03:41:41 Magic block?! 03:42:06 you know, Kakuro magic block 03:42:31 :-O 03:43:43 http://www.kevinpluck.net/kakuro/KakuroCombinations.html 03:43:46 kinda like this 03:45:02 *nods* 03:47:44 -!- tauntaun [~Crumpet@ool-44c711b3.dyn.optonline.net] has quit [Quit: Ex-Chat] 04:00:58 bbowes [~user@S0106c8bcc89574c2.cg.shawcable.net] has joined #scheme 04:04:51 leo2007 [~leo@123.114.48.20] has joined #scheme 04:05:11 -!- zmv [~daniel@c9533906.virtua.com.br] has quit [Ping timeout: 240 seconds] 04:08:39 -!- JimmyRcom [~jimmy@adsl-75-53-45-212.dsl.rcsntx.sbcglobal.net] has quit [Read error: Connection reset by peer] 04:08:55 JimmyRcom [~jimmy@adsl-75-53-45-212.dsl.rcsntx.sbcglobal.net] has joined #scheme 04:18:01 -!- vu3rdd [~vu3rdd@fsf/member/vu3rdd] has quit [Remote host closed the connection] 04:22:47 I'm still not seeing what the true purpose of a let is, this is annoying me 04:26:47 -!- ckrailo [~ckrailo@pool-173-57-102-171.dllstx.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 04:27:27 EM03_, how do you normally use variables? 04:28:18 thats a hard question to answer in a way, I define them and use them for temporary values to complete program execution 04:28:49 how do you define them 04:29:07 (define x 10) 04:29:42 what about inside functions 04:30:10 (define (foo var1 var2) var1) 04:30:19 -!- aidalgol [~user@114-134-7-23.rurallink.co.nz] has quit [Read error: Operation timed out] 04:30:21 what if you awnt to define a variable inside the foo function 04:30:43 that wil be global or local to that function? 04:30:48 local 04:30:57 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 04:31:01 Well, you can still do that, no problem. Or use set!, which means the same thing. 04:31:18 i thought set is after you define? 04:31:26 ignore that for now 04:32:06 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 04:33:22 ok so use a lambda to define local variables then 04:33:49 but is that just for the lambda body or will that extend to the function body as well? 04:33:52 if you find that convenient then its fine, most people find lambda quite ugly to use in normal life 04:34:48 what are you asking about lambda vs function? 04:35:25 I didn't I just said it wrong 04:35:59 so basically let is a good way to give the function local variables? 04:36:22 yes 04:37:13 EM03_, also, set!ing variables is bad style. 04:38:08 BS 04:39:26 can't you define it first and set later to update? for things that need to be global that is 04:39:31 toplevel or what not 04:39:38 well, I can live without set!. 04:39:44 i cant 04:39:49 some algorithms lend themselves to mutation 04:40:45 DT: do you use continuation-passing style, then? 04:41:56 jonrafkind, I'm not against *-set!/set-*!, just `set!' (but it has its uses too). 04:42:02 Jafet, no, why? 04:43:15 How do you represent a change in state? 04:44:03 I use a mutable data structure. 04:44:40 So, you have no problem with set!, as long as it's not you that's typing it. 04:45:26 I have no problem with mutating an object, I have a problem with mutating a binding. 04:47:00 Even if it's to change the binding to a new state of the data structure? 04:49:34 depends, can I do it without set!? yes -> does it look awful? yes -> go with set!. 04:51:03 rudybot: eval (begin (define x 8) (define x (* x 5)) (define x (+ x 2)) x) 04:51:03 Jafet: your sandbox is ready 04:51:03 Jafet: ; Value: 42 04:52:06 pushp0p [~pushp0p@unaffiliated/pushp0p] has joined #scheme 04:52:33 rudybot, (let* ((x 8) (x (* x 5)) (x (+ x 2))) x) 04:52:33 DT``: your sandbox is ready 04:52:34 DT``: ; Value: 42 04:52:45 oh cool 04:53:00 Well, same difference. 04:54:35 but define pollutes the environment, and set! doesn't introduce a new binding. 04:54:53 I also find the let* easier to read. 04:55:01 but that's subjective. 04:57:34 -!- sloyd [sloyd@station457.vo3.net] has quit [Ping timeout: 246 seconds] 05:04:19 define is equivalent to set! at the top level if the variable is already bound. 05:05:47 is applicative order the most common? 05:09:16 for scheme? 05:10:43 sloyd [rotkiv@station457.vo3.net] has joined #scheme 05:13:21 aidalgol [~user@114-134-7-23.rurallink.co.nz] has joined #scheme 05:17:28 DT``: there's a strong argument in favor of `set!' over mutating structures -- you get a guarantee that the only possible state changes are from a specific lexical scope. OTOH, the mutations you like are easy to leak out, and therefore can break more easily in some cases. 05:34:32 eli, of course, I'd use set! when it's reasonable to use it, I would never use a cons and set-car! to maintain a counter inside a function. But for local variables, I don't see the point of using set! instead of let. 05:34:57 rramsden [~rramsden@s64-180-62-209.bc.hsia.telus.net] has joined #scheme 05:35:29 (Sorry, I don't see any relationship between `let' and `set!' -- nothing that could lead toa choice between them.) 05:35:43 -!- sloyd [rotkiv@station457.vo3.net] has quit [Ping timeout: 246 seconds] 05:37:31 -!- aidalgol [~user@114-134-7-23.rurallink.co.nz] has quit [Remote host closed the connection] 05:38:48 eli, (define (f) (define x ...) (set! x (g x)) ...) vs (define (f) (let* ((x ...) (x (g x))) ...)) 05:39:49 sloyd [sloyd@station457.vo3.net] has joined #scheme 05:40:32 why can't you just write (let ((x (g (f (..))))) ..) ? 05:45:27 ohwow, good point. Then, (let ((x ...)) ... (let loop ((y ...)) ... (let ((x (f x))) (loop (g y x))))) vs (begin (define x) ... (let loop ((y ...)) ... (begin (set! x (f x)) (loop (g y x))))) 05:46:45 huh 05:47:31 (let loop ((y ...) (x ..)) (loop (g y x) (f x))) 05:47:31 ? 05:50:10 there's some other code omitted that could do anything to x and y. 05:52:06 -!- Hal9k [~Lernaean@unaffiliated/kusanagi] has quit [] 05:52:35 Cowmoo [~Cowmoo@c-71-192-163-98.hsd1.nh.comcast.net] has joined #scheme 05:53:19 well you can include it in the (loop) call 05:54:18 DT``: (I don't see these as choices...) 05:55:26 ohwow, but it has to be done only once, and there's code that doesn't care about x, and... ok, you won. 05:56:02 eli, that's what I meant by ``bad style''. 05:57:03 DT``: Well, you could say the same on (let ([x 10]) ...blah...) vs (let ([x #f]) (set! x 10) ...blah...) 05:58:12 eli, yes, but EM03_ was specifically talking about let vs define+set!. 06:01:41 Using assignment to re-use a memory location to hold an intermediate calculation is common in langages without garbage collection like C... but unnatural for scheme... better style is to create a new binding in a new scope. 06:08:09 Hal9k [~Lernaean@unaffiliated/kusanagi] has joined #scheme 06:08:46 gravicappa [~gravicapp@ppp91-77-173-20.pppoe.mtu-net.ru] has joined #scheme 06:11:22 Happy Happy Joy Joy. 06:12:53 -!- bbowes [~user@S0106c8bcc89574c2.cg.shawcable.net] has left #scheme 06:15:38 bbowes: It has nothing to do with GC. 06:16:01 DT``: Ah, I didn't realize that *that's* what he's doing. 06:18:57 gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has joined #scheme 06:22:16 -!- gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has quit [Client Quit] 06:23:23 djcb [~user@a88-112-253-18.elisa-laajakaista.fi] has joined #scheme 06:25:42 -!- eli [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 06:29:55 eli [~eli@winooski.ccs.neu.edu] has joined #scheme 06:31:23 DT``: I'm still unsure what a let really does quite honestly 06:31:37 i dont see a difference between lambda and a let 06:32:01 (let ((x 3)) ...) is indeed equivalent to ((lambda (x) ...) 3). 06:32:14 so why do people use let? 06:32:42 it doesn't have to be implemented as lambda, and it's more readable. 06:33:00 otherwise they are the same? 06:33:55 yes. 06:34:29 DT``: Sounds like you need to start with the basics. That equivalence that DT`` and jonrafkind mentioned is not likely to help. 06:34:46 DT``: someone else I think said differently or implied or I took it wrongly 06:35:14 DT``: (Sorry... Confused.) 06:35:31 EM03_: Do you have some Scheme code that you wrote? 06:35:42 my web app with chicken 06:35:50 How big is it? 06:36:38 200-250 lines 06:37:04 Should I buy that book? 06:37:10 structure and interpreter etc etc? 06:37:32 EM03_: Can you paste it or put it up somewhere? 06:41:43 well 145 lines after excluding some comments and stuff, I'm trying to get the sql to work right now correctly took a minute 06:41:55 should I get that book though? I would like to order it now so I can have it quickly 06:42:23 EM03_: Just paste the code, it doesn't have to work. 06:42:56 The reason that I'm asking is I think that you have some major confusion going on, and it's not clear how much of it. 06:43:33 zanea_ [~zanea@219-89-177-102.jetstart.xtra.co.nz] has joined #scheme 06:43:44 (The thing is that `let' is a very fundamental thing, so it's like going to a JS channel and asking is `var' good for.) 06:44:11 -!- zanea [~zanea@219-89-177-69.jetstart.xtra.co.nz] has quit [Ping timeout: 240 seconds] 06:44:26 so like 06:44:28 (what is `var' good for in JS? There's `let'.) 06:44:46 applicative order is where you go through arguments iteratively, performing what operations you can? 06:45:01 basically when you find some atom 06:46:08 and then normal order is where you iteratively substitute references to what they reference? 06:46:11 superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has joined #scheme 06:49:36 eli: let makes perfect sense to me ....it looks like a bit easier to read lambda with more emphasis on assigning the local vars with a value, as a lambda can be empty and just be treated as more of a function where it seems let has more emphasis on those setting those variables and returning something 06:50:00 -!- rramsden [~rramsden@s64-180-62-209.bc.hsia.telus.net] has quit [Quit: Leaving] 06:50:24 but I could be wrong, or maybe I'm overcomplicating it 06:54:28 -!- realitygrill [~realitygr@76.226.123.105] has quit [Ping timeout: 246 seconds] 06:54:57 realitygrill [~realitygr@adsl-76-226-120-169.dsl.sfldmi.sbcglobal.net] has joined #scheme 06:55:01 *eli* gives up 06:55:49 DT``: There's probably 2-3 years before JS's `let' becomes a viable tool, and probably 10 years before it becomes common enough. 06:56:31 will JS still be there anymore? 06:56:38 But it's a good story for my class -- like Perl's `my' or whatever it's called. 06:56:58 Likely. 06:57:03 (IMO.) 06:59:01 -!- gremset [ubuntu@117.192.96.90] has quit [Ping timeout: 246 seconds] 06:59:32 eli: I'm sorry 07:00:32 EM03_: Code that uses `lambda's instead of `let's will be ... amuzing. 07:01:35 your saying that like there is a major difference 07:01:53 and it seems some people say they are pretty much both the same just a better syntax and other say different 07:02:52 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 246 seconds] 07:03:17 EM03_: Yes, you can use `lambda's instead, but the resulting code will be very hard to read. Open up any random piece of scheme code and see for yourself. 07:03:42 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 07:03:43 EM03_: Or, like I said, just paste some code where you're doing this. 07:04:00 i have not even used a let yet, ive been using bad practices 07:04:45 Code. 07:04:48 Paste. 07:10:37 -!- ohwow_ [u1259@gateway/web/irccloud.com/x-oaruvtfmlfwgdskh] has quit [Quit: Connection reset by zombie] 07:15:34 ckrailo [~ckrailo@pool-173-57-102-171.dllstx.fios.verizon.net] has joined #scheme 07:19:49 eli, I disagree, lambdas for everything can be readable too: http://pastebin.com/bi1ZdX4M 07:29:30 DT``: Quick, what is ( (a) ( (b) ( (c) (((a ( (g) ( (h) (h (g b))))) (K c)) I)))) ? 07:29:40 homework? 07:29:48 eli, a function. 07:29:51 DrDuck [~duck@216.186.151.63] has joined #scheme 07:29:57 bremner_, random exercise. 07:30:00 DT``: What function? 07:30:32 wait, K is free 07:30:33 *eli* drums fingers 07:30:47 uh... 07:30:48 K is from his code... 07:31:02 ok, maybe it's not that readable. 07:31:03 oh, context is for people with short term memory 07:31:22 but it looks like -. 07:31:25 DT``: QED :) 07:31:46 *1-. 07:32:20 DT``: Yes, it is. But now attack a random schemer with that question, even an expert one... 07:33:15 And BTW, using LC is not practical for any practical definition of "practical". 07:33:36 And BTW#2, even when you restrict yourself to LC, that code is not clear. 07:34:15 One of the main points of LC is that ( (x y) y) is more readable than ( (x) I), and the same for the other combinators. 07:35:17 if you skip the 300+ lines where I reimplement Lisp and remove the redundant parens, it reads like Scheme, though. 07:35:37 almost. 07:35:58 SK combinators, lovely. 07:36:12 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 07:37:07 The part that I don't understand is... why is it necessary for more than one person to prove that such madness is possible? 07:39:55 it's not necessary, but it's fun. 07:40:37 somnium` [~user@adsl-98-65-182-246.dab.bellsouth.net] has joined #scheme 07:42:30 -!- somnium [~user@adsl-184-42-13-167.dab.bellsouth.net] has quit [Ping timeout: 260 seconds] 07:42:50 DT``: Obviously it can be made readable... You could, for example, implement a `let'... 07:43:03 DT``: And BTW: http://pl.barzilay.org/church.rkt 07:45:29 eli, that's just ridiculous! why would I do that? - the file is full of gibberish. Wrong encoding or is it compiled? 07:46:52 DT``: Are you viewing it through some non-utf-8-able tool? 07:47:31 nope. 07:49:45 Well, it's a plain text racket file, the only non-ascii character is a . 07:52:40 strange. 07:53:17 it looks fine here. Try fetching it with wget 07:53:35 well, it looks insane, but all of individual characters are ok 07:54:58 DT``: (I've had piles of students go through that with no problems...) 07:55:05 now it works. 07:55:08 My proxy also mangles the file. 07:55:19 poxy proxy 07:55:22 -!- leo2007 [~leo@123.114.48.20] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 07:56:35 Obfuscate: That sounds very strange. Is it broken, or maybe the headers are somehow wrong? 07:56:50 *eli* netcats 07:57:17 eli: I'm looking into it now. This is the first link I've ever had a problem with. 07:57:49 Just a raw netcat shows a "Content-Encoding: 8bit" header. 07:58:01 (and "Content-Type: text/plain; charset=UTF-8") 07:58:23 ccorn [~ccorn@g132123.upc-g.chello.nl] has joined #scheme 08:05:20 eli: I'm not sure what happened, but it's most likely the fault of your server, since DT`` saw the same thing: after purging the file from the cache, it works properly. 08:05:46 rfc2616 and http://en.wikipedia.org/wiki/HTTP_compression#Content-coding_tokens don't list anything resembling 8bit a a content-coding value (I can't locate the official IANA list) 08:07:20 8bit occurs in the list of Content-Transfer-Encodings for MIME email (rfc1521), but I don't think it belongs in your HTTP header ... what is generating it? 08:08:35 (not that this means proxies should mangle the document if they see an unknown coding ..) 08:09:04 I have no idea -- this is running through apache, not some home cooked thing. 08:09:17 is it just apache->filesystem? 08:09:32 Yes, no scripts or anything like that. 08:09:36 eli: firefox showing some gibberish stuff 08:10:04 wget works ok tho 08:10:11 I'm not sure that the proxy mangled it, and on second thought, it seems that it didn't: all I know is that the first access (which the proxy cached) was gibberish. 08:10:24 ohwow: Do a forced reload in firefox. What do you get? 08:10:28 ohwow: Ah -- FF shows garbage for me too. 08:10:48 ah it's church numbers? 08:10:51 your server doesn't return that header for .html files 08:11:59 minsa [~minsa@c-24-5-121-157.hsd1.ca.comcast.net] has joined #scheme 08:12:24 Aha -- the problem is: AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css 08:13:30 I'll need to find out tomorrow why that breaks. 08:13:39 Time to crash now. 08:14:56 Ah, the server does send garbage when firefox is the requester. 08:15:39 I see a Vary: Accept-Encoding with curl, that's probably relevant :) 08:20:43 Kneferilis [5d6d8465@gateway/web/freenode/ip.93.109.132.101] has joined #scheme 08:20:47 Hello! 08:21:08 Does scheme support something like the Common Lisp CLOS system? 08:22:34 There is TinyCLOS 08:22:54 and many implementations has it's own OOP systesm 08:23:29 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Remote host closed the connection] 08:32:01 -!- monqy [~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net] has quit [Quit: hello] 08:33:19 -!- ckrailo [~ckrailo@pool-173-57-102-171.dllstx.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 08:36:36 -!- Kneferilis [5d6d8465@gateway/web/freenode/ip.93.109.132.101] has quit [Ping timeout: 252 seconds] 08:41:31 masm [~masm@bl15-75-122.dsl.telepac.pt] has joined #scheme 08:50:18 -!- DT`` [~Feeock@net-93-149-75-77.cust.dsl.teletu.it] has quit [Read error: Operation timed out] 09:06:18 DT`` [~Feeock@net-93-149-36-149.cust.dsl.teletu.it] has joined #scheme 09:08:51 -!- realitygrill [~realitygr@adsl-76-226-120-169.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 09:17:10 -!- rdd [~user@c83-250-52-16.bredband.comhem.se] has quit [Remote host closed the connection] 09:22:19 -!- ccorn [~ccorn@g132123.upc-g.chello.nl] has quit [Quit: ccorn] 09:25:30 Bahman_ [~Bahman@2.146.28.241] has joined #scheme 09:27:48 -!- Bahman [~Bahman@2.146.28.241] has quit [Ping timeout: 240 seconds] 09:29:30 ccorn [~ccorn@g132123.upc-g.chello.nl] has joined #scheme 09:32:58 leo2007 [~leo@2402:f000:5:2901:225:4bff:fea9:b9e4] has joined #scheme 09:41:17 -!- ccorn [~ccorn@g132123.upc-g.chello.nl] has quit [Quit: ccorn] 09:50:02 -!- atomx` [~user@86.35.150.23] has quit [Remote host closed the connection] 09:55:34 ccorn [~ccorn@g132123.upc-g.chello.nl] has joined #scheme 10:02:06 gremset [ubuntu@117.192.96.90] has joined #scheme 10:06:18 lolcow [~lolcow@196-215-49-168.dynamic.isadsl.co.za] has joined #scheme 10:08:55 -!- leppie [~lolcow@196-215-49-168.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 10:10:27 -!- lolcow [~lolcow@196-215-49-168.dynamic.isadsl.co.za] has quit [Client Quit] 10:13:59 somnium`` [~user@adsl-184-42-2-149.dab.bellsouth.net] has joined #scheme 10:18:14 -!- somnium` [~user@adsl-98-65-182-246.dab.bellsouth.net] has quit [Ping timeout: 276 seconds] 10:20:10 alaricsp [~alaric@relief.warhead.org.uk] has joined #scheme 10:25:26 leppie [~lolcow@196-215-49-168.dynamic.isadsl.co.za] has joined #scheme 10:28:40 -!- minsa [~minsa@c-24-5-121-157.hsd1.ca.comcast.net] has quit [Ping timeout: 246 seconds] 11:03:05 -!- Leonidas [~Leonidas@unaffiliated/leonidas] has quit [Ping timeout: 258 seconds] 11:10:07 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 252 seconds] 11:11:18 -!- DT`` [~Feeock@net-93-149-36-149.cust.dsl.teletu.it] has quit [Ping timeout: 248 seconds] 11:13:02 REPLeffect [~REPLeffec@69.54.115.254] has joined #scheme 11:13:34 -!- Bahman_ [~Bahman@2.146.28.241] has quit [Remote host closed the connection] 11:23:49 DT`` [~Feeock@net-93-149-66-212.cust.dsl.teletu.it] has joined #scheme 11:28:25 Leonidas_ [~Leonidas@unaffiliated/leonidas] has joined #scheme 11:29:07 -!- Leonidas_ is now known as Leonidas 11:42:39 MrFahrenheit [~RageOfTho@users-146-61.vinet.ba] has joined #scheme 11:44:15 -!- superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has quit [Quit: superjudge] 11:55:44 -!- mornfall [~mornfall@kde/developer/mornfall] has quit [Quit: Reconnecting] 11:55:46 mornfall_ [~mornfall@anna2.fi.muni.cz] has joined #scheme 11:57:31 peterhil [~peterhil@a91-152-135-21.elisa-laajakaista.fi] has joined #scheme 12:00:06 Hm, what should I read EOPL or PLAI? 12:00:14 Unfortunatelly, I don't have time for both :( 12:01:36 I'd say PLAI, but have you already read HtDP and/or SICP yet? 12:01:52 SICP 12:01:58 :-) 12:02:12 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 264 seconds] 12:02:20 I tried skimming through HtDP, but I got bored 12:02:29 not because it's a bad book 12:02:46 but apparently it's similar to sicp 12:02:56 plai is really about programming languages (I suppose the same is true of EOPL) 12:03:10 I think HTDP was mainly intended to be different from sicp 12:03:34 Well, I read some introductions and I got a feeling that EoPL is about constructing interpreters and compiler? 12:03:53 right. Same for plai 12:04:39 Oh, you mean they're both like free versions of the Dragon Book? ;-) 12:04:41 well, maybe at a bit more conceptual level than some PL texts 12:04:57 (Sorry, I think the Dragon book is too expensive for me to buy, so if these serve similar functions, then....) 12:05:15 PLAI considers parsing and lexing boring and ignores them ;) 12:05:33 I consider those topics boring too, so that's fine with me. ;-) 12:05:57 i.e., I'd rather just use an off-the-shelf library for doing lexing and parsing. 12:06:19 In real world - me too 12:06:23 I guess the distinction is between a PL book and a compiler book. 12:06:25 but 12:06:33 idk, I think it's fun 12:07:11 That's sad; Dragon Book intrduces too much imperative code and algorithms actually 12:07:30 I guess I'll try PLAI then 12:07:57 but first I want to finish The {Little|Seasoned} Schemer 12:08:08 A lot of algorithm books introduce almost exclusively imperative code. 12:08:11 the chapter where he introduces Y combinator blew my mind 12:08:14 cf taocp. 12:08:33 There's also `Lisp in Small Pieces', if you want a detailed book about interpretation and compilation of lisps, I'm not really sure how it compares to PLAI or EOPL though. 12:15:49 EbiDK [6d38221e@gateway/web/freenode/ip.109.56.34.30] has joined #scheme 12:17:44 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 12:17:57 -!- mornfall_ is now known as mornfall 12:17:57 -!- mornfall [~mornfall@anna2.fi.muni.cz] has quit [Changing host] 12:17:57 mornfall [~mornfall@kde/developer/mornfall] has joined #scheme 12:23:01 And since I am going to have additional free time during the summer, would reading that gigamonkey book (about CL) help me at all? 12:23:58 realitygrill [~realitygr@adsl-76-226-120-169.dsl.sfldmi.sbcglobal.net] has joined #scheme 12:24:40 -!- EbiDK [6d38221e@gateway/web/freenode/ip.109.56.34.30] has quit [Ping timeout: 252 seconds] 12:26:48 EbiDK [6d38221e@gateway/web/freenode/ip.109.56.34.30] has joined #scheme 12:30:25 ohwow: it would help you learning about Common Lisp, which is a good programming language for industrial strength applications. 12:33:01 but (cough) slightly offtopic 12:33:02 ;) 12:33:05 Lol. 12:34:28 pjb: presumably due to its rigidity? 12:37:51 Jafet: there's no rigidity in lisp. 12:38:07 atomx [56239617@gateway/web/freenode/ip.86.35.150.23] has joined #scheme 12:38:17 Sorry for offtopicing again, but a friend of mine recommended Haskell, he said that it's more similar to scheme in semantics/design 12:38:35 ohwow: I don't think so. 12:38:39 ML is probably closer to scheme than haskell 12:38:50 ohwow: comparede to haskel, scheme and common lisp are the same language. 12:39:04 oh 12:39:17 i tried to read an introduction to lambda-calculus, and I chosed Hindley&Seldin: lambda-caalculus and combinators, an introduction. 12:39:18 What's the difference between ML and Haskell? 12:39:29 laziness mainly 12:39:30 Well, besides obvious syntax and some semantic rules 12:39:39 however, from the 5th chapter it became too abstract 12:39:41 laziness like force/delay? 12:39:51 I cannot see the link with programming languages 12:40:21 ohwow: haskell also is more "purist" about how it handles IO, I think. 12:40:21 do you know another introduction to lambda calculus good for informaticians ? 12:40:37 -!- DT`` [~Feeock@net-93-149-66-212.cust.dsl.teletu.it] has quit [Ping timeout: 246 seconds] 12:43:06 I have this `Introduction to Lambda Calculus' by Barendregt and Barendsen 12:43:20 i think it's avaliable online 12:43:29 havn't finished it tho 12:45:14 ohwow: i have that , and tried to read it before Hindley&Seldin. Hindley&Seldin is even better 12:45:38 O 12:45:48 i'll try Hindley and Seldin then, heh 12:47:41 :) if you do not already know , Hindley and Seldin is too abstract, and have difficulties to see th elink with cs. 12:48:34 does somebody know a basic introduction to lambda calculus, that does not suppose to know anything about , and to be good for cs ? 12:49:05 ohwow: Have a look at: http://pastebin.com/jD19aNX0 ; you cannot say the same thing about haskell and scheme. 12:49:56 atomx: lambda calculus is math: it doesn't suppose to know anything about anything. 12:50:05 atomx: check wikipedia article. 12:50:05 gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has joined #scheme 12:50:21 ya, i looked in wikipedia. 12:51:02 pjb: I dont understand CL well, but I can see that you've implemented some r5rs functions as macros 12:51:14 ohwow: that's not the point. 12:51:29 ohwow: the first packages declares the intersection of r5rs and common-lisp. 12:51:39 karme [~user@stgt-5f709a2e.pool.mediaWays.net] has joined #scheme 12:52:00 ohwow: using it you can write run in common lisp programs written in that subset of scheme, and vice-versa, any CL program using only this package will run same on schem. 12:52:26 ohwow: granted, this intersection is rather small, but it exists, and can be used to build higher level abstractions. 12:52:50 But you basically wrote an interpreter :) 12:53:14 ohwow: no, I just restricted CL to things that also exist in scheme. 12:53:17 I define a subset of CL. 12:53:24 which is the intersection of CL and scheme. 12:53:30 You could write a similar scheme module. 12:53:33 pjb: Does CL have DEFINE? Otherwise, how do you define anything that's going to work in both Scheme and CL? 12:53:40 DT`` [~Feeock@net-93-149-67-169.cust.dsl.teletu.it] has joined #scheme 12:53:47 cky: you don't need define. 12:54:43 What about BEGIN/PROGN? Do you just use LET (with no bindings) to simulate that? 12:54:52 Yes. 12:55:07 Hmm. 12:55:14 There's a lot of superfluous in this intersection: you really only need lambda. 12:56:28 :-) 12:56:32 This program can be compiled and run with C, Fortran, sh and csh: http://pastebin.com/emL6kwU2 12:56:54 BTW, the "instead write a true condition, like (= 0 0)", I'd say that (= 0 0) is too clunky; I'd prefer to use 1. 12:57:32 cky: yes. It's only by symetry for false. (/= 0 0) 12:57:48 Does CL have NOT? You can use (not 1). :-) 12:58:04 But it's a trick: they use the different comment syntaxes to include four programs in the same source. On the other hand, a file using only the symbol defined in this intersection may run on both scheme and common-lisp. 12:58:11 (not 1) could do it too. 12:58:43 pjb: Also, Scheme does not have /=. 12:59:34 You have to be careful with lisp-1 vs. lisp-2, and things like that. You can use tricks such as ((lambda (funcall f ...) (funcall f ...)) (lambda (x y z) (x y z))) to run both in scheme and CL. 12:59:53 :-O 13:16:19 -!- homie [~levgue@xdsl-78-35-132-238.netcologne.de] has quit [Ping timeout: 260 seconds] 13:17:03 wingo [~wingo@90.164.198.39] has joined #scheme 13:22:59 -!- martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has quit [Read error: Connection reset by peer] 13:23:31 martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 13:33:32 -!- mmc1 [~michal@82-148-210-75.fiber.unet.nl] has quit [Ping timeout: 250 seconds] 13:40:16 choas [~lars@p578F6647.dip.t-dialin.net] has joined #scheme 13:48:28 Modius_ [~Modius@cpe-70-123-140-183.austin.res.rr.com] has joined #scheme 13:51:18 -!- Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has quit [Ping timeout: 250 seconds] 13:52:01 -!- gremset [ubuntu@117.192.96.90] has quit [Ping timeout: 246 seconds] 13:53:25 soveran [~soveran@186.19.214.247] has joined #scheme 14:07:32 -!- EbiDK [6d38221e@gateway/web/freenode/ip.109.56.34.30] has quit [Quit: Page closed] 14:11:05 MengZhang [~MengZhang@221.239.197.127] has joined #scheme 14:11:50 Question: Merge two list into an assoc-list, any elegant implement? 14:12:21 example: (a b c) , (1 2 3) -> ((a . 1) (b . 2) (c . 3)) 14:13:08 (map cons keys values) 14:13:39 MengZhang: if you can't come with that simple expression, what are you doing with scheme? 14:13:50 MengZhang: perhaps you should read and study htdp. 14:14:08 htdp: How To Design Programs, an online textbook in introductory CS using PLT Scheme, available at http://www.htdp.org/ 14:15:08 hmm 14:15:25 I've no idea about map could take more than 2 arg before.. 14:16:07 Reading r5rs is not optional either. 14:16:17 Fuck it's only 50 pages! 14:16:21 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-2.html#%_toc_start 14:16:22 http://tinyurl.com/yc5qso 14:17:35 Thanks, now I really feel stupid :-D 14:17:57 pjb: Section 7.2 is definitely not optional. :-P 14:17:58 Hope this will motivate you to better study :-) 14:18:20 cky: it's tedious, but not optional. 14:18:26 :-) 14:22:52 EarlGray [~dmytrish@inherent.puzzler.volia.net] has joined #scheme 14:29:30 tauntaun [~Crumpet@ool-44c711b3.dyn.optonline.net] has joined #scheme 14:45:00 do you know a cahnnel specialized in lambda-calculus ? 14:45:11 #math? 14:45:16 #lambda-calculus 14:45:17 #only-you 14:45:44 In that case #scheme is as good as any other. 14:46:26 #lambda-calculus is not a populated channel 14:47:14 small channel grows big. 14:47:20 ohwow: i hope #math to be good 14:55:18 -!- ymasory [~ymasory@12.238.58.2] has quit [Ping timeout: 248 seconds] 14:56:50 superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has joined #scheme 15:00:42 I'm not sure most mathematicians knows about lambda calculus. 15:06:40 ymasory [~ymasory@12.238.58.2] has joined #scheme 15:07:15 MCMic [~mcmic@194.2.148.129] has joined #scheme 15:07:19 hi 15:07:38 Would anyone know how to ignore the result of a scheme function? 15:07:46 It displays it and I don't want that 15:08:43 (in fact I just want to know how much time it takes, so I use "time", but it shows time AND the function results, which is a pretty long list. I'd like to see only the time) 15:09:23 (time (begin foo '())) 15:09:59 -!- djcb [~user@a88-112-253-18.elisa-laajakaista.fi] has quit [Ping timeout: 240 seconds] 15:10:20 hum 15:10:24 why not ^^ 15:10:26 thanks 15:12:59 -!- karme [~user@stgt-5f709a2e.pool.mediaWays.net] has quit [Remote host closed the connection] 15:18:59 is there any option for time? is it possible to only show real time for instance? 15:19:16 -!- C-Keen [cckeen@pestilenz.org] has quit [Quit: upgrade] 15:20:30 MCMic: if you are using Racket then you can try http://docs.racket-lang.org/reference/time.html#%28def._%28%28quote._~23~25kernel%29._time-apply%29%29 15:20:31 http://tinyurl.com/3bh4clz 15:20:44 thx 15:24:29 zmv [~daniel@c9533906.virtua.com.br] has joined #scheme 15:25:24 it seems time-apply does not return a list, it directly returns 4 values, I did not know that was possible, how do I use that? 15:29:15 good morning 15:29:17 MCMic: Three ways. 1. call-with-values. 2. receive. 3. let-values. 15:29:21 MCMic: 4. SRFI 71. 15:29:59 MCMic: receive is probably the most commonly-used, and is just a very thin wrapper around call-with-values. 15:30:35 e.g., (receive (foo bar baz qux) (time-apply ...) ...) 15:31:01 I'd like to get only one of the values without storing the others 15:31:05 is that possible? 15:31:30 "storing" ? 15:32:30 I don't want to keep the other results in vars 15:32:37 (define-syntax nth-val (syntax-rules () ((_ exp n) (call-with-values (lambda () exp) (lambda args (list-ref args n)))))) 15:32:45 it's more "naming" than "storing" 15:33:12 -!- elliottcable is now known as ryyvbggpnoyr 15:33:59 seems to work 15:34:11 wingo: does it start with 0 or 1 for the first value? 15:35:01 0 of course 15:35:01 :) 15:35:10 -!- ryyvbggpnoyr is now known as nyrktbeqba 15:35:43 :) 15:38:18 DrAfk [~duck@216.186.151.63] has joined #scheme 15:39:22 -!- zmv [~daniel@c9533906.virtua.com.br] has quit [Read error: Operation timed out] 15:40:23 -!- nyrktbeqba is now known as elliottcable 15:43:00 mmc1 [~michal@82-148-210-75.fiber.unet.nl] has joined #scheme 15:44:29 homie [~levgue@xdsl-78-35-142-172.netcologne.de] has joined #scheme 15:44:48 -!- MengZhang [~MengZhang@221.239.197.127] has quit [Remote host closed the connection] 15:45:00 nowhereman [pierre@AStrasbourg-551-1-47-8.w92-148.abo.wanadoo.fr] has joined #scheme 15:48:02 -!- nowhere_man [pierre@AStrasbourg-551-1-49-204.w83-194.abo.wanadoo.fr] has quit [Ping timeout: 244 seconds] 15:48:31 mjonsson [~mjonsson@38.109.95.202] has joined #scheme 15:49:51 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 15:51:11 MCMic_ [~mcmic@51.126.1.93.rev.sfr.net] has joined #scheme 15:52:47 karme [~user@stgt-5f709a2e.pool.mediaWays.net] has joined #scheme 15:54:01 soveran [~soveran@186.19.214.247] has joined #scheme 15:54:22 -!- MCMic [~mcmic@194.2.148.129] has quit [Ping timeout: 250 seconds] 15:57:28 -!- MCMic_ is now known as MCMic 15:58:02 -!- MCMic [~mcmic@51.126.1.93.rev.sfr.net] has quit [Changing host] 15:58:02 MCMic [~mcmic@pdpc/supporter/student/mcmic] has joined #scheme 15:58:48 what is the best way to distribute a scheme program ? (to be easily run in a terminal) 15:59:53 I think that depends on the implementation. 16:00:08 some schemes can compile to C or make an executable. 16:00:37 The best way is to distribute the sources :-) 16:00:54 pjb: it's for school, sources will be there any way 16:01:17 but we had the choice for the language, so the professor is not particulary expecting scheme 16:01:29 And I think he'll prefer something easy to launch 16:02:03 if I were the prof, I like some kind of build script/makefile that did the right thing. 16:02:10 Some Schemes can directly produce executables. Most others can be made to run a program from a shell script. 16:02:16 bremner_: I think so 16:02:36 because I don't want to run executables from students. 16:02:37 bremner_: a Makefile is asked for those who did it in C or C++ 16:03:05 MCMic: then provide a Makefile. 16:03:24 The makefile can produce the executable, whether a binary or a script. 16:04:04 ok 16:04:11 how do I do that? ^^ 16:04:28 Depends on your scheme implementation. 16:04:31 I used dr racket and it seems a modified version of R5RS that the program propose 16:04:45 it says "Pretty big scheme" 16:05:19 I don't know about DrRacket, but it has quite a comprehensive documentation. 16:06:16 MCMic: you can use "raco exe" for racket 16:06:24 For example googling for drracket generate executable should give you some information. 16:08:30 "raco exe test.rkt" 16:08:43 be warned it is a bit slow, and the results are a bit big. 16:09:52 it wants a module declaration, what is that? 16:12:25 put "#lang something" at the top of your file. 16:12:33 -!- karme [~user@stgt-5f709a2e.pool.mediaWays.net] has quit [Remote host closed the connection] 16:12:52 where something is not meant literally. 16:13:55 hmm. Dynno about this "pretty big" thing, looks a bit deprecated 16:15:21 does "load" works with raco? 16:18:28 maybe try (module pretty-big lang/plt-pretty-big) at the top of the file 16:19:55 it still don't recognize "populate" which is a function I defined in one of the loaded files 16:20:06 do I have to put a module line in all files? 16:20:28 monqy [~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net] has joined #scheme 16:21:22 dunno. I only ever use #lang foo, but I don't know what the value of foo is for pretty-bug 16:21:56 now it says "file has more than one expression" 16:22:33 -!- akkad [~user@208.72.143.42] has quit [Remote host closed the connection] 16:22:38 akkad [~user@208.72.143.42] has joined #scheme 16:23:26 HG` [~HG@p579F72F3.dip.t-dialin.net] has joined #scheme 16:24:21 you have several #lang declarations? 16:24:30 don't think so 16:24:34 I have none 16:24:41 I replaced it with the (module thing 16:25:45 what #lang was there before? 16:26:44 oops, the module thing was wrong, sorry 16:26:50 ? 16:27:20 I didn't use a #lang thing before, I don't know what it's for, it's unneeded for execution within drracket 16:30:12 -!- MrFahrenheit [~RageOfTho@users-146-61.vinet.ba] has quit [Read error: Connection reset by peer] 16:30:37 MrFahrenheit [~RageOfTho@users-146-61.vinet.ba] has joined #scheme 16:35:52 -!- atomx [56239617@gateway/web/freenode/ip.86.35.150.23] has quit [Quit: Page closed] 16:36:33 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 260 seconds] 16:36:37 MCMic: You should use "#lang racket" then. 16:37:09 MCMic: maybe something like http://paste.debian.net/117643/ 16:37:26 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 16:37:43 cky: he is using "Pretty Big" 16:38:04 cky: yeah, I'm trying to do that right now 16:38:11 but it asks changes in the code 16:38:17 if must have elses 16:38:20 for instance 16:38:26 that's annoying 16:38:35 and with the require I suggested? 16:38:54 trying that right now 16:39:58 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 16:40:13 hum 16:40:21 now it does not want else in cond 16:40:43 that is why version control is so awesome. 16:40:49 ? 16:40:57 never mind... 16:41:21 soveran [~soveran@186.19.214.247] has joined #scheme 16:41:24 s/version control/git/ 16:41:37 Try doing that sort of back-and-forth workflow using Subversion. ;-) 16:42:02 oh, well. Sure. I forget the bad old days ;) 16:42:32 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 16:46:58 bremner_: Is it just me, or is git.debian.org's git server down? 16:47:24 down/in the middle of migrating 16:47:30 not just you 16:48:01 Is the related to Alioth's disappearance? 16:48:17 Ah, thanks. 16:48:33 Erm, s/the/that/ 16:49:03 fds: more or less 16:49:09 -!- zanea_ [~zanea@219-89-177-102.jetstart.xtra.co.nz] has quit [Ping timeout: 240 seconds] 16:49:31 Spring cleaning? 16:49:43 new hardware 16:50:03 Ah, cool. 16:50:19 -!- MCMic [~mcmic@pdpc/supporter/student/mcmic] has quit [Ping timeout: 240 seconds] 16:51:13 zanea [~zanea@219-89-166-122.jetstart.xtra.co.nz] has joined #scheme 16:52:20 MCMic [~mcmic@194.2.148.129] has joined #scheme 16:52:42 Sgeo_ [~Sgeo@ool-18bf618a.dyn.optonline.net] has joined #scheme 16:52:58 -!- Sgeo [~Sgeo@ool-18bf618a.dyn.optonline.net] has quit [Ping timeout: 246 seconds] 16:54:28 blueadept [~blueadept@unaffiliated/blueadept] has joined #scheme 17:07:36 -!- ccorn [~ccorn@g132123.upc-g.chello.nl] has quit [Quit: ccorn] 17:09:39 -!- blueadept [~blueadept@unaffiliated/blueadept] has quit [Ping timeout: 255 seconds] 17:14:48 blueadept [~blueadept@unaffiliated/blueadept] has joined #scheme 17:20:09 kephas [pierre@AStrasbourg-551-1-105-118.w90-13.abo.wanadoo.fr] has joined #scheme 17:21:51 C-Keen [cckeen@pestilenz.org] has joined #scheme 17:23:34 -!- nowhereman [pierre@AStrasbourg-551-1-47-8.w92-148.abo.wanadoo.fr] has quit [Ping timeout: 248 seconds] 17:24:43 karme [~user@stgt-5f709a2e.pool.mediaWays.net] has joined #scheme 17:32:19 gremset [ubuntu@117.192.96.62] has joined #scheme 17:32:41 -!- DrAfk [~duck@216.186.151.63] has quit [Ping timeout: 240 seconds] 17:33:32 -!- DrDuck [~duck@216.186.151.63] has quit [Ping timeout: 276 seconds] 17:39:09 -!- gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has quit [Read error: Connection reset by peer] 17:39:32 gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has joined #scheme 17:41:09 -!- martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has quit [Read error: Operation timed out] 17:42:31 -!- somnium`` [~user@adsl-184-42-2-149.dab.bellsouth.net] has quit [Ping timeout: 258 seconds] 17:42:36 djcb [~user@a88-112-253-18.elisa-laajakaista.fi] has joined #scheme 17:45:19 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 17:46:10 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 17:51:07 -!- MCMic [~mcmic@194.2.148.129] has quit [Changing host] 17:51:07 MCMic [~mcmic@pdpc/supporter/student/mcmic] has joined #scheme 18:02:11 -!- karme [~user@stgt-5f709a2e.pool.mediaWays.net] has quit [Remote host closed the connection] 18:02:20 -!- Euthydemus [~euthydemu@unaffiliated/euthydemus] has quit [Quit: leaving] 18:09:46 -!- gremset [ubuntu@117.192.96.62] has quit [Quit: No Ping reply in 180 seconds.] 18:10:03 gremset [ubuntu@117.192.96.62] has joined #scheme 18:16:40 -!- HG` [~HG@p579F72F3.dip.t-dialin.net] has quit [Quit: Leaving.] 18:18:36 dnolen [~davidnole@pool-68-161-102-6.ny325.east.verizon.net] has joined #scheme 18:20:00 cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined #scheme 18:20:51 MCMic_ [~mcmic@194.2.148.129] has joined #scheme 18:20:57 jcowan [~John@cpe-74-68-112-189.nyc.res.rr.com] has joined #scheme 18:21:59 moi 18:24:24 -!- MCMic [~mcmic@pdpc/supporter/student/mcmic] has quit [Ping timeout: 264 seconds] 18:26:07 MCMic [~mcmic@51.126.1.93.rev.sfr.net] has joined #scheme 18:26:28 -!- MCMic_ [~mcmic@194.2.148.129] has quit [Ping timeout: 250 seconds] 18:43:27 -!- MCMic [~mcmic@51.126.1.93.rev.sfr.net] has quit [Changing host] 18:43:27 MCMic [~mcmic@pdpc/supporter/student/mcmic] has joined #scheme 18:44:52 -!- dnolen [~davidnole@pool-68-161-102-6.ny325.east.verizon.net] has quit [Read error: Connection reset by peer] 18:46:34 dnolen [~davidnole@pool-68-161-102-6.ny325.east.verizon.net] has joined #scheme 18:47:57 Euthydemus [~euthydemu@unaffiliated/euthydemus] has joined #scheme 18:48:01 kenjin2201 [~kenjin@58.230.108.42] has joined #scheme 18:48:07 -!- gravicappa [~gravicapp@ppp91-77-173-20.pppoe.mtu-net.ru] has quit [Ping timeout: 246 seconds] 18:50:22 -!- leo2007 [~leo@2402:f000:5:2901:225:4bff:fea9:b9e4] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 18:52:00 -!- MCMic [~mcmic@pdpc/supporter/student/mcmic] has quit [Ping timeout: 264 seconds] 18:53:25 DrAfk [~duck@216.186.151.63] has joined #scheme 18:53:31 duck__ [~duck@216.186.151.63] has joined #scheme 18:53:48 MCMic [~mcmic@51.126.1.93.rev.sfr.net] has joined #scheme 18:57:21 mejja [~user@c-0eb9e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 18:57:33 -!- Checkie [2662@unaffiliated/checkie] has quit [Quit: HydraIRC -> http://www.hydrairc.com <- The alternative IRC client] 19:12:45 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has left #scheme 19:12:54 -!- ymasory [~ymasory@12.238.58.2] has quit [Ping timeout: 248 seconds] 19:16:33 gravicappa [~gravicapp@ppp91-77-173-20.pppoe.mtu-net.ru] has joined #scheme 19:28:30 ymasory [~ymasory@12.238.58.2] has joined #scheme 19:29:17 -!- bzzbzz_ [~franco@modemcable240.34-83-70.mc.videotron.ca] has quit [Quit: leaving] 19:40:01 zmv [~daniel@c9533906.virtua.com.br] has joined #scheme 19:40:11 -!- Cowmoo [~Cowmoo@c-71-192-163-98.hsd1.nh.comcast.net] has quit [Remote host closed the connection] 19:40:22 -!- gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has quit [Read error: Connection reset by peer] 19:40:41 gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has joined #scheme 19:41:22 -!- Modius_ [~Modius@cpe-70-123-140-183.austin.res.rr.com] has quit [Quit: "Object-oriented design" is an oxymoron] 19:41:32 Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has joined #scheme 19:43:39 ymasory_ [~ymasory@12.238.58.2] has joined #scheme 19:43:50 -!- ymasory_ [~ymasory@12.238.58.2] has quit [Read error: Connection reset by peer] 19:44:56 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 19:47:34 -!- ymasory [~ymasory@12.238.58.2] has quit [Ping timeout: 248 seconds] 19:47:38 hi there 19:47:51 Pepe_: hi 19:47:56 I have something like that here, http://paste.pocoo.org/show/393307/, (playing with fork) 19:48:33 but If I close bar, the main process closes foo too 19:48:56 I'd like foo to be able to stay on his own 19:49:34 any idea ? 19:49:52 You need to specify what Scheme system you're using. 19:50:14 Some Scheme systems handle subprocesses with at least some semblance of sensibility; others are totally broken. 19:50:17 chicken, excuse me :) 19:50:53 I believe in Chicken you are obligated to call PROCESS-WAIT; failing to do so is a serious bug. 19:51:35 (This is a design bug in Chicken.) 19:51:40 hmm 19:52:48 any other way to do that ? :/ 19:56:13 What does zenity do, and what do you mean by `close'? 19:56:58 zenity is just gnome-tool to display messages 19:57:00 -!- zmv [~daniel@c9533906.virtua.com.br] has quit [Read error: Operation timed out] 19:57:34 (this is just for testing, I wanted to have a blocking process) 19:57:49 it display a window with an 'ok' button and some text ~ 19:59:14 *s 20:03:44 martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 20:06:10 -!- ToxicFrog [~ToxicFrog@24-246-40-169.cable.teksavvy.com] has quit [Ping timeout: 246 seconds] 20:08:27 Riastradh: thanks anyway. gonna try to find something else :) 20:09:41 You should be more specific; in particular, you should specify (a) exactly what you typed, (b) exactly what you saw, and (c) exactly what you expected to see. 20:10:23 alvatar [~alvatar@21.149.220.87.dynamic.jazztel.es] has joined #scheme 20:11:38 hmm, don't know how I could be more specific, I pasted the code, and I think function names are specific enough ~ 20:12:36 When you say `if I close bar', do you mean `if I hit the OK button which has the effect of destroying the zenity window and inducing the process that drew it to exit'? 20:13:11 What happens if you try something other than zenity, such as xev? Maybe tries to run no more than a single process at a time. 20:13:15 ToxicFrog [~ToxicFrog@24-246-40-169.cable.teksavvy.com] has joined #scheme 20:13:16 well, I thought you would _at least_ understand that once I told you what zenity was 20:14:18 It could be that you use xkill, or that you click some `x' button that your window manager draws, or ask your window manager otherwise to destroy the window, or look up the zenity process in ps and kill it, &c. 20:15:08 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 20:15:17 jewel [~jewel@196-215-16-248.dynamic.isadsl.co.za] has joined #scheme 20:15:17 nevermind 20:15:19 More importantly, I don't know how zenity behaves as a process, particularly since it involves X11 and Gnome! It might be simpler to reduce your problem to reading from a fifo or something. 20:15:57 -!- homie [~levgue@xdsl-78-35-142-172.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:16:54 I'd like this thing to behave more or less like the archlinux daemon launching process, if you know it 20:17:10 (the @ thing) 20:17:18 Sorry, I don't know anything about archlinux. 20:18:18 Here's a totally wild guess about what you're trying to do: 20:18:54 When you say `background process', you actually mean `daemon, in its own process group with no controlling terminal and I/O redirected from and to /dev/null.' 20:19:13 sth like that, http://paste.pocoo.org/show/ynrm87wKpxh5li7IwKr2/ 20:19:18 When you want to launch it, you want to `fire and forget'; you don't want to be obligated to call waitpid. 20:19:46 yep 20:19:58 Thus, when you say `background', it actually has basically nothing to do with background processes in shell job control. 20:20:07 actually not 20:20:53 (hum, don't know if this sentence does mean what I wanted to say :p) 20:21:01 yes, it has nothing to do with that. 20:23:08 -!- MCMic [~mcmic@51.126.1.93.rev.sfr.net] has quit [Quit: leaving] 20:23:23 So, here's what you will probably need to do: 20:24:20 emuser [~user@97.72.154.166] has joined #scheme 20:24:22 -!- jewel [~jewel@196-215-16-248.dynamic.isadsl.co.za] has quit [Ping timeout: 246 seconds] 20:25:33 You are running in process A. A forks a subprocess B that forks a subprocess C. B must kill itself after forking C, so that it will not be obligated to waitpid for when C exits. C detaches from its controlling terminal with setsid, redirects its I/O descriptors, maybe chdirs and/or chroots and/or drops privileges &c., and then execs the desired program. 20:26:39 -!- alvatar [~alvatar@21.149.220.87.dynamic.jazztel.es] has quit [Quit: leaving] 20:26:53 -!- duncanm_ is now known as duncanm 20:26:55 On linux you can also just call daemon(3). 20:27:24 You need to fork and then call daemon, if you don't want to nuke the Chicken process from which you're doing this. 20:28:04 okay :) 20:28:12 -!- emuser [~user@97.72.154.166] has quit [Read error: Connection reset by peer] 20:28:31 thanks for helping, I'll take a closer look at that 20:29:04 -!- superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has quit [Quit: superjudge] 20:29:34 -!- kenjin2201 [~kenjin@58.230.108.42] has quit [Read error: Connection reset by peer] 20:30:50 homie [~levgue@xdsl-78-35-142-172.netcologne.de] has joined #scheme 20:34:48 yep, it works (yatta ~) 20:37:42 -!- martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has quit [Read error: Operation timed out] 20:38:19 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 20:39:11 martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 20:41:43 ymasory [~ymasory@12.238.58.2] has joined #scheme 20:41:49 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 20:43:22 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 20:45:16 http://www.r6rs.org/r6rs-editors/2007-January/002025.html 20:46:38 bikeshed 20:46:48 :) 20:46:52 No, foof, it's a `bike shed'. 20:47:03 If you want to render that into Scheme, it should obviously be `bike-shed'. 20:48:20 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has left #scheme 20:48:31 How Anglo-centric!!! In Japanese it's chuurinjo! 20:48:40 Scheme is anglocentric. 20:48:59 -!- mjonsson [~mjonsson@38.109.95.202] has quit [Remote host closed the connection] 20:49:58 kuribas [~user@d54C43D8A.access.telenet.be] has joined #scheme 20:50:12 Somewhat, acronymicly and historically. But not much. 20:50:24 (cdr chuurinjo) is as good as (cdr bike-shed). 20:50:48 (cdr ) even. 20:53:59 mjonsson [~mjonsson@38.109.95.202] has joined #scheme 20:55:16 http://www.r6rs.org/formal-comments/comment-26.txt 20:56:32 aha: http://www.r6rs.org/formal-comments/comment-36.txt 21:01:49 -!- martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has quit [Ping timeout: 260 seconds] 21:03:24 *foof* has to catch a flight back to civilization 21:06:05 travel well! 21:07:03 -!- gravicappa [~gravicapp@ppp91-77-173-20.pppoe.mtu-net.ru] has quit [Ping timeout: 252 seconds] 21:12:10 -!- choas [~lars@p578F6647.dip.t-dialin.net] has quit [Quit: leaving] 21:21:09 http://www.r6rs.org/r6rs-editors/2006-April/001196.html is interesting 21:25:40 wingo: comment 26 is buggy 21:26:00 the comment or the respose? 21:26:03 *response 21:26:41 the table of implementations 21:28:42 MIT Scheme has been changed since the table was written. 21:28:54 Is that what you're referring to? 21:29:19 night! 21:30:06 #t 21:33:40 -!- wingo [~wingo@90.164.198.39] has quit [Ping timeout: 258 seconds] 21:34:55 -!- ymasory [~ymasory@12.238.58.2] has quit [Ping timeout: 252 seconds] 21:37:38 -!- akkad [~user@208.72.143.42] has quit [Remote host closed the connection] 21:37:46 akkad [~user@208.72.143.42] has joined #scheme 21:43:09 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 21:45:04 -!- djcb [~user@a88-112-253-18.elisa-laajakaista.fi] has quit [Remote host closed the connection] 21:50:34 ymasory [~ymasory@12.238.58.2] has joined #scheme 22:06:55 -!- ymasory [~ymasory@12.238.58.2] has quit [Ping timeout: 246 seconds] 22:19:03 Checkie [2667@unaffiliated/checkie] has joined #scheme 22:22:32 -!- kuribas [~user@d54C43D8A.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:24:49 -!- homie [~levgue@xdsl-78-35-142-172.netcologne.de] has quit [Read error: Connection reset by peer] 22:28:57 zorblek [~morganmay@50-47-169-35.evrt.wa.frontiernet.net] has joined #scheme 22:31:02 -!- jcowan [~John@cpe-74-68-112-189.nyc.res.rr.com] has quit [Quit: Leaving] 22:31:11 homie [~levgue@xdsl-78-35-142-172.netcologne.de] has joined #scheme 22:34:29 gremset_ [ubuntu@117.192.105.21] has joined #scheme 22:37:55 barryfm [~barryfm@fl-71-51-64-129.dhcp.embarqhsd.net] has joined #scheme 22:37:56 -!- gremset [ubuntu@117.192.96.62] has quit [Ping timeout: 276 seconds] 22:38:58 foof: when using (chibi loop) I can't access to loop variables from inside (while ...) and (until ...) 22:38:59 -!- zorblek [~morganmay@50-47-169-35.evrt.wa.frontiernet.net] has quit [Read error: Connection reset by peer] 22:40:27 zorblek [~morganmay@50-47-169-35.evrt.wa.frontiernet.net] has joined #scheme 22:40:53 https://gist.github.com/1ce988e435d63f264928 22:41:17 secondary variables (like indexes) seem to work, but the primary one can't be referenced 22:42:05 That's pretty weird! What if you use foof-loop instead of chibi-loop? 22:42:36 checking 22:43:14 Oh, I see. 22:43:28 No, that's not weird; I bet it's the same in foof-loop. 22:45:05 Riastradh: so, that's the expected behaviour? I was trying to compare string prefixes, and was using 'while' to control the loop by comparing characters 22:45:37 tizoc, keep the section `Loop Expansion' of foof-loop.txt always in mind. 22:46:42 tizoc: That's a bug, I'll fix it. 22:46:42 -!- zorblek [~morganmay@50-47-169-35.evrt.wa.frontiernet.net] has quit [Read error: Connection reset by peer] 22:47:17 The chibi implementation is essentially unchanged from the original usenet post, I really need to clean it up. 22:47:32 good, thank you 22:48:01 The expansion is very simple. All the termination conditions are tested at once before all the body bindings. 22:48:28 This includes both (< i (string-length s)) and all the WHILE conditions. 22:50:13 It's not a bug. 22:51:08 Oh, your implementation tests both user and implicit termination conditions together? 22:52:04 -!- barryfm [~barryfm@fl-71-51-64-129.dhcp.embarqhsd.net] has quit [Quit: Ex-Chat] 22:52:44 ...oh, wait a minute. 22:52:50 I misread my manual. 22:53:00 It *is* a bug. 22:53:37 Whatever it says in Section `Loop Expansion' of is right. 22:55:51 My original version without the while's and until's and let's was simpler to understand :) 22:56:14 'After no iterator has terminated the loop, is evaluated in an environment with all of loop variables, entry variables, body variables, and user variables bound. If true, the iteration continues for WHILE and terminates for UNTIL, and vice versa.' (not the expansion section, the while/until one) 22:57:29 Yeah, WHILE, UNTIL, and LET were essentially a mistake. 22:57:51 Anyway, I'm off to dinner now. 22:59:44 I'm not sure if they are a mistake (but I agree that they make things a bit more complicated), but I find them convenient 23:05:09 zorblek [~morganmay@50-47-169-35.evrt.wa.frontiernet.net] has joined #scheme 23:09:48 -!- homie [~levgue@xdsl-78-35-142-172.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:32:40 foof: (in-string/vector s/v start end) seems to be supported on (chibi loop), but [start end] is not documented, can I depend on that working? 23:32:41 -!- zorblek [~morganmay@50-47-169-35.evrt.wa.frontiernet.net] has quit [Read error: Connection reset by peer] 23:36:39 -!- acarrico [~acarrico@pppoe-68-142-54-117.gmavt.net] has quit [Ping timeout: 244 seconds] 23:44:34 -!- DrAfk [~duck@216.186.151.63] has quit [Ping timeout: 246 seconds] 23:44:55 -!- duck__ [~duck@216.186.151.63] has quit [Ping timeout: 246 seconds] 23:48:33 acarrico [~acarrico@pppoe-68-142-54-117.gmavt.net] has joined #scheme 23:52:20 zorblek [~morganmay@50-47-169-35.evrt.wa.frontiernet.net] has joined #scheme