00:00:16 I suspect most schemes with decent networking would be fine for IRC 00:01:36 offby1: well this isn't going to be a totally serious bot. It will just play a game of tic tac toe. 00:01:53 guile works with simply.scm, but racket does not. 00:02:16 rudybot, of course, is a totally serious bot. 00:02:16 *offby1: That would tend to be an upper bound on the number of real serious emacsers. 00:02:17 *offby1* nods gravely 00:02:27 rudybot: shut up, I wasn't talking to you. 00:02:28 *offby1: Shut up. That's a very sore point. 00:02:32 *gasp* 00:02:38 *offby1* smacks the bot 00:02:48 rudybot: are you a serious bot? 00:02:48 zacts: And to make what Jafet said more serious: note how PS/PDF (almost always) use some given measures rather than "fill up the width of the screen". 00:03:08 *offby1* smacks the bot again 00:03:11 MOOMMMM!!! 00:03:39 as you can see. Totally and completely serious. 00:03:57 ok! yeah. :-) hahaha 00:04:30 I guess I would prefer to run this program with racket than guile.. would you guys mind checking out the error I'm getting. 00:04:33 ? 00:05:10 http://www.eecs.berkeley.edu/~bh/downloads/simply/ 00:05:12 simply.scm 00:05:29 (load "simply.scm") ;; throws an error in racket 00:06:11 -!- ffio [~fire@unaffiliated/security] has quit [Ping timeout: 264 seconds] 00:06:33 ffio_ [~fire@unaffiliated/security] has joined #scheme 00:06:43 zacts: You might be better off with a more standard Scheme if you wish to use this. 00:07:11 -!- joneshf-work [~joneshf@mail.concordusapps.com] has quit [Remote host closed the connection] 00:07:18 I do not know anything about the available networking libraries for standard Scheme interpreters. 00:07:38 well, I need this to make my tic tac toe bot 00:07:54 I'm using guile for just personal projects thru simply scheme 00:20:56 bjz [~brendanza@125.253.99.68] has joined #scheme 00:30:42 kvda [~kvda@unaffiliated/kvda] has joined #scheme 00:41:41 -!- Fare [~fare@cpe-69-203-115-132.nyc.res.rr.com] has quit [Ping timeout: 248 seconds] 00:43:44 Fare [~fare@cpe-69-203-115-132.nyc.res.rr.com] has joined #scheme 00:49:01 wbooze [~wbooze@xdsl-78-35-134-241.netcologne.de] has joined #scheme 00:55:33 -!- Fare [~fare@cpe-69-203-115-132.nyc.res.rr.com] has quit [Ping timeout: 248 seconds] 01:11:27 pumpkin360 [~main@duu155.neoplus.adsl.tpnet.pl] has joined #scheme 01:11:36 Hi. 01:11:48 Hi, pumpkin360. 01:12:21 Is there a (preferably maintained) scheme implementation which got stuck with R5RS ? and does not try to go beyond that. 01:12:50 carleastlund: Hi, are You here all the time. Your are here every time I come.. 01:12:55 carleastlund: :) 01:13:18 I've been on a lot lately. I don't know how long the trend will last. 01:14:05 by "lately" You mean the past 3 moths? (that's more less how much I have been keen on scheme) 01:17:24 Nisstyre [~yours@oftn/member/Nisstyre] has joined #scheme 01:18:14 well, I should probably just stick with racket then. 01:23:57 Kruppe [~user@CPE602ad0938e9a-CM602ad0938e97.cpe.net.cable.rogers.com] has joined #scheme 01:26:37 b4283 [~b4283@116.59.238.162] has joined #scheme 01:27:08 should I try to keep my scheme code within 80 col, or does it really matter? 01:27:44 scheme seems to want to move more towards the right side than other languages 01:28:01 I do do pretty printing, which helps 01:28:49 jerryzhou [~jerryzhou@58.245.253.218] has joined #scheme 01:29:51 -!- kvda [~kvda@unaffiliated/kvda] has quit [Quit: z____z] 01:31:57 It doesn't matter. with 16:9 high resolution screens, now we have more than 300 columns to write code. 01:32:41 What matters is how you structure it, what abstractions you introduce to manage complexity. 01:32:47 ok cool 01:35:35 -!- Triclops256|away is now known as Triclops256 01:36:22 it's fascinating how little code is needed to make this tic tac toe program 01:39:24 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 01:39:45 pumpkin360: what do you want in an implementation "stuck with R5RS" ? 01:40:08 I imagine (some/all?) R6RS implementations support R5RS too 01:40:50 gambit is currently at R5RS. I don't know what are the plans re: R7RS 01:41:00 Code styles with respect to line width, name width, and indentation vary a lot, and affect each other. I stick to 80 columns, but that's because I break up my code into lots of modules and I prefer to have multiple files side-by-side on the screen. So the wider my screen, the more files I view rather than the longer lines I write. 01:43:23 -!- pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has left #scheme 01:44:12 zacts: Could I see the tic tac toe program? 01:48:52 pumpkin360: sure. http://www.eecs.berkeley.edu/~bh/ssch10/ttt.html 01:48:56 it's not standard scheme 01:48:58 you also need 01:49:11 -!- tenq|away is now known as tenq 01:49:11 http://www.eecs.berkeley.edu/~bh/downloads/simply/ 01:49:18 load simply.scm and ttt.scm 01:49:34 and I only got those files to work with guile 01:49:54 I'm going to make it into a simple bot 01:50:29 thx 01:51:47 zacts: Tic Tac Toe bots aren't so fun to create, I find it and similar things much simpler to do with imperative programming, anyone knows any aid for this? 01:52:59 some book which would make functional programming more fimilar for a person who is a hard imperative programer ? 01:54:21 pumpkin360: SICP? 01:54:39 arubin: SICP is awesome. 01:56:38 arubin: but I am somewhere around chapter 4 and still find some things much simpler to solve imperativelly, it will probably stay that way, but still want to learn more about "trying" to solve those problems functionally. 01:56:59 pumpkin360: Just keep doing the exercises. 01:57:50 How long have you been programming in an imperative manner? 01:58:08 arubin: I did. Done like 70% of them. But the books examples seem to show the places where scheme is elegant. 01:58:18 -!- acarrico [~acarrico@209.99.215.18] has quit [Remote host closed the connection] 01:58:32 arubin: making algorithmic programms since ~2 years. 01:59:28 Becoming comfortable with FP might require more than a few weeks or months. 01:59:56 -!- jerryzhou [~jerryzhou@58.245.253.218] has quit [Quit: Leaving] 02:00:18 arubin: things like manipulating a rectangular board (interesting for me because I would like to write AI) 02:01:20 arubin: I am able to do it in scheme just like it's done in C, but it just doesn't feel right. 02:03:56 -!- Triclops256 is now known as Triclops|away 02:04:05 -!- aranhoide [~smuxi@139.Red-79-155-209.dynamicIP.rima-tde.net] has quit [Ping timeout: 246 seconds] 02:06:24 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 02:07:00 pumpkin360: One thing that might help is following the HtDP "design recipe" steps rigorously. The unit tests especially are easy to wrap your head around and are a _real_ pain for imperative programs, with setup and teardown. Whereas unit tests for functional code are just (equal? (f inputs) output) 02:07:38 *zacts* can't wait until I start HTDP 02:08:04 *carleastlund* wonders why zacts can't make up his mind whether to refer to himself in the first or third person 02:09:18 *zacts* can't wait until he starts HTDP 02:09:23 carleastlund: funny. Got this message while reading (weechat-left|firefox-right) the HtDP preface (the second time) 02:10:13 carleastlund: almost ended SICP and reading it is no more effective so started something new. 02:11:04 -!- Triclops|away is now known as Triclops256 02:12:10 carleastlund: Remember the first time You adviced to read HtDP instead of SICP. Some people (me) are probably just not mature enough to do things in the right order. 02:13:00 Heh. :) I'm not an expert on SICP, so I don't know for a fact the relationship between them, but if SICP isn't getting you where you want to go, HtDP is certainly worth a shot. 02:13:34 ooh cool! https://github.com/erikfrey/bashreduce 02:14:44 przl_ [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has joined #scheme 02:15:33 carleastlund: SICP was a great book to read, but I lack the basic knowledge of (not sure how to say it avoiding quoting the title) how to design programs. So maybe it will really will be worth reading. 02:15:44 Yeah, SICP seems to take the approach of "here's how things work and here's some very simple examples". Based only on a very cursory skim, I don't see where they actually describe how to turn a problem statement into a recursive solution. I guess they hope practice and intuition will get you there? 02:16:29 I mean, all the stuff that _is_ in SICP is really interesting and good. But it sounds like what you're missing is exactly what's in HtDP, so now I'm more confident than before that you want to try HtDP next. 02:16:41 carleastlund: the examples and the way they solve them is awesome. 02:17:00 Well, sure, but if they don't show you how to do the same thing, it's like a trip through a museum. :) 02:17:42 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 02:17:43 is it like the difference between _what_ abstraction is, and _how_ to implement abstraction? 02:17:55 the latter is more challenging than the former imo 02:18:03 I think so, yes. 02:18:14 the first being SICP, and the latter being HTDP.. 02:18:32 no... 02:18:58 I was under the impression that HTDP was much easier. 02:19:07 The structure of SICP goes at absolutely breakneck speed. They assume a lot of sophistication on the part of the reader. I can see why a lot of people sort of bounce off it, and why others completely love it. It's a question of how you fare with the initial learning curve. 02:20:45 pumpkin360, arubin, zacts is not saying that HtDP has more challenging exercises, he's saying it takes on a more challenging pedagogical task. Both HtDP and SICP expect you to implement abstraction, which is the hard part, but SICP trusts the reader to figure it out on their own, whereas HtDP walks you through it step by step. 02:20:49 carleastlund: I didn't initially (before reading SICP) know any language well. Just used C++. But used C++ to solve algorithmic problems (on contest), and SICP was nice. 02:21:39 and had some mathematical background. 02:23:04 Don't think I can speak about parts I have not yet fully read but in chapter 4.. they start to just write well commented code :/ 02:23:24 -!- ffio_ [~fire@unaffiliated/security] has quit [Ping timeout: 240 seconds] 02:26:07 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 246 seconds] 02:28:14 but both book concentrate on programming and not scheme. What if I wanted to learn scheme? Just read R5RS ? (most answers I got suggested that) 02:29:45 pumpkin360: There are some books and other guides; two come to mind: Learn Scheme in Fixnum Days, Scheme and the Art of Programming 02:31:37 pumpkin360: http://www.scheme.com/tspl4/ 02:31:52 The first three chapters are a tutorial with exercises. 02:32:08 carleastlund: Thank You. Surely will try one of these. (already had some contact with fixnum days but not much) 02:32:23 Chapter 12 has more examples and exercises. 02:32:50 arubin: will also look on this book. 02:33:30 probably won't read all three but will try to get as much as I can from them. 02:34:33 I do not believe that Scheme and the Art of Programming is easy to obtain. 02:36:01 arubin: in pdf? Barely legal pdf? Well, even if so I don't yet have any paper book about scheme so it might be the right time to get the frist one. 02:36:16 I meant legally. 02:36:30 It is out of print and expensive. 02:37:21 expensive You say... well then, there are many other free books, that makes it less atractive. 02:37:32 -!- zacts [~zacts@unaffiliated/zacts] has quit [Quit: leaving] 02:38:46 Unless someone is aware of a free version online. 02:39:03 zacts [~user@unaffiliated/zacts] has joined #scheme 02:39:18 Free and legal that is. 02:39:26 I am sure that there are illegal copies available. 02:39:36 The other two are available for free online. 02:39:44 http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html 02:39:52 know 02:40:30 seen both before. scheme community website is well designed too, strange, isn't it ? 02:40:46 electromancer [~electroma@cpe-198-72-207-51.socal.res.rr.com] has joined #scheme 02:41:08 arubin: maybe we should write the author/publisher to release it online 02:42:01 aranhoide [~smuxi@195.Red-79-151-100.dynamicIP.rima-tde.net] has joined #scheme 02:42:07 that is not a bad idea taking in consideration that it is no longer printed. 02:43:50 I know Dan Friedman, I'll drop him a line and ask him about the availability. I suspect he'd have done something about it by now if he could, but I'll see. 02:44:10 cool =) 02:44:42 carleastlund: From pure curiosity, what's Your surname ? 02:45:08 pumpkin360, like in my user name: Carl Eastlund :) 02:45:45 (but it's a fair question, it could easily have been Carl E Astlund or something) 02:48:45 carleastlund: thanks. Was afraid that You might be the author of one some of the books we are talking about but this is not the case, so I don't have to worry so much :) 02:49:42 Nope. Some day, I might have a book to shamelessly plug on this channel, but not yet. :) 02:52:38 Ergative splergative shplork! 02:53:09 I used to think that, Riastradh, but I have since concluded that it is a fallacy. 02:53:19 zacts, writing code >80 columns makes it painful to read. Wide displays are great for having many columns, not for having columns that are so wide you lose track of what line you were on when your eye scans back to find the beginning of the next line. 02:53:44 looking forward to reading it, although I don't think writting books about scheme is profitable. You may be the one to finally make all programmers aware that they were doing everythin bad. And that Scheme is everything every programmer ever needed. 02:53:59 :) 02:54:17 The point of writing books about Scheme and related topics is neither to get rich, nor to change the whole world in one go. 02:55:53 ok. 4:55 AM, time to go to bed. good night. 02:55:54 Ahem. 02:56:13 Riastradh: ok, I see 02:56:17 `are great for having many windows, not for having windows that are so wide' 02:56:28 Well, I guess `column' works there too but in a different sense. 02:56:42 (column of code, vs character cell column) 02:57:55 I've also seen arguments as to the "optimal width" for code -- 45 columns, 60, 80, 120, 200 personally, I think if you're going to pick a maximum width, one is about as good as another, and so it might as well be 80 for consistency's sake. But if your code is exploratory and only for yourself, for now just figure out what you find readable. 02:59:14 well, I would think that an editor is a necessary aid even when reading scheme code 02:59:24 I use less to read code most of the time. 02:59:43 wow, interesting 03:00:04 well I guess you do see things in chunks with pretty printing 03:00:14 -!- pumpkin360 [~main@duu155.neoplus.adsl.tpnet.pl] has quit [Ping timeout: 240 seconds] 03:00:55 zacts: are you talking about reading scheme code or scheme values? 03:03:21 -!- Triclops256 is now known as Triclops256|away 03:03:39 what do you mean by scheme values? 03:03:46 reading scheme code 03:03:57 rudybot: eval (list 'x 'y 'z) 03:03:58 Riastradh: your sandbox is ready 03:03:59 Riastradh: ; Value: '(x y z) 03:03:59 zacts: then how does pretty printing come into it? 03:04:13 carleastlund means (list 'x 'y 'z) [code] versus (x y z) [values]. 03:04:43 ah ok 03:04:59 I meant reading scheme code. 03:05:49 but let's not dwell on it.. I was rambling a bit. got distracted because I was eating a snack. 03:05:53 :-) 03:05:59 haha, no problem. :) 03:08:25 cool, I have column 80 lightly highlighted in my editor 03:21:37 *poof* 03:30:01 -!- dessos [~dessos@c-174-60-176-249.hsd1.pa.comcast.net] has left #scheme 03:30:43 karswell` [~user@87.114.19.117] has joined #scheme 03:34:31 -!- karswell [~user@34.94.125.91.dyn.plus.net] has quit [Ping timeout: 260 seconds] 03:45:24 -!- tcsc [~tcsc@c-76-127-240-20.hsd1.ct.comcast.net] has quit [Quit: bye!] 03:54:09 ffio [~fire@unaffiliated/security] has joined #scheme 04:00:44 Fare [~fare@cpe-69-203-115-132.nyc.res.rr.com] has joined #scheme 04:09:48 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 04:12:44 jerryzhou [~jerryzhou@58.245.253.218] has joined #scheme 04:24:21 -!- przl_ [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has quit [Ping timeout: 256 seconds] 04:26:48 -!- kobain [~kobian@unaffiliated/kobain] has quit [Quit: El motor por excelencia http://www.europio.org/] 04:27:08 kobain [~kobian@unaffiliated/kobain] has joined #scheme 04:27:08 -!- kobain [~kobian@unaffiliated/kobain] has quit [Client Quit] 04:31:22 wait so how is haskell purely functional if it has monads? 04:36:37 brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has joined #scheme 04:39:52 zacts: Perhaps you could find a section on Monads in a beginner Haskell tutorial; it might give you the answer (not because I'm telling you to go away but because I don't know) 04:40:06 zacts: by my limited understanding, monads accept as a parameter the state of the world and return a new, modified state of the world (which can then be passed to other monads) 04:40:30 so they don't have side-effects, but they still achieve state modification by returning a new, modified state 04:41:01 (although i'm not at haskell programmer, so someone more familiar might have a better answer) 04:41:06 ok, interesting 04:42:50 my vague understanding from not being a haskeller concurs. although i think there is more to the story than just that. 04:43:02 they're also burritos. 04:45:07 carleastlund: i finished the seasoned schemer tonight. i felt a bit ripped-off by the last chapter, however, i must admit 04:45:51 What's the last chapter? 04:45:53 they implement call/cc in terms of the host language's call/cc which leaves something to be desired. 04:46:16 it's a meta-circular interpreter for the whole language, including define, set! and call/cc, which were left out of the first book. 04:46:49 So you were hoping for call/cc purely in terms of lambda? 04:47:29 Yeah, that probably would've been more interesting. Being "meta-circular" is a bizarre and, I think, largely pointless distinction. 04:48:09 yes. call/cc in terms of lambda calculus would have been vastly more interesting. 04:48:23 maybe it's too much code to cram into one chapter or something, who knows 04:48:39 still a great book. the sequel always has a hard time living up to the original, i guess :) 04:49:49 looking forward to Will Byrd's reasoned schemer. 04:50:18 przl [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has joined #scheme 04:54:33 tabemann [~travisb@adsl-76-199-154-91.dsl.milwwi.sbcglobal.net] has joined #scheme 04:54:44 I've got a little question 04:54:52 I've got a big answer 04:55:36 I'm implementing a Scheme (R5RS), and I'm wondering about the exact scoping of defines - are all defines defined instantaneously upon loading code regardless of their order, or do individual defines only see defines already defined? 04:56:21 tabemann: they are executed in order, but old ones can see new ones once the new ones are executed. 04:56:44 Basically the top-level namespace is mutable, so you just keep adding or updating bindings as you see definitions. 04:56:50 so their name bindings are evaluated at runtime? 04:57:16 For top-level names, yes. Lexically bound names can be statically resolved. 04:58:33 hmmm... that makes it seem like I might need to use a hashtable for looking up top-level names efficiently in code, as I won't be able to compile all top-level names into specific bindings ahead of time... 04:59:41 Are you implementing the macro system, or just macro-free Scheme? If you have macros, I think a hash table might not be good enough, because you need to account for hygienically bound names from macros. 05:00:14 I was planning on implementing the macro system, even though I'd probably wait till I had the core of it already implemented and working 05:00:16 (Or, well your hash table will need to be keyed on more than symbolic names.) 05:01:14 that isn't a problem (I can just create a new instance of Hashable for name bindings) 05:01:20 I'd suggest just using an association list for an initial implementation, and add something faster like a tree or a hash table when you need it. 05:01:29 -!- ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has quit [Ping timeout: 268 seconds] 05:02:15 Hash tables aren't necessarily the best dictionary structure for identifiers. I've run into some performance problems using them in Racket. Really hygienic identifiers need their own special dictionaries. But, well you'll learn lots about them if you implement the macro system. 05:02:50 ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has joined #scheme 05:03:30 hmm 05:04:02 I'm thinking of using a hash table for a first-time lookup, and then saving a index derived from that into an array containing values for later lookups 05:05:26 I'm confused about how that works. 05:06:39 yeah i don't follow that last-mentioned data structure either 05:07:11 I mean I basically have an array containing my actual bindings, and my hash table only contains indices into that array, so when initially referencing a top-level name I look up the identifier in the hash table, which points at an index in the array, and then I patch the virtual instruction to just look at the array next time 05:07:49 doing a set! on the name would just modify the contents of the appropriate cell in the array 05:07:54 "patch the virtual instruction"? Patch it where? I don't think there's any way you can escape having to compute and look up hash values. 05:09:01 If you can do that, I don't think you need a hash table at all. It sounds like you're keeping a mutable cell in every symbol for its definition as a top-level name. Which you can do, in the macro-free version of things, and you wouldn't need any table at all, other than the symbol interning table. 05:09:06 patch it in my VM code in memory 05:09:50 the need for the hash table is due to the names being late-bound, i.e. when I am originally generating VM instructions for code I don't know where later-defined names will be in the top-level name array 05:10:09 what type of language are you doing your implementation in? 05:10:14 Haskell 05:10:29 tabemann: the point of the mutable namespace is that you can't "patch" the instructions, at any point a new definition might change the binding of the name. It's never fixed. 05:10:36 and you're compiling to an IR that you're then interpreting with a custom VM? 05:11:06 carleastlund is right. i just read about it today. :) 05:11:07 -!- Triclops256|away [~Triclops2@Powder/Developer/Triclops200] has quit [Quit: ZNC - http://znc.in] 05:11:11 carleastlund: when the name is modified later, it would just change the mutable array containing the actual values, and not the hash table pointing at the array, which would only map names to indices 05:11:32 brianmwaters: yeah 05:12:04 So you have a growable, mutable array, and you're allocating definitions into it. Hmm okay! That works. Nicely done! And thanks for explaining it. 05:12:07 oh i see, so the array is an array of mutable containers for values. the hash table is (name) -> (index into the array) 05:12:17 weie_ [~eie@softbank221078042071.bbtec.net] has joined #scheme 05:12:37 Triclops256 [~Triclops2@Powder/Developer/Triclops200] has joined #scheme 05:12:54 what happens when you re-hash? 05:13:08 all your "patched" indices that are scattered around the program are now invalid. 05:13:21 No they aren't, because they aren't indices into the hash table. 05:13:35 They're indices into a fixed-order array in the VM, that doesn't get rehashed. 05:13:37 -!- weie [~eie@softbank221078042071.bbtec.net] has quit [Ping timeout: 248 seconds] 05:13:40 yeah 05:14:25 ooh yes. 05:14:30 nifty. 05:14:47 why haven't i heard of this before? it sounds useful. 05:17:11 i think in a language without mutability, you could do it without the array. 05:17:27 you could just "patch" in pointers to the mutable container 05:17:32 however you 05:17:37 're doing the "patching" 05:17:39 well... Haskell actually does have mutability - but you're just stuck working in the IO, ST, or STM monads with it 05:18:02 yeah i don't know too much about that 05:19:00 Haskell is a much more imperative language than people think, even though they do like to promote its being a "pure" language 05:22:10 macro question 05:22:23 They have a lot of tools that allow the runtime to perform imperative actions by making you sort of simulate them in the program. But it doesn't have anything that allows you to freely use mutation alongside functional code the way Scheme and ML can. 05:22:42 of course 05:23:19 Which is why it's still a pure language, and a pain to do imperative things in, even though it technically can. 05:23:35 you basically create IO/ST/STM actions representing side effects and associated values and compose them together into bigger actions, that you ultimately either return to the runtime (for IO), feed into runST (for ST), or feed into atomically (for STM) 05:24:02 tcleval [~funnyguy@177.207.151.150.dynamic.adsl.gvt.net.br] has joined #scheme 05:24:14 hi, any web frameworks in scheme? 05:24:25 ST is nice because you *can* use it in pure code, so as to basically embed imperative computations within pure code 05:24:51 (it uses type system magic to keep side effects from escaping from ST) 05:24:59 tcleval: Racket has lots of web stuff, I'm no expert on that aspect of things, but whatever you're looking for is probably there. 05:25:51 wow interesting stuff 05:26:12 carleastlund: I've heard serious arguments that Haskell really is imperative because many of the common explanations of how IO works in Haskell don't properly take into account concurrency, which does act as if it were truly imperative 05:26:29 and then there's the infamous unsafePerformIO... 05:27:07 at some point, the distinctions of imperative and purely functional are going to break down. 05:27:13 tabemann: yes, most program invariants break down in corner cases, and almost all have back doors. 05:27:24 brianmwaters: I don't see how that statement makes any sense. 05:27:33 tabemann: you had a macro question? 05:27:37 yes 05:27:55 how exactly are names bound in hygienic macros typically represented? 05:28:34 i gave a talk on untyped lambda calculus, using an interpreter i wrote in scheme, and after the talk we launched into this long-winded discussion of "are things really purely functional when they run on top of CPU's in the end?" and people started talking about lisp machines and these new purported "immutable" FPGA's 05:28:39 but it was all kind of nonsense 05:28:40 tabemann: you want to read Kent Dybvig's paper, Syntactic Abstraction in Scheme. It's not the most approachable paper, sadly, but it is the right representation to use. 05:29:09 -!- tessier_ [~treed@kernel-panic/copilotco] has quit [Ping timeout: 246 seconds] 05:29:39 brianmwaters: imperative CPUs can absolutely implement pure functional programs. Any claims otherwise are gravely misinformed. 05:29:41 at the end of the day "immutable" or "pure" is just a way you characterize an abstraction you're using 05:29:50 tessier [~treed@kernel-panic/copilotco] has joined #scheme 05:30:27 brianmwaters: at the end of the day "1" and "2" and "3" and "1,357" are just a way you characterize an abstraction of the quantity of things. Yet they are still absolutely, mathematically precise. 05:30:38 brianwaters: I've heard complaints w.r.t. Haskell that it loses referential transparency in many places in practice, e.g. the semantics of mathematical operations are not predictable at compile-time, and of course one can never determine whether code will terminate or not *even if one uses rules like those used by Agda to ensure termination*, because they can always run out of memory 05:30:44 -!- Kruppe [~user@CPE602ad0938e9a-CM602ad0938e97.cpe.net.cable.rogers.com] has quit [Remote host closed the connection] 05:30:52 and you can do the semantics or the implementation in either a pure or an impure way, but it doesn't matter because that's below the abstraction you're working in. 05:31:31 (unless of course the abstraction you're working in allows for mutability, such as in SML or Scheme. but in this case that wasn't the case) 05:33:41 example: when you think about shadowing in scheme (defining an already-defined identifier), that can be done either by mutating the previous definition, or by doing a nested set of name bindings in the manner of let*. and it doesn't matter which way you do it because they both have the same effect. 05:34:07 Yes, any conclusion you make about a system is going to be based on what observations about that system you consider. If you look at the values produced by a Haskell implementation, you must conclude that it is purely functional. If you allow yourself to observe an implementation at the C or assembler level, you may then see things changing in imperative ways. But that doesn't mean that Haskell is impure it 05:34:07 means the C implementation of Haskell is impure. Changing the set of observations basically means you're observing a different system. 05:34:34 -!- hiroaki [~hiroaki@132.176.181.134] has quit [Quit: Ex-Chat] 05:35:05 brianmwaters: Your example sounds false to me. Two functions that refer to each other are going to behave differently under those two implementations. 05:36:01 If you bind things like let*, the first one will never be able to refer to the second. With mutation, it will. 05:36:37 -!- tabemann [~travisb@adsl-76-199-154-91.dsl.milwwi.sbcglobal.net] has quit [Ping timeout: 248 seconds] 05:37:29 -!- arubin [~arubin@99-114-192-172.lightspeed.cicril.sbcglobal.net] has quit [Quit: Textual IRC Client: www.textualapp.com] 05:38:11 -!- brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has quit [Ping timeout: 250 seconds] 05:48:10 -!- ecloud_ [~quassel@cm-84.208.147.184.getinternet.no] has quit [Remote host closed the connection] 05:49:21 tabemann [~travisb@adsl-69-217-164-123.dsl.milwwi.ameritech.net] has joined #scheme 05:49:57 -!- jerryzhou [~jerryzhou@58.245.253.218] has quit [Quit: Leaving] 05:50:35 miql [~miql@ip24-56-50-178.ph.ph.cox.net] has joined #scheme 05:54:13 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 05:56:24 -!- ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has left #scheme 05:57:24 -!- robot-be` is now known as robot-beethoven 05:59:53 trusktr [~trusktr@c-76-114-26-222.hsd1.ca.comcast.net] has joined #scheme 06:02:50 -!- igotnole_ [~igotnoleg@65-130-102-30.slkc.qwest.net] has quit [Quit: Textual IRC Client: http://www.textualapp.com/] 06:04:19 igotnolegs- [~igotnoleg@67-2-58-143.slkc.qwest.net] has joined #scheme 06:05:26 -!- tessier [~treed@kernel-panic/copilotco] has quit [Ping timeout: 240 seconds] 06:13:05 tessier [~treed@kernel-panic/copilotco] has joined #scheme 06:13:31 brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has joined #scheme 06:13:57 sorry, i had some bizarre network issue. i was typing over you guys, because i couldn't see what you were saying. just caught up in the logs 06:14:00 -!- aranhoide [~smuxi@195.Red-79-151-100.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 06:14:11 carleastlund: you are right about the mutual recursion. 06:14:31 but absent of that i was searching for a simple example. 06:18:36 igotnole_ [~igotnoleg@65-130-102-30.slkc.qwest.net] has joined #scheme 06:21:17 -!- igotnolegs- [~igotnoleg@67-2-58-143.slkc.qwest.net] has quit [Ping timeout: 246 seconds] 06:21:24 -!- igotnole_ is now known as igotnolegs- 06:29:05 gravicappa [~gravicapp@ppp91-77-183-101.pppoe.mtu-net.ru] has joined #scheme 06:34:38 -!- tcleval [~funnyguy@177.207.151.150.dynamic.adsl.gvt.net.br] has quit [Ping timeout: 240 seconds] 06:34:45 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 248 seconds] 06:36:43 -!- brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has quit [Quit: Page closed] 06:44:55 -!- miql [~miql@ip24-56-50-178.ph.ph.cox.net] has quit [Ping timeout: 276 seconds] 06:45:01 MrFahrenheit [~RageOfTho@77.221.25.95] has joined #scheme 06:45:28 -!- robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 06:45:57 robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has joined #scheme 06:46:31 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [Read error: Connection reset by peer] 06:46:57 MrFahrenheit [~RageOfTho@77.221.25.95] has joined #scheme 07:02:40 miql [~miql@ip24-56-50-178.ph.ph.cox.net] has joined #scheme 07:07:40 -!- Fare [~fare@cpe-69-203-115-132.nyc.res.rr.com] has left #scheme 07:13:27 -!- youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has quit [Ping timeout: 246 seconds] 07:16:07 ryoshu [~user@unaffiliated/ryoshu] has joined #scheme 07:17:09 jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has joined #scheme 07:17:53 -!- miql [~miql@ip24-56-50-178.ph.ph.cox.net] has quit [Ping timeout: 240 seconds] 07:20:52  07:25:23 -!- xilo [~xilo@107-209-248-232.lightspeed.austtx.sbcglobal.net] has quit [Ping timeout: 264 seconds] 08:00:09 -!- racycle [~racycle@75-25-129-128.lightspeed.sjcpca.sbcglobal.net] has quit [Remote host closed the connection] 08:23:26 pjb` [~t@90.24.241.80] has joined #scheme 08:24:59 jyc_ [~jyc@173.245.6.163] has joined #scheme 08:25:02 pothos_ [~pothos@36-224-96-117.dynamic-ip.hinet.net] has joined #scheme 08:26:19 gluegadg1t [~amir@li346-83.members.linode.com] has joined #scheme 08:26:26 rudybot_ [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has joined #scheme 08:26:39 antoszka_ [~antoszka@unaffiliated/antoszka] has joined #scheme 08:27:27 epsylon` [~epsylon@abbaye.thele.me] has joined #scheme 08:28:01 przl_ [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has joined #scheme 08:29:37 -!- bjz [~brendanza@125.253.99.68] has quit [Quit: Leaving...] 08:30:26 -!- przl [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has quit [*.net *.split] 08:30:26 -!- b4283 [~b4283@116.59.238.162] has quit [*.net *.split] 08:30:26 -!- wbooze [~wbooze@xdsl-78-35-134-241.netcologne.de] has quit [*.net *.split] 08:30:26 -!- jaimef [jaimef@dns.mauthesis.com] has quit [*.net *.split] 08:30:26 -!- pjb [~t@90.24.241.80] has quit [*.net *.split] 08:30:27 -!- pothos [~pothos@36-224-96-117.dynamic-ip.hinet.net] has quit [*.net *.split] 08:30:27 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [*.net *.split] 08:30:27 -!- YoungFrog [~youngfrog@geodiff-mac3.ulb.ac.be] has quit [*.net *.split] 08:30:27 -!- tizoc [~user@unaffiliated/tizoc] has quit [*.net *.split] 08:30:27 -!- epsylon [~epsylon@abbaye.thele.me] has quit [*.net *.split] 08:30:27 -!- yosafbridge [~yosafbrid@li125-242.members.linode.com] has quit [*.net *.split] 08:30:27 -!- waxysubs` [hope3@world.peace.net] has quit [*.net *.split] 08:30:28 -!- jyc [~jyc@173.245.6.163] has quit [*.net *.split] 08:30:28 -!- gluegadget [~amir@unaffiliated/gluegadget] has quit [*.net *.split] 08:30:28 -!- entitativity [~entity@c-50-136-180-20.hsd1.ca.comcast.net] has quit [*.net *.split] 08:30:28 -!- rudybot [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has quit [*.net *.split] 08:30:28 yosafbridge` [~yosafbrid@li125-242.members.linode.com] has joined #scheme 08:30:31 -!- pothos_ is now known as pothos 08:31:25 daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has joined #scheme 08:32:28 arbscht_ [~arbscht@fsf/member/arbscht] has joined #scheme 08:34:04 clog_ [~nef@bespin.org] has joined #scheme 08:35:53 tizoc` [~user@70.87.222.112] has joined #scheme 08:35:54 -!- arbscht [~arbscht@fsf/member/arbscht] has quit [Ping timeout: 246 seconds] 08:35:54 -!- microcode [~microcode@unaffiliated/microcolonel] has quit [Ping timeout: 246 seconds] 08:35:55 -!- carleastlund [~carleastl@209-6-40-238.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: carleastlund] 08:36:03 jao` [~jao@55.Red-79-148-157.dynamicIP.rima-tde.net] has joined #scheme 08:36:06 -!- jao` [~jao@55.Red-79-148-157.dynamicIP.rima-tde.net] has quit [Changing host] 08:36:06 jao` [~jao@pdpc/supporter/professional/jao] has joined #scheme 08:36:22 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 08:36:27 microcode [~microcode@bas1-toronto04-1176392373.dsl.bell.ca] has joined #scheme 08:36:57 SeySayux_ [SeySayux@libsylph/developer/seysayux] has joined #scheme 08:37:48 b4283 [~b4283@116.59.238.162] has joined #scheme 08:37:54 jyc [~jyc@173.245.6.163] has joined #scheme 08:37:56 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 246 seconds] 08:38:03 entitativity [~entity@c-50-136-180-20.hsd1.ca.comcast.net] has joined #scheme 08:38:10 joneshf-laptop_ [~joneshf@c-98-208-36-36.hsd1.ca.comcast.net] has joined #scheme 08:38:36 ffio_ [~fire@unaffiliated/security] has joined #scheme 08:38:57 -!- ffio [~fire@unaffiliated/security] has quit [Read error: Connection reset by peer] 08:41:52 pumpkin360 [~main@aggv155.neoplus.adsl.tpnet.pl] has joined #scheme 08:42:54 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 08:43:11 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 08:44:26 inarru_ [~edwardgeo@nest.insectsarerubbish.org] has joined #scheme 08:44:44 -!- b4283 [~b4283@116.59.238.162] has quit [Remote host closed the connection] 08:44:59 tizoc [~user@unaffiliated/tizoc] has joined #scheme 08:45:11 Aethaery1 [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #scheme 08:46:02 -!- tizoc` [~user@70.87.222.112] has quit [*.net *.split] 08:46:02 -!- jyc_ [~jyc@173.245.6.163] has quit [*.net *.split] 08:46:02 -!- userzxcvasdf [~neutral_a@c656847C1.dhcp.as2116.net] has quit [*.net *.split] 08:46:03 -!- cdidd [~cdidd@128-68-27-60.broadband.corbina.ru] has quit [*.net *.split] 08:46:03 -!- Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [*.net *.split] 08:46:03 -!- joneshf-laptop [~joneshf@c-98-208-36-36.hsd1.ca.comcast.net] has quit [*.net *.split] 08:46:03 -!- SeySayux [SeySayux@libsylph/developer/seysayux] has quit [*.net *.split] 08:46:03 -!- joast [~rick@76.178.135.192] has quit [*.net *.split] 08:46:03 -!- clog [~nef@bespin.org] has quit [*.net *.split] 08:46:04 -!- inarru [~edwardgeo@nest.insectsarerubbish.org] has quit [*.net *.split] 08:46:11 ffio [~fire@unaffiliated/security] has joined #scheme 08:46:50 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [Write error: Connection reset by peer] 08:47:12 MrFahrenheit [~RageOfTho@77.221.25.95] has joined #scheme 08:48:25 -!- pumpkin360 [~main@aggv155.neoplus.adsl.tpnet.pl] has quit [Ping timeout: 268 seconds] 08:48:27 fgudin_ [fgudin@178.63.35.194] has joined #scheme 08:48:32 rudybot__ [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has joined #scheme 08:49:17 userzxcvasdf [~neutral_a@c656847C1.dhcp.as2116.net] has joined #scheme 08:49:17 joast [~rick@76.178.135.192] has joined #scheme 08:49:18 -!- Aethaery1 is now known as aeth 08:50:26 pumpkin360 [~main@aggv155.neoplus.adsl.tpnet.pl] has joined #scheme 08:50:35 -!- ohama [ohama@cicolina.org] has quit [Disconnected by services] 08:51:12 ohama [ohama@cicolina.org] has joined #scheme 08:54:48 -!- ffio_ [~fire@unaffiliated/security] has quit [*.net *.split] 08:54:48 -!- rudybot_ [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has quit [*.net *.split] 08:54:49 -!- fgudin [fgudin@odin.sdf-eu.org] has quit [*.net *.split] 08:54:49 -!- jrapdx [~jra@c-98-246-145-216.hsd1.or.comcast.net] has quit [*.net *.split] 08:54:50 -!- marienz [~marienz@freenode/staff/marienz] has quit [*.net *.split] 08:57:03 b4283 [~b4283@116.59.245.110] has joined #scheme 09:02:59 strmpnk_ [strmpnk@gateway/shell/ircrelay.com/x-offscltpowhztkne] has joined #scheme 09:03:52 userzxcv_ [~neutral_a@c656847C1.dhcp.as2116.net] has joined #scheme 09:06:41 -!- gjord [~gjord@ool-18babf32.dyn.optonline.net] has quit [*.net *.split] 09:06:42 -!- sethalves [~user@headache.hungry.com] has quit [*.net *.split] 09:06:42 -!- BobuSumisu [~oyvind@oyvind.in] has quit [*.net *.split] 09:06:42 -!- strmpnk [strmpnk@gateway/shell/ircrelay.com/x-nhwtsoceiafwmine] has quit [*.net *.split] 09:06:43 -!- userzxcvasdf [~neutral_a@c656847C1.dhcp.as2116.net] has quit [*.net *.split] 09:06:43 -!- joast [~rick@76.178.135.192] has quit [*.net *.split] 09:06:44 -!- nmeum [~nmeum@2a00:12c0:1015:123::] has quit [*.net *.split] 09:06:44 -!- eMBee [~eMBee@foresight/developer/pike/programmer] has quit [*.net *.split] 09:06:44 -!- ggherdov [uid11402@gateway/web/irccloud.com/x-krqrhkkvgfqiuopk] has quit [*.net *.split] 09:06:45 -!- weinholt [weinholt@debian/emeritus/weinholt] has quit [*.net *.split] 09:06:45 -!- wrl [~wrl@don.gs] has quit [*.net *.split] 09:06:46 -!- asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has quit [*.net *.split] 09:06:46 -!- shardz [~samantha@ilo.staticfree.info] has quit [*.net *.split] 09:06:47 -!- ec_ [~elliottca@ell.io] has quit [*.net *.split] 09:06:47 -!- zbigniew [~zb@3e8.org] has quit [*.net *.split] 09:06:47 -!- ohama [ohama@cicolina.org] has quit [*.net *.split] 09:06:47 -!- rudybot__ [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has quit [*.net *.split] 09:06:47 -!- fgudin_ [fgudin@178.63.35.194] has quit [*.net *.split] 09:06:47 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [*.net *.split] 09:06:47 -!- ffio [~fire@unaffiliated/security] has quit [*.net *.split] 09:06:48 -!- jyc [~jyc@173.245.6.163] has quit [*.net *.split] 09:06:48 -!- antoszka_ [~antoszka@unaffiliated/antoszka] has quit [*.net *.split] 09:06:49 -!- cosmez [~cosmez@200.92.100.68] has quit [*.net *.split] 09:06:50 -!- em [~em@unaffiliated/emma] has quit [*.net *.split] 09:06:50 -!- acieroid [~acieroid@wtf.awesom.eu] has quit [*.net *.split] 09:06:50 -!- cpach_ [~cpach@h125n2-veo-a11.ias.bredband.telia.com] has quit [*.net *.split] 09:06:50 -!- micro` [~micro@ec2-50-16-189-142.compute-1.amazonaws.com] has quit [*.net *.split] 09:06:51 -!- jao` [~jao@pdpc/supporter/professional/jao] has quit [*.net *.split] 09:06:51 -!- daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has quit [*.net *.split] 09:06:51 -!- przl_ [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has quit [*.net *.split] 09:06:51 -!- pothos [~pothos@36-224-96-117.dynamic-ip.hinet.net] has quit [*.net *.split] 09:06:52 -!- Natch [~Natch@c-10cfe155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [*.net *.split] 09:06:53 -!- araujo [~araujo@gentoo/developer/araujo] has quit [*.net *.split] 09:06:53 -!- jkraemer [jkraemer@nat/google/x-pbbnlypmahxisoet] has quit [*.net *.split] 09:06:53 -!- serhart [~serhart@192.81.215.249] has quit [*.net *.split] 09:06:53 -!- gnomon [~gnomon@CPE000e582ae076-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [*.net *.split] 09:06:53 -!- fdr [~rafaelfdr@ps53163.dreamhost.com] has quit [*.net *.split] 09:06:54 -!- danking [~danking@192.81.214.176] has quit [*.net *.split] 09:06:54 -!- pumpkin360 [~main@aggv155.neoplus.adsl.tpnet.pl] has quit [*.net *.split] 09:06:54 -!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [*.net *.split] 09:06:54 -!- inarru_ [~edwardgeo@nest.insectsarerubbish.org] has quit [*.net *.split] 09:06:55 -!- gluegadg1t [~amir@li346-83.members.linode.com] has quit [*.net *.split] 09:06:55 -!- jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has quit [*.net *.split] 09:06:55 -!- gravicappa [~gravicapp@ppp91-77-183-101.pppoe.mtu-net.ru] has quit [*.net *.split] 09:06:55 -!- tabemann [~travisb@adsl-69-217-164-123.dsl.milwwi.ameritech.net] has quit [*.net *.split] 09:06:55 -!- Nisstyre [~yours@oftn/member/Nisstyre] has quit [*.net *.split] 09:06:56 -!- pygospa [~Pygosceli@kiel-4d067ac2.pool.mediaWays.net] has quit [*.net *.split] 09:06:56 -!- adiii [~adityavit@c-50-156-85-49.hsd1.ca.comcast.net] has quit [*.net *.split] 09:06:56 -!- copec [copec@schrodbox.unaen.org] has quit [*.net *.split] 09:06:56 -!- mario-goulart [~user@email.parenteses.org] has quit [*.net *.split] 09:06:56 -!- duncanm [~duncan@a-chinaman.com] has quit [*.net *.split] 09:06:56 -!- z0d [~z0d@unaffiliated/z0d] has quit [*.net *.split] 09:06:56 -!- arrdem [~arrdem@dhcp-53-132.ece.utexas.edu] has quit [*.net *.split] 09:06:56 -!- vnz [~vnz@unaffiliated/vnz] has quit [*.net *.split] 09:06:56 -!- nitefli19 [sage@reaver.cat.pdx.edu] has quit [*.net *.split] 09:06:56 -!- cibs [~cibs@60-251-40-253.HINET-IP.hinet.net] has quit [*.net *.split] 09:07:46 gjord [~gjord@ool-18babf32.dyn.optonline.net] has joined #scheme 09:07:46 marienz [~marienz@freenode/staff/marienz] has joined #scheme 09:07:46 jrapdx [~jra@c-98-246-145-216.hsd1.or.comcast.net] has joined #scheme 09:07:46 ohama [ohama@cicolina.org] has joined #scheme 09:07:46 pumpkin360 [~main@aggv155.neoplus.adsl.tpnet.pl] has joined #scheme 09:07:46 rudybot__ [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has joined #scheme 09:07:46 fgudin_ [fgudin@178.63.35.194] has joined #scheme 09:07:46 MrFahrenheit [~RageOfTho@77.221.25.95] has joined #scheme 09:07:46 aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #scheme 09:07:46 inarru_ [~edwardgeo@nest.insectsarerubbish.org] has joined #scheme 09:07:46 jyc [~jyc@173.245.6.163] has joined #scheme 09:07:46 jao` [~jao@pdpc/supporter/professional/jao] has joined #scheme 09:07:46 daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has joined #scheme 09:07:46 przl_ [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has joined #scheme 09:07:46 antoszka_ [~antoszka@unaffiliated/antoszka] has joined #scheme 09:07:46 gluegadg1t [~amir@li346-83.members.linode.com] has joined #scheme 09:07:46 pothos [~pothos@36-224-96-117.dynamic-ip.hinet.net] has joined #scheme 09:07:46 jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has joined #scheme 09:07:46 gravicappa [~gravicapp@ppp91-77-183-101.pppoe.mtu-net.ru] has joined #scheme 09:07:46 tabemann [~travisb@adsl-69-217-164-123.dsl.milwwi.ameritech.net] has joined #scheme 09:07:46 Nisstyre [~yours@oftn/member/Nisstyre] has joined #scheme 09:07:46 pygospa [~Pygosceli@kiel-4d067ac2.pool.mediaWays.net] has joined #scheme 09:07:46 adiii [~adityavit@c-50-156-85-49.hsd1.ca.comcast.net] has joined #scheme 09:07:46 cibs [~cibs@60-251-40-253.HINET-IP.hinet.net] has joined #scheme 09:07:46 Natch [~Natch@c-10cfe155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #scheme 09:07:46 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 09:07:46 cosmez [~cosmez@200.92.100.68] has joined #scheme 09:07:46 jkraemer [jkraemer@nat/google/x-pbbnlypmahxisoet] has joined #scheme 09:07:46 copec [copec@schrodbox.unaen.org] has joined #scheme 09:07:46 em [~em@unaffiliated/emma] has joined #scheme 09:07:46 acieroid [~acieroid@wtf.awesom.eu] has joined #scheme 09:07:46 mario-goulart [~user@email.parenteses.org] has joined #scheme 09:07:46 serhart [~serhart@192.81.215.249] has joined #scheme 09:07:46 cpach_ [~cpach@h125n2-veo-a11.ias.bredband.telia.com] has joined #scheme 09:07:46 micro` [~micro@ec2-50-16-189-142.compute-1.amazonaws.com] has joined #scheme 09:07:46 gnomon [~gnomon@CPE000e582ae076-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 09:07:46 fdr [~rafaelfdr@ps53163.dreamhost.com] has joined #scheme 09:07:46 duncanm [~duncan@a-chinaman.com] has joined #scheme 09:07:46 z0d [~z0d@unaffiliated/z0d] has joined #scheme 09:07:46 arrdem [~arrdem@dhcp-53-132.ece.utexas.edu] has joined #scheme 09:07:46 zbigniew [~zb@3e8.org] has joined #scheme 09:07:46 ec_ [~elliottca@ell.io] has joined #scheme 09:07:46 shardz [~samantha@ilo.staticfree.info] has joined #scheme 09:07:46 asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has joined #scheme 09:07:46 wrl [~wrl@don.gs] has joined #scheme 09:07:46 weinholt [weinholt@debian/emeritus/weinholt] has joined #scheme 09:07:46 ggherdov [uid11402@gateway/web/irccloud.com/x-krqrhkkvgfqiuopk] has joined #scheme 09:07:46 eMBee [~eMBee@foresight/developer/pike/programmer] has joined #scheme 09:07:46 nmeum [~nmeum@2a00:12c0:1015:123::] has joined #scheme 09:07:46 vnz [~vnz@unaffiliated/vnz] has joined #scheme 09:07:46 danking [~danking@192.81.214.176] has joined #scheme 09:07:46 nitefli19 [sage@reaver.cat.pdx.edu] has joined #scheme 09:07:47 BobuSumisu [~oyvind@oyvind.in] has joined #scheme 09:07:55 *rudybot__* bows deeply before his master, inventor of incubot 09:08:54 -!- nmeum [~nmeum@2a00:12c0:1015:123::] has quit [*.net *.split] 09:08:54 -!- eMBee [~eMBee@foresight/developer/pike/programmer] has quit [*.net *.split] 09:08:54 -!- ggherdov [uid11402@gateway/web/irccloud.com/x-krqrhkkvgfqiuopk] has quit [*.net *.split] 09:08:55 -!- weinholt [weinholt@debian/emeritus/weinholt] has quit [*.net *.split] 09:08:55 -!- wrl [~wrl@don.gs] has quit [*.net *.split] 09:08:56 -!- asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has quit [*.net *.split] 09:08:56 -!- shardz [~samantha@ilo.staticfree.info] has quit [*.net *.split] 09:08:56 -!- ec_ [~elliottca@ell.io] has quit [*.net *.split] 09:08:56 -!- zbigniew [~zb@3e8.org] has quit [*.net *.split] 09:10:07 ffio_ [~fire@unaffiliated/security] has joined #scheme 09:10:28 rudybot__: Your underscores are showing. 09:10:32 evhan: Ok; just started working at a shop peopled almost entirely by ex-Googlers, by the way. Their fetish for the latest-and-greatest underscores for me how much work Scheme would have to do to be accepted 'round these parts. It's maddening. 09:10:33 nmeum [~nmeum@2a00:12c0:1015:123::] has joined #scheme 09:10:33 eMBee [~eMBee@foresight/developer/pike/programmer] has joined #scheme 09:10:33 ggherdov [uid11402@gateway/web/irccloud.com/x-krqrhkkvgfqiuopk] has joined #scheme 09:10:33 weinholt [weinholt@debian/emeritus/weinholt] has joined #scheme 09:10:33 wrl [~wrl@don.gs] has joined #scheme 09:10:33 asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has joined #scheme 09:10:33 shardz [~samantha@ilo.staticfree.info] has joined #scheme 09:10:33 ec_ [~elliottca@ell.io] has joined #scheme 09:10:33 zbigniew [~zb@3e8.org] has joined #scheme 09:11:06 -!- copec [copec@schrodbox.unaen.org] has quit [Excess Flood] 09:11:12 copec [copec@schrodbox.unaen.org] has joined #scheme 09:11:12 -!- copec [copec@schrodbox.unaen.org] has quit [Excess Flood] 09:11:21 -!- inarru_ [~edwardgeo@nest.insectsarerubbish.org] has quit [Remote host closed the connection] 09:11:36 inarru [~edwardgeo@nest.insectsarerubbish.org] has joined #scheme 09:11:40 copec_ [copec@schrodbox.unaen.org] has joined #scheme 09:11:56 -!- copec_ is now known as copec 09:12:23 bjz [~brendanza@125.253.99.68] has joined #scheme 09:14:33 -!- ryoshu [~user@unaffiliated/ryoshu] has quit [Quit: Lost terminal] 09:15:18 RageOfThou [~RageOfTho@77.221.25.95] has joined #scheme 09:15:57 -!- daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has quit [Quit: leaving] 09:18:11 daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has joined #scheme 09:18:18 rudybot___ [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has joined #scheme 09:18:49 fgudin [fgudin@odin.sdf-eu.org] has joined #scheme 09:18:52 micro`_ [~micro@ec2-50-16-189-142.compute-1.amazonaws.com] has joined #scheme 09:19:48 acieroid` [~acieroid@wtf.awesom.eu] has joined #scheme 09:19:48 -!- ohama [ohama@cicolina.org] has quit [Disconnected by services] 09:19:56 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 09:20:13 em_ [~em@user-0cev0hr.cable.mindspring.com] has joined #scheme 09:20:18 ohama [ohama@cicolina.org] has joined #scheme 09:20:51 cpach [~cpach@h125n2-veo-a11.ias.bredband.telia.com] has joined #scheme 09:22:37 -!- daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has quit [Client Quit] 09:22:51 daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has joined #scheme 09:24:21 rudybot__, do you have a Scheme fetish? 09:24:43 -!- marienz [~marienz@freenode/staff/marienz] has quit [*.net *.split] 09:24:44 -!- jrapdx [~jra@c-98-246-145-216.hsd1.or.comcast.net] has quit [*.net *.split] 09:24:44 -!- rudybot__ [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has quit [*.net *.split] 09:24:44 -!- fgudin_ [fgudin@178.63.35.194] has quit [*.net *.split] 09:24:44 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [*.net *.split] 09:24:44 -!- jyc [~jyc@173.245.6.163] has quit [*.net *.split] 09:24:45 -!- antoszka_ [~antoszka@unaffiliated/antoszka] has quit [*.net *.split] 09:24:46 -!- cosmez [~cosmez@200.92.100.68] has quit [*.net *.split] 09:24:46 -!- em [~em@unaffiliated/emma] has quit [*.net *.split] 09:24:47 -!- acieroid [~acieroid@wtf.awesom.eu] has quit [*.net *.split] 09:24:47 -!- cpach_ [~cpach@h125n2-veo-a11.ias.bredband.telia.com] has quit [*.net *.split] 09:24:47 -!- micro` [~micro@ec2-50-16-189-142.compute-1.amazonaws.com] has quit [*.net *.split] 09:24:59 jyc [~jyc@173.245.6.163] has joined #scheme 09:25:41 -!- RageOfThou [~RageOfTho@77.221.25.95] has quit [Write error: Connection reset by peer] 09:26:04 RageOfThou [~RageOfTho@77.221.25.95] has joined #scheme 09:31:10 marienz [~marienz@freenode/staff/marienz] has joined #scheme 09:31:29 jrapdx [~jra@c-98-246-145-216.hsd1.or.comcast.net] has joined #scheme 09:33:06 -!- jrapdx [~jra@c-98-246-145-216.hsd1.or.comcast.net] has quit [*.net *.split] 09:38:01 -!- acedia [~rage@unaffiliated/ffs] has quit [Ping timeout: 246 seconds] 09:38:13 jrapdx [~jra@c-98-246-145-216.hsd1.or.comcast.net] has joined #scheme 09:38:52 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 09:40:24 -!- sttau [~sttau@unaffiliated/sttau] has quit [Ping timeout: 260 seconds] 09:43:23 -!- entitativity [~entity@c-50-136-180-20.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 09:43:28 purentity [~entity@c-50-136-180-20.hsd1.ca.comcast.net] has joined #scheme 09:45:39 -!- purentity [~entity@c-50-136-180-20.hsd1.ca.comcast.net] has quit [Client Quit] 09:45:53 sttau [~sttau@unaffiliated/sttau] has joined #scheme 09:47:03 entitativity [~entity@c-50-136-180-20.hsd1.ca.comcast.net] has joined #scheme 10:02:59 -!- daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has quit [Quit: leaving] 10:15:32 -!- b4283 [~b4283@116.59.245.110] has quit [Read error: Connection reset by peer] 10:17:33 waxysubs [hope6@world.peace.net] has joined #scheme 10:34:25 -!- pjb` is now known as pjb 10:37:02 -!- jkraemer [jkraemer@nat/google/x-pbbnlypmahxisoet] has quit [Ping timeout: 240 seconds] 10:41:59 -!- RageOfThou is now known as MrFahrenheit 10:43:28 -!- jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has quit [Ping timeout: 276 seconds] 10:45:05 acedia [~rage@unaffiliated/ffs] has joined #scheme 10:50:24 -!- acedia [~rage@unaffiliated/ffs] has quit [Ping timeout: 260 seconds] 10:55:50 -!- przl_ [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 10:56:06 jkraemer [jkraemer@nat/google/x-lccbuadbxxmjdfto] has joined #scheme 11:02:05 przl [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has joined #scheme 11:02:47 -!- entitativity [~entity@c-50-136-180-20.hsd1.ca.comcast.net] has quit [*.net *.split] 11:02:47 -!- cpach [~cpach@h125n2-veo-a11.ias.bredband.telia.com] has quit [*.net *.split] 11:02:47 -!- ohama [ohama@cicolina.org] has quit [*.net *.split] 11:02:47 -!- inarru [~edwardgeo@nest.insectsarerubbish.org] has quit [*.net *.split] 11:03:01 cpach [~cpach@h125n2-veo-a11.ias.bredband.telia.com] has joined #scheme 11:03:02 inarru [~edwardgeo@nest.insectsarerubbish.org] has joined #scheme 11:03:11 entitativity [~entity@c-50-136-180-20.hsd1.ca.comcast.net] has joined #scheme 11:03:19 ohama [ohama@cicolina.org] has joined #scheme 11:05:02 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 11:06:02 -!- brendyn [~brendyn@li568-31.members.linode.com] has quit [Quit: ZNC - http://znc.in] 11:11:18 defanor [~d@ppp91-77-117-69.pppoe.mtu-net.ru] has joined #scheme 11:11:24 -!- przl [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 11:15:47 -!- ffio_ [~fire@unaffiliated/security] has quit [Ping timeout: 264 seconds] 11:16:22 _ffio_ [~fire@unaffiliated/security] has joined #scheme 11:25:36 brendyn [brendyn@2400:8900::f03c:91ff:fedf:65b4] has joined #scheme 11:50:22 -!- bjz [~brendanza@125.253.99.68] has quit [Read error: Connection reset by peer] 11:50:28 bjz_ [~brendanza@125.253.99.68] has joined #scheme 11:57:43 -!- tenq is now known as tenq|away 12:02:13 -!- Triclops256 is now known as Triclops256|away 12:03:51 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Read error: Operation timed out] 12:07:18 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 12:14:54 -!- trusktr [~trusktr@c-76-114-26-222.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 12:17:53 przl [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has joined #scheme 12:22:10 -!- przl [~przlrkt@p5B298DB0.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 12:24:38 jerryzhou [~jerryzhou@58.245.253.218] has joined #scheme 12:25:05 -!- jerryzhou [~jerryzhou@58.245.253.218] has quit [Max SendQ exceeded] 12:25:23 jerryzhou [~jerryzhou@58.245.253.218] has joined #scheme 12:27:16 -!- _ffio_ is now known as ffio 12:44:26 -!- jerryzhou [~jerryzhou@58.245.253.218] has quit [Quit: Leaving] 12:45:33 Kruppe [~user@CPE602ad0938e9a-CM602ad0938e97.cpe.net.cable.rogers.com] has joined #scheme 12:50:17 cdidd [~cdidd@95-27-183-195.broadband.corbina.ru] has joined #scheme 12:51:40 matt444 [~matthew@74-130-86-22.dhcp.insightbb.com] has joined #scheme 12:52:02 Hi, I'm using Chicken Scheme and it doesn't seem to have a reduce function. Both reduce and fold are undefined. 12:52:18 does it have foldl or fold? (guessing) 12:52:23 Did I need to add a flag or something when I compiled it? 12:52:43 ah! 12:52:46 foldl and foldr 12:52:57 thanks so much 12:53:02 you're welcome. 12:53:15 A "normal" reduce function is left, correct? 12:53:43 it depends on the language. 12:54:08 hm, that's interesting 12:55:13 in SML, foldl is tail-recursive. in Haskell, foldr is preferred due to laziness. (I think) 12:55:58 http://stackoverflow.com/questions/384797/implications-of-foldr-vs-foldl-or-foldl 12:55:59 http://tinyurl.com/ycpa5h6 13:01:25 -!- clog_ [~nef@bespin.org] has quit [Quit: ^C] 13:01:37 clog [~nef@bespin.org] has joined #scheme 13:03:22 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 13:05:22 -!- matt444 [~matthew@74-130-86-22.dhcp.insightbb.com] has quit [Quit: Lost terminal] 13:09:13 mmc1 [~michal@j212142.upc-j.chello.nl] has joined #scheme 13:12:27 wbooze [~wbooze@xdsl-84-44-208-123.netcologne.de] has joined #scheme 13:24:49 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Ping timeout: 246 seconds] 13:41:16 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 13:44:55 -!- wbooze [~wbooze@xdsl-84-44-208-123.netcologne.de] has quit [Quit: none] 13:47:28 oleo [~oleo@xdsl-84-44-208-123.netcologne.de] has joined #scheme 13:52:54 tabemann, if you want to implement hygienic macros, Jonathan Rees's article `Implementing Lexically Scoped Macros' in Lisp Pointers is a good place to start. I could never make sense of the way Dybvig &c. implement hygiene, which always struck me as needlessly obfuscated and incoherently structured. 14:12:20 -!- oleo [~oleo@xdsl-84-44-208-123.netcologne.de] has quit [Quit: none] 14:13:15 oleo [~oleo@xdsl-84-44-208-123.netcologne.de] has joined #scheme 14:14:35 kobain [~kobian@unaffiliated/kobain] has joined #scheme 14:22:20 racycle [~racycle@75-25-129-128.lightspeed.sjcpca.sbcglobal.net] has joined #scheme 14:24:47 gleag [~gleag@71.175.broadband2.iol.cz] has joined #scheme 14:41:47 arubin [~arubin@99-114-192-172.lightspeed.cicril.sbcglobal.net] has joined #scheme 14:44:47 matt444: there is reduce in srfi-1 14:45:01 (require-extension srfi-1) for chicken 14:45:18 davexunit [~user@pool-71-162-77-17.bstnma.east.verizon.net] has joined #scheme 14:53:48 xilo [~xilo@107-209-248-232.lightspeed.austtx.sbcglobal.net] has joined #scheme 14:56:06 -!- davexunit [~user@pool-71-162-77-17.bstnma.east.verizon.net] has quit [Remote host closed the connection] 15:11:23 carleastlund [~carleastl@209-6-40-238.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 15:20:39 jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has joined #scheme 15:20:40 davexunit [~user@pool-71-162-77-17.bstnma.east.verizon.net] has joined #scheme 15:23:26 -!- jao` [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 240 seconds] 15:27:32 langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has joined #scheme 15:29:44 b4283 [~b4283@111.80.57.4] has joined #scheme 15:30:17 alexei [~amgarchin@p4FD60EC1.dip0.t-ipconnect.de] has joined #scheme 15:38:12 przl [~przlrkt@p5B298586.dip0.t-ipconnect.de] has joined #scheme 15:42:42 -!- davexunit [~user@pool-71-162-77-17.bstnma.east.verizon.net] has quit [Remote host closed the connection] 15:52:01 -!- langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has quit [Ping timeout: 248 seconds] 15:54:10 -!- gravicappa [~gravicapp@ppp91-77-183-101.pppoe.mtu-net.ru] has quit [Ping timeout: 276 seconds] 15:58:30 gravicappa [~gravicapp@ppp91-77-183-101.pppoe.mtu-net.ru] has joined #scheme 15:58:36 -!- oleo [~oleo@xdsl-84-44-208-123.netcologne.de] has quit [Quit: Verlassend] 16:00:21 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 16:15:09 -!- taylanub [tub@p4FD92A4C.dip0.t-ipconnect.de] has quit [Disconnected by services] 16:15:36 taylanub [tub@p4FD910C2.dip0.t-ipconnect.de] has joined #scheme 16:19:05 -!- gluegadg1t is now known as gluegadget 16:19:13 -!- gluegadget [~amir@li346-83.members.linode.com] has quit [Changing host] 16:19:13 gluegadget [~amir@unaffiliated/gluegadget] has joined #scheme 16:23:19 -!- przl [~przlrkt@p5B298586.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 16:37:39 -!- b4283 [~b4283@111.80.57.4] has quit [Remote host closed the connection] 16:37:58 Okasu [~1@unaffiliated/okasu] has joined #scheme 16:38:51 -!- Okasu [~1@unaffiliated/okasu] has quit [Client Quit] 16:40:26 przl [~przlrkt@p5B298586.dip0.t-ipconnect.de] has joined #scheme 16:42:36 sethalves [~user@headache.hungry.com] has joined #scheme 16:55:53 tupi [~user@189.60.0.210] has joined #scheme 17:15:03 andrei [~user@c-98-222-203-85.hsd1.in.comcast.net] has joined #scheme 17:15:40 -!- taylanub [tub@p4FD910C2.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 17:16:03 taylanub [tub@p4FD910C2.dip0.t-ipconnect.de] has joined #scheme 17:17:23 -!- blackwol` [~blackwolf@ool-4574e84c.dyn.optonline.net] has quit [Ping timeout: 240 seconds] 17:21:14 -!- przl [~przlrkt@p5B298586.dip0.t-ipconnect.de] has quit [Ping timeout: 245 seconds] 17:22:52 -!- sttau [~sttau@unaffiliated/sttau] has quit [Ping timeout: 260 seconds] 17:22:56 jao` [~jao@55.Red-79-148-157.dynamicIP.rima-tde.net] has joined #scheme 17:23:00 -!- jao` [~jao@55.Red-79-148-157.dynamicIP.rima-tde.net] has quit [Changing host] 17:23:00 jao` [~jao@pdpc/supporter/professional/jao] has joined #scheme 17:28:02 sttau [~sttau@unaffiliated/sttau] has joined #scheme 17:41:31 davexunit [~user@pool-71-162-77-17.bstnma.east.verizon.net] has joined #scheme 17:42:07 joast [~rick@76.178.135.192] has joined #scheme 17:49:44 tic tac toe is cool. I'm looking at it and it's computing ideas and concepts, not merely number crunching. that is way cool. 17:57:11 -!- jao` [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 264 seconds] 17:57:17 zacts, I find there's very little "number crunching" in the programming I do; arithmetic is really only necessary if the program's job is to model some mathematical system (e.g. a physics model). Otherwise it's mostly symbolic data manipulation. So it sounds like your tic-tac-toe program is on the right path. 17:57:21 -!- gleag [~gleag@71.175.broadband2.iol.cz] has quit [Read error: Connection reset by peer] 18:01:27 -!- ivan\ [~ivan@unaffiliated/ivan/x-000001] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 18:11:18 -!- Nisstyre [~yours@oftn/member/Nisstyre] has quit [Quit: Leaving] 18:21:13 cool, it seems that ch 4.2.2 of SICP teaches you how to implement a language interpreter that does lazy evaluation. 18:21:24 just happened to skim thru there 18:21:30 not really reading the book yet 18:21:34 first is HTDP 18:25:10 it mentions how delayed evaluations are stored as a "thunk", or something like that. similar terminology to haskell, iirc. 18:26:16 gabnet [~gabnet@ACaen-652-1-204-52.w83-115.abo.wanadoo.fr] has joined #scheme 18:28:01 przl [~przlrkt@p5B298586.dip0.t-ipconnect.de] has joined #scheme 18:29:05 zacts: Yes, "thunks" are common terminology. 18:32:28 -!- przl [~przlrkt@p5B298586.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 18:33:43 trusktr [~trusktr@c-76-114-26-222.hsd1.ca.comcast.net] has joined #scheme 18:35:15 miql [~miql@ip70-176-216-109.ph.ph.cox.net] has joined #scheme 18:47:25 -!- gabnet [~gabnet@ACaen-652-1-204-52.w83-115.abo.wanadoo.fr] has quit [Quit: Quitte] 18:49:23 -!- jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has quit [Ping timeout: 264 seconds] 18:49:54 tcsc [~tcsc@c-76-127-240-20.hsd1.ct.comcast.net] has joined #scheme 18:51:45 -!- tupi [~user@189.60.0.210] has quit [Ping timeout: 264 seconds] 18:51:55 -!- davexunit [~user@pool-71-162-77-17.bstnma.east.verizon.net] has quit [Remote host closed the connection] 18:54:33 jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has joined #scheme 18:54:52 -!- gravicappa [~gravicapp@ppp91-77-183-101.pppoe.mtu-net.ru] has quit [Ping timeout: 246 seconds] 18:55:26 -!- miql [~miql@ip70-176-216-109.ph.ph.cox.net] has quit [Quit: Lost terminal] 18:58:57 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Ping timeout: 264 seconds] 19:00:17 -!- acieroid` is now known as acieroid 19:04:11 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [Read error: Operation timed out] 19:09:49 yacks [~py@180.151.36.168] has joined #scheme 19:15:24 -!- ffio [~fire@unaffiliated/security] has quit [Ping timeout: 240 seconds] 19:16:19 ffio_ [~fire@unaffiliated/security] has joined #scheme 19:16:46 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 19:22:09 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Ping timeout: 248 seconds] 19:31:08 gravicappa [~gravicapp@ppp91-77-165-120.pppoe.mtu-net.ru] has joined #scheme 19:31:50 Ripp__ [~Ripp___@c-76-21-7-143.hsd1.ca.comcast.net] has joined #scheme 19:34:29 youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has joined #scheme 19:36:27 main [~main@ays114.neoplus.adsl.tpnet.pl] has joined #scheme 19:37:46 -!- pumpkin360 [~main@aggv155.neoplus.adsl.tpnet.pl] has quit [Ping timeout: 276 seconds] 19:39:07 jjjj2_ [~jon@c-50-131-54-186.hsd1.ca.comcast.net] has joined #scheme 19:41:36 -!- jjjj2_ [~jon@c-50-131-54-186.hsd1.ca.comcast.net] has quit [Client Quit] 19:41:54 jjjj2_ [~jon@c-50-131-54-186.hsd1.ca.comcast.net] has joined #scheme 19:43:56 -!- jjjj2_ [~jon@c-50-131-54-186.hsd1.ca.comcast.net] has quit [Client Quit] 19:46:21 -!- jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has quit [Ping timeout: 264 seconds] 19:46:23 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 19:49:54 oleo [~oleo@xdsl-84-44-208-123.netcologne.de] has joined #scheme 20:06:43 Nisstyre [~yours@oftn/member/Nisstyre] has joined #scheme 20:19:42 emmp [~manolis@178.128.23.234.dsl.dyn.forthnet.gr] has joined #scheme 20:32:53 hiroakip [~hiroaki@p4FFDD7C2.dip0.t-ipconnect.de] has joined #scheme 20:37:08 -!- bjz_ [~brendanza@125.253.99.68] has quit [Read error: Connection reset by peer] 20:37:08 bjz [~brendanza@125.253.99.68] has joined #scheme 20:46:31 zacts: A thunk is just a procedure that doesn't take any arguments. `lambda' is indeed a simple way to suppress evaluation. One can even implement `if' purely with procedures. 20:50:04 -!- userzxcv_ [~neutral_a@c656847C1.dhcp.as2116.net] has quit [Remote host closed the connection] 20:56:11
taylanub: Not sure if it is so simple, Your have to be careful not to make both if branches always execute. 20:56:53 -!- main is now known as pumpkin360 20:58:45 taylanub: not sure wether it is even possible to implement proper if without connecting to the interpreters/compilers code, but maybe somebody better oriented knows? 21:00:41 I didn't mean a drop-in replacement. In the self-implemented `if', the branches need to be lambdas as well. 21:01:57 -!- oleo [~oleo@xdsl-84-44-208-123.netcologne.de] has quit [Ping timeout: 264 seconds] 21:01:58 but You can't make delayed evaluation using "(lambda () proc)", at least I had problems with it - scheme passes arguments by value and thus evaluete proc 21:02:17 *evaluates 21:02:32 pumpkin360 -- (lambda () proc) doesn't evaluate proc 21:03:19 Certainly if you write (define (my-func proc) (lambda () proc)) then (my-func ) will evaluate ; you have to do (my-func (lambda () )) to keep the argument from being evaluated. 21:03:42 oleo [~oleo@xdsl-87-79-197-168.netcologne.de] has joined #scheme 21:03:49 You have to put the lambda at the first place where evaluation would otherwise occur, in order to delay it. 21:03:55 carleastlund: Well then I must have made something wrong. Sorry for the incompetent inclusion then. (just didn't work some time ago when I tried) 21:04:15 You just type, for example, (lambda () (foo)) instead of (foo). So you're passing a procedure which, when called, will call foo, instead of passing the return-value of calling foo. 21:05:31 -!- Kruppe [~user@CPE602ad0938e9a-CM602ad0938e97.cpe.net.cable.rogers.com] has quit [Remote host closed the connection] 21:05:33 Ok, it was my fault. I tried to make it like "(define (delay x) (lambda () x))" 21:05:55 Yeah, delay has to be a macro, so it can force its argument to be a lambda in the first place. 21:05:59 but I have seen it like this in SICP, probably read something wrong. 21:06:12 (define-syntax-rule (delay e) (lambda () e)) 21:06:24 not that define-syntax-rule existed at the time of SICP 21:06:39 guessed that. 21:07:50 gtg. Will come in the near future and check the SICP construction, I am pretty sure it was like the one quoted above. 21:07:53 ay 21:07:55 *bay 21:08:01 -!- pumpkin360 [~main@ays114.neoplus.adsl.tpnet.pl] has quit [Quit: WeeChat 0.4.1] 21:12:39 ivan\ [~ivan@unaffiliated/ivan/x-000001] has joined #scheme 21:21:02 -!- pothos [~pothos@36-224-96-117.dynamic-ip.hinet.net] has quit [Ping timeout: 240 seconds] 21:21:07 pothos_ [~pothos@114-25-203-141.dynamic.hinet.net] has joined #scheme 21:21:15 -!- pothos_ is now known as pothos 21:37:02 MrFahrenheit [~RageOfTho@77.221.25.95] has joined #scheme 21:39:11 -!- youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has quit [Ping timeout: 264 seconds] 22:01:37 -!- gravicappa [~gravicapp@ppp91-77-165-120.pppoe.mtu-net.ru] has quit [Ping timeout: 248 seconds] 22:02:54 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Ping timeout: 245 seconds] 22:12:34 -!- kobain [~kobian@unaffiliated/kobain] has quit [Read error: Operation timed out] 22:13:36 kobain [~kobian@unaffiliated/kobain] has joined #scheme 22:13:45 -!- kobain [~kobian@unaffiliated/kobain] has quit [Excess Flood] 22:14:01 kobain [~kobian@unaffiliated/kobain] has joined #scheme 22:14:10 -!- kobain [~kobian@unaffiliated/kobain] has quit [Excess Flood] 22:14:24 kobain [~kobian@unaffiliated/kobain] has joined #scheme 22:14:33 -!- kobain [~kobian@unaffiliated/kobain] has quit [Excess Flood] 22:14:48 kobain [~kobian@unaffiliated/kobain] has joined #scheme 22:14:57 -!- kobain [~kobian@unaffiliated/kobain] has quit [Excess Flood] 22:15:13 kobain [~kobian@unaffiliated/kobain] has joined #scheme 22:20:20 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 22:25:42 -!- Reisen [~Reisen@unaffiliated/reisen] has quit [Quit: Goodbye] 22:26:29 Reisen [~Reisen@unaffiliated/reisen] has joined #scheme 22:33:31 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 22:44:17 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [Ping timeout: 248 seconds] 22:47:47 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 22:52:59 -!- mmc1 [~michal@j212142.upc-j.chello.nl] has quit [Ping timeout: 264 seconds] 22:55:11 przl [~przlrkt@p5B298586.dip0.t-ipconnect.de] has joined #scheme 22:58:43 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Read error: Connection reset by peer] 22:59:05 -!- tcsc [~tcsc@c-76-127-240-20.hsd1.ct.comcast.net] has quit [Quit: computer sleeping] 23:01:02 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 23:01:28 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Client Quit] 23:02:15 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 23:02:25 -!- Khisanth [~Khisanth@50.14.244.111] has quit [Ping timeout: 248 seconds] 23:04:00 -!- przl [~przlrkt@p5B298586.dip0.t-ipconnect.de] has quit [Ping timeout: 260 seconds] 23:04:09 I'm curious as to how I can debug scheme programs.. 23:04:17 what is a scheme print statement? 23:04:32 or I guess I can test each function separately.. 23:04:44 I'm used to print statements for debugging in perl.. 23:05:07 (I'm guessing that HTdP covers this aspect of programming in detail) 23:05:14 display, write 23:05:25 Pretty-printers are handy too but not standardized. 23:05:39 what is a pretty-printer? 23:06:16 annodomini [~lambda@c-76-23-156-75.hsd1.ma.comcast.net] has joined #scheme 23:06:17 -!- annodomini [~lambda@c-76-23-156-75.hsd1.ma.comcast.net] has quit [Changing host] 23:06:17 annodomini [~lambda@wikipedia/lambda] has joined #scheme 23:06:30 It's a printer that makes pretty output! 23:06:38 ah ok 23:06:45 I see 23:07:23 what is a unit test, and how can I implement it functional style scheme programs? 23:07:31 in 23:08:44 *zacts* is reading wikipedia 23:10:14 acedia [~rage@unaffiliated/ffs] has joined #scheme 23:11:19 I think I understand.. so basically 23:11:57 I would write a test sub to test the corresponding output for every possible input, or close to that, for every function in my program? 23:12:04 s/sub/procedure/ 23:14:57 what other styles of debugging exist basically for scheme programs. print / unit test / ? .. 23:15:34 it does seem to me that functional programming is easier to test and debug, in many cases, than code with lots of side effects. 23:16:30 `Unit testing' means a particular class of automatic test that is designed to cover some notion of small `units' of programs, e.g. each procedure or similar. 23:17:07 Khisanth [~Khisanth@50.14.244.111] has joined #scheme 23:17:31 I'm not sure adding prints to your program would qualify as `testing' it, except, perhaps, insofar as it might serve as a way to test a hypothesis about a program's behaviour when you can't otherwise observe some internal quantities directly, i.e. if you want to do science on a program. 23:17:55 tcsc [~tcsc@c-76-127-240-20.hsd1.ct.comcast.net] has joined #scheme 23:18:14 well prints may not be for testing, per say, but for debugging? 23:18:21 Many Lisp programmers like to test their programs manually at the REPL. This is great for exploration, although it leaves a bit to be desired when you want to have confidence in the correctness or sensibility of a large program after you've changed little parts of it. 23:18:48 if there is a bug in your system, how do you figure out what part of your program produced the bug? 23:19:06 especially with large abstract systems.. 23:19:18 There's no general answer to that. 23:19:40 yeh, the repl seems like a nice way to interact with a program 23:28:32 Riastradh: have you completed all of SICP? 23:28:43 if so, how long did it take to complete it? 23:29:15 is it usually possible to cover SICP within one college semester, or will it take >1 semester? 23:29:41 zacts: that's going to depend on what background you already have, and what else you're working on during that semester. 23:29:57 It's designed for a one-semester course to take a selection from it. 23:30:03 (Same with many other textbooks.) 23:30:09 carleastlund: I guess I'm wondering how long many universities take for SICP.. 23:30:20 ah ok 23:31:08 Right, but different courses use different textbooks in different ways. Sometimes an advanced class with lots of relevant background will do a whole textbook in a semester. Other times, an early class with little background may barely scratch the surface. So it's hard to say exactly what to expect from a textbook just on its own. 23:31:26 I see 23:31:58 berkeley covered it in one semester, at least through ch 4, and a go interpreter. 23:32:05 it seems. 23:32:36 cool cool 23:32:45 HTDP first anyway, for me 23:35:32 I'll give myself two years to complete SICP, once I begin. That will be at the same time I'm going for a bachelor's of science in comp sci. Right now I'm just going to be taking math / english/ core required classes. I'm going to catch up with my math. 23:35:59 I've got a lot of work to do, you can probably tell I'm still somewhat of a newbie. 23:37:31 youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has joined #scheme 23:37:33 although, I'm sure SICP has concepts that can take a lifetime to master. 23:38:12 zacts: I don't know your specific courseload and so forth, but do as much of your own work on CS now while you're not taking CS classes. You're much more motivated; once you're taking classes on it, it will be harder and less productive to impose your own, extra class on the same topic. 23:38:54 ok, that sounds good 23:40:17 -!- oleo [~oleo@xdsl-87-79-197-168.netcologne.de] has quit [Read error: Connection reset by peer] 23:42:00 zacts: "Learn 'X' in 10 years." I'm of the opinion, that you can more-or-less master any topic if you give something a fair-amount of focus over a decade of time and we're young-enough for such a thing to be do-able. 23:42:15 fridim__ [~fridim@65.93.78.88] has joined #scheme 23:43:12 yeah, I would agree with that 23:43:57 youlysses: my plan was to originally learn X in 24 hours, but that didn't work out to well. :p 23:44:04 j/k 23:44:15 *too 23:44:54 zacts: Of-course, though -- there's sadly a fair amount of individuals who do attempt such a thing and then either think "good enough" and/or get discouraged into learning much more. 23:54:21 carleastlund: any news on scheme and the art of programming becoming available online? 23:54:45 -!- emmp [~manolis@178.128.23.234.dsl.dyn.forthnet.gr] has quit [Ping timeout: 264 seconds] 23:55:05 zacts: no word back yet. 23:55:13 there was a course at my uni that used that book 23:56:38 -!- gjord [~gjord@ool-18babf32.dyn.optonline.net] has quit [Read error: Connection reset by peer] 23:56:59 http://www.cs.unm.edu/~williams/cs491s06.html 23:57:49 -!- defanor [~d@ppp91-77-117-69.pppoe.mtu-net.ru] has quit [Read error: Operation timed out]