00:25 (join) jonrafkind 01:39 (join) Matrox 01:40 (quit) neilv: Quit: Leaving 01:40 (quit) Matrox: Client Quit 01:48 (quit) evhan: Read error: Connection reset by peer 02:06 (quit) shkk: 02:10 (quit) jonrafkind: Ping timeout: 248 seconds 02:35 (quit) hellmage: Ping timeout: 260 seconds 02:35 (join) masm 02:42 (join) hellmage 03:04 (quit) Spewns: Quit: Leaving. 03:17 (join) evhan 04:17 (join) hanDerPeder 04:23 (quit) evhan: Ping timeout: 258 seconds 04:59 (quit) jao: Ping timeout: 245 seconds 05:39 (join) jao 05:46 Lajla: chandler, explain to me how continuation passing style may help a Scheme compiler. 05:46 Lajla subscribes to chandler's teachings 05:49 Lajla: From what I understand you get TCO and continuations for free and you seem to have no call stack / heap, but methinks to implement it in some intermediate language, that language needs to have some form of TCO on itself or it overflows. 05:55 (join) Spewns 06:06 (quit) Spewns: Quit: Leaving. 07:35 (part) hellmage 09:50 (join) b-man 09:53 (join) shkk 09:58 samth: Lajla, read "compiling with continuations", by appel 10:03 Lajla: samth, does this channel consider it unethical to leech it rather than pay for it? 10:04 Lajla: samth, I see it is intended for an SML compiler, that doesn't matter that much I take? 10:06 samth: Lajla, I wouldn't steal from Andrew Appel 10:07 samth: the relevant issues are mostly the same for SML and Scheme 10:07 Lajla: samth, why him in perticular? 10:09 samth: no, i don't mean that i wouldn't steal from him in particular 10:09 samth: i'm just pointing out that it's a particular person, who's done impressive research, who you would be stealing from 10:14 Lajla: Well, to be honest, I don't see that as very relevant to pay a man, more if that man has a reasonable living on its own. For instance, I would sooner give money to the murderer of my sister if he has little to eat rather than to Nelson Mandela, who seems to have enough, but this is for ##politics I guess. 10:14 samth: Lajla, you're a very strange person 10:16 Lajla: samth, you get no argument from me here I guess, I've found that my ideas and praeferences seldom collide with other people I meet. 10:21 stamourv: Lajla: as a starting point, if you're opposed to buying books, would be the paper "continuation passing style, closure passing style", also by Appel 10:21 stamourv: it is freely available 10:22 Lajla: stamourv, I'll check that too I guess, though I never said that I am opposed to buying books per se. 10:23 stamourv: but the book is definitely worth it 10:24 Lajla: stamourv, hmm, maybe, but I don't like reading on paper, it misses the essential property of controlling font size I guess. 10:25 Lajla: So maybe I'll just download it and pay him anyway via some mechanism. 10:28 Lajla: samth: "It has higher-order functions, meaning that a function can be passed as an 10:28 Lajla: argument and returned as the result of another function—as in Scheme, C, 10:28 Lajla: and Haskell, but not Pascal and Lisp." 10:28 Lajla: Oh fuck, sorry, it put endlines in there. 10:31 (quit) masm: Read error: Connection timed out 10:33 (join) masm 10:44 (join) Gwyth 10:58 (quit) masm: Read error: Connection timed out 11:12 (quit) hanDerPeder: Ping timeout: 276 seconds 11:17 (join) Spewns 11:45 (join) jonrafkind 12:02 (quit) jao: Ping timeout: 265 seconds 12:16 (join) hanDerPeder 12:45 (quit) shkk: 12:49 (quit) hanDerPeder: Quit: hanDerPeder 12:59 (join) hanDerPeder 13:16 (quit) Spewns: Quit: Leaving. 13:43 (join) carleastlund 14:18 (join) anRch 14:26 (join) Spewns 14:51 Lajla: samth, reading this though seems to imply that the tactics might have some problem with a call-by-need/name model, is that correct? 15:13 (quit) Spewns: Quit: Leaving. 15:14 samth: Lajla, call-by-need would require a different compilation strategy 15:19 Lajla: samth, well, 'tis an interesting read regardless 15:28 chandler: Lajla: The classic explanation of how CPS is useful as a program representation for Scheme compilers is David Kranz's thesis describing the ORBIT compiler: http://repository.readscheme.org/ftp/papers/orbit-thesis.pdf 15:28 chandler: It's well-written and very readable. 15:31 tewk: /whois chandler 15:32 samth: tewk, i think you have an extra space there :) 15:32 Lajla: tewk, he is my lord and master since I subscribed to his tecahings 15:32 Lajla: chandler, this article starts with the bold claim that it's better than most of the other compilers already. =) 15:33 chandler: At the time that was written, that was a justifiable claim. 15:34 Lajla: chandler, hmm, Scheme was compiled worse than it could for a long time? 15:34 Lajla: chandler, so the CPS is really a major asset to compiling functional anguages? 15:35 chandler: I'm not sure how to parse your first question. Compilers in the wild are hardly as good as they theoretically could be. 15:37 chandler: CPS is a useful representation on which to define program optimizations. There are other representations that are widely used, such as the closely-related ANF and the SSA form. 15:37 Lajla: Well, my quaestions in this channel do have to traverse the nigh impenetrable sea of lajla -> chandler it seems. 15:38 Lajla: How efficient is Pascall by the way, in terms of C? 15:38 Lajla: Let's C C as c and express speed in terms of C as they do in physics. 15:41 chandler: Well, ISO Pascal is 98 pages long, and ISO C99 is 550 pages. Weight is the enemy of speed (as Colin Chapman said, "add lightness"). Therefore, Pascal is over 5 times faster than C. 15:43 Lajla: I suppose I sort of defeat my own point yeah when I always say that fundamentally speed is a property of c ompilers and not of languages. 15:43 Lajla: But that would mean that lambda calculus is pretty fast. 15:43 Lajla: And brainfuck 15:58 carleastlund: The lambda calculus is really fast if all you want to do is beta reductions. Encoding other computations in it is where it gets painful. 15:58 (join) jao 16:00 clklein: But, come on, who does those other things? 16:01 Lajla: clklein, I thought you designed trendy men's wear in lambda calculus 16:01 carleastlund: Who knows, people do all kinds of crazy things. 16:02 clklein: like eta reductions? 16:02 Lajla: Clickwheelcalculus is even more minimal, you assign every turing computable function a natural number, all your programs are just a few billion clicks away! 16:03 clklein: Do you try to assign the more useful programs shorter numbers? 16:04 Lajla: clklein, sure, Mac OS X 10.5 is 0, HEllo World is 1. 16:05 (quit) anRch: Quit: anRch 16:06 clklein: Can we make Racket 6.0 be 2 so that we're almost done? 16:12 carleastlund: Let me slip in a request for "infinite Turing machine oracle" before all the natural numbers are taken. 16:14 Lajla: carleastlund, yes, natural numbers do have a tendency to run out and be finite after all. 16:15 Lajla: Especially in computers 16:15 carleastlund: Yeah, I wouldn't want to click so many times I wrapped around and got "negative Hello World". 16:16 (quit) paul_stansifer: Quit: Page closed 16:17 (join) paul_stansifer 16:19 Gwyth: "negative Hello World" is "Goodbye World", I presume... 16:30 carleastlund: a.k.a. "global thermonuclear war" 16:31 clklein: Let's give that program a big number, just to be safe. 16:33 Gwyth: hmm... a transfinite number might do... 16:34 clklein: Yea, you'd have to be pretty bent on world destruction to clickwheel all the way to omega. 16:41 Lajla: Pffah, you philanthropes 16:41 Lajla: Nothing wrong with a little misanthrope and evil schieming I always say. 17:34 (quit) hanDerPeder: Quit: hanDerPeder 17:39 (join) hanDerPeder 18:16 (quit) Gwyth: Ping timeout: 240 seconds 19:02 (join) shkk 19:44 (join) Gwyth 20:12 (quit) hanDerPeder: Quit: hanDerPeder 20:20 (quit) carleastlund: Quit: carleastlund 20:56 (join) hellmage 21:07 (quit) b-man: Remote host closed the connection 21:12 (join) Spewns 21:27 (quit) jonrafkind: Read error: Operation timed out 21:57 (quit) Spewns: Remote host closed the connection 22:02 (join) jonrafkind 22:25 (quit) jonrafkind: Ping timeout: 240 seconds 22:37 (join) jonrafkind