00:01 (join) vkz 00:05 (quit) JohnnyL: Quit: REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q) 00:10 (join) cdidd 00:28 (join) jeapostrophe 00:34 (quit) jrslepak: Quit: What happened to Systems A through E? 00:46 (quit) gridaphobe: Remote host closed the connection 01:09 (quit) oneirophren: Ping timeout: 240 seconds 01:17 (quit) vkz: Quit: vkz 01:35 (quit) rudybot: Ping timeout: 252 seconds 01:37 (quit) offby1: Read error: Connection reset by peer 01:37 (join) veer 01:37 (join) rudybot 01:37 (join) offby1 01:38 (quit) offby1: Changing host 01:38 (join) offby1 01:51 (quit) jeapostrophe: Read error: Operation timed out 01:55 (quit) francisl: Quit: francisl 01:58 (quit) jonrafkind: Ping timeout: 252 seconds 02:06 (join) journeeman 02:42 (join) hkBst 02:57 (quit) EmmanuelOga: Ping timeout: 244 seconds 03:12 (join) bluezenix 03:14 (nick) LeNsTR -> LeNsTR|off 03:25 (quit) Shvillr: Quit: bye 03:25 (join) Shvillr 03:28 (nick) LeNsTR|off -> LeNsTR 03:28 (join) realitygrill_ 03:30 (join) bluezenix1 03:31 (quit) realitygrill: Ping timeout: 272 seconds 03:31 (nick) realitygrill_ -> realitygrill 03:32 (quit) bluezenix: Ping timeout: 276 seconds 03:33 (nick) LeNsTR -> LeNsTR|off 03:33 (join) Shvillr_ 03:34 (quit) Shvillr: Ping timeout: 240 seconds 03:35 (join) Blkt 03:36 (nick) LeNsTR|off -> LeNsTR 03:38 (nick) LeNsTR -> LeNsTR|off 03:39 (nick) LeNsTR|off -> LeNsTR 03:46 (nick) LeNsTR -> LeNsTR|off 03:46 (nick) LeNsTR|off -> LeNsTR 03:49 (join) djcb 03:50 (join) ahinki 03:59 (nick) LeNsTR -> LeNsTR|off 04:02 (join) vkz 04:07 (quit) realitygrill: Quit: realitygrill 04:22 (quit) nilyaK: Quit: gnipeels 04:35 (nick) gf3 -> everyone 04:36 (nick) everyone -> gf3 04:46 (quit) mithos28: Quit: mithos28 04:47 (quit) vkz: Ping timeout: 276 seconds 04:47 (join) tim-brown 04:47 (join) vkz 04:49 Diarmid: I know it's too late for my reply to be of any use to the original 'poster', but should anyone else ask about running processes with customized environments, I'd suggest running the shell itself, and using the shell command line arguments to adjust the variables as needed, and launch whatever executable they were trying to launch. That works at least on Windows and Unix shells. 05:18 (join) nilyaK 05:26 (join) oneirophren 05:28 (join) bas_ 05:28 (nick) bas_ -> SKola 05:34 (quit) vkz: Ping timeout: 276 seconds 05:38 (join) vkz 05:42 (quit) vkz: Ping timeout: 276 seconds 05:43 (join) vkz 05:51 (quit) oneirophren: 05:58 (join) dzhus 06:25 (quit) Blkt: Ping timeout: 244 seconds 06:46 (nick) LeNsTR|off -> LeNsTR 06:46 (quit) bluezenix1: Quit: Leaving. 06:47 (join) samth 07:19 (join) bluezenix 07:23 (quit) nilyaK: Quit: Leaving. 07:26 (join) masm 07:28 (join) asdfhjkl 07:39 (quit) samth: Ping timeout: 276 seconds 07:40 (join) noelw 07:51 (join) jeapostrophe 08:03 (quit) Enoria: Ping timeout: 245 seconds 08:12 (quit) bluezenix: Quit: Leaving. 08:14 (quit) vkz: Quit: vkz 08:17 (join) vkz 08:17 (join) JohnnyL 08:24 (quit) vkz: Read error: Connection reset by peer 08:24 (join) vkz 08:30 (quit) duomo: Quit: Leaving... 08:31 (join) francisl 08:34 (join) EmmanuelOga 08:35 (quit) RPR: Ping timeout: 260 seconds 08:40 (quit) EmmanuelOga: Ping timeout: 244 seconds 08:40 (join) mceier 08:42 (join) EmmanuelOga 08:49 (join) sstrickl 08:53 (quit) francisl: Ping timeout: 248 seconds 09:12 (join) gridaphobe 09:14 (join) jrslepak 09:16 (quit) gridaphobe: Ping timeout: 248 seconds 09:21 (join) gridaphobe 09:23 (quit) vkz: Quit: vkz 09:26 (quit) dnolen: Ping timeout: 244 seconds 09:29 (nick) LeNsTR -> LeNsTR|off 09:39 (nick) LeNsTR|off -> LeNsTR 09:44 (quit) SKola: Quit: leaving 09:45 (quit) rudybot: Ping timeout: 265 seconds 09:46 (quit) offby1: Read error: Connection reset by peer 09:47 (join) rudybot 09:47 (join) offby1 09:47 (quit) jeapostrophe: Ping timeout: 240 seconds 09:48 (quit) offby1: Changing host 09:48 (join) offby1 09:53 (join) RacketCommitBot 09:53 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/dNBlIQ 09:53 RacketCommitBot: [racket/master] Rackety - Robby Findler 09:53 RacketCommitBot: [racket/master] clean up redex bitmap tests (under mac os x) - Robby Findler 09:53 (part) RacketCommitBot 09:58 (join) vkz 10:07 (quit) acarrico: Ping timeout: 260 seconds 10:09 (join) bas_ 10:09 (nick) bas_ -> Skola 10:20 (join) GeneralMaximus 10:32 (join) dnolen 10:35 (nick) LeNsTR -> LeNsTR|off 10:36 (nick) LeNsTR|off -> LeNsTR 10:48 (quit) ahinki: Quit: ChatZilla 0.9.88 [Firefox 11.0/20120222074758] 10:48 (nick) LeNsTR -> LeNsTR|off 10:50 (quit) vkz: Ping timeout: 245 seconds 10:53 (quit) JohnnyL: Quit: The early bird may get the worm, but the second mouse gets the cheese 10:55 (quit) GeneralMaximus: Quit: See you in another life. 10:58 (nick) LeNsTR|off -> LeNsTR 11:00 (quit) Skola: Quit: leaving 11:03 (join) MayDaniel 11:05 (nick) LeNsTR -> LeNsTR|off 11:10 (quit) Shviller: Read error: Connection reset by peer 11:10 (join) Shvillr 11:15 (join) vkz 11:16 (nick) LeNsTR|off -> LeNsTR 11:27 (quit) dous: Remote host closed the connection 11:28 (join) dous 11:32 (join) anRch 11:33 (quit) dous: Ping timeout: 276 seconds 11:35 (join) acarrico 11:40 (quit) vkz: Ping timeout: 260 seconds 11:47 (join) yoklov 11:49 (join) jonrafkind 11:52 (quit) djcb: Remote host closed the connection 11:53 (quit) hkBst: Quit: Konversation terminated! 11:59 (join) realitygrill 12:01 (quit) anRch: Quit: anRch 12:08 (join) anRch 12:15 (quit) gridaphobe: Remote host closed the connection 12:16 (join) Skola 12:19 (join) samth 12:23 (quit) Fulax: Remote host closed the connection 12:24 (join) gridaphobe 12:24 (join) yoklov_ 12:27 (quit) veer: Quit: Leaving 12:27 (quit) yoklov: Ping timeout: 248 seconds 12:32 (join) Fulax 12:36 (quit) anRch: Quit: anRch 12:45 (join) RacketCommitBot 12:45 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/zOcscg 12:45 RacketCommitBot: [racket/master] save a new set of unix bitmaps for the redex bitmap test - Robby Findler 12:45 (part) RacketCommitBot 12:45 (quit) masm: Ping timeout: 252 seconds 12:51 (join) kampsun 12:59 (quit) samth: Quit: Ex-Chat 13:06 bremner: jamessan: do you have time to deal with that libpng thing, or shall I put it on my TODO list? 13:07 (join) masm 13:08 (join) jeapostrophe 13:11 (quit) masm: Ping timeout: 246 seconds 13:15 (join) masm 13:20 (quit) masm: Ping timeout: 245 seconds 13:24 (join) masm 13:32 (quit) masm: Ping timeout: 245 seconds 13:33 (quit) yoklov_: Quit: computer sleeping 13:34 (join) masm 13:35 (quit) acarrico: Ping timeout: 244 seconds 13:37 (quit) gridaphobe: Remote host closed the connection 13:40 (quit) masm: Ping timeout: 244 seconds 13:42 (join) yoklov 13:43 (join) gridaphobe 13:43 (join) masm 13:47 (quit) masm: Ping timeout: 252 seconds 13:51 (join) masm 13:52 (quit) realitygrill: Read error: Connection reset by peer 13:53 (nick) samth_away -> samth 13:54 (join) anRch 13:54 (join) realitygrill 13:54 (join) gciolli 13:54 (join) crunchybumble 13:55 (quit) MayDaniel: Read error: Connection reset by peer 13:56 (quit) masm: Ping timeout: 245 seconds 13:57 (join) djcb 13:59 samth: bremner: what's wrong with libpng? 14:00 bremner: samth: oh just some transition in Debian, nothing racket specific 14:00 (join) masm 14:00 samth: bremner: ah 14:01 samth: bremner: will we need to add some other possible so version? 14:02 bremner: apperently libpng 1.2 will be replaced by 1.5 in Debian. I'm not sure if this affects anything other than debian packaging. 14:03 samth: bremner: we will have to make sure that racket behaves properly when only 1.5 is available 14:05 (quit) masm: Ping timeout: 260 seconds 14:07 crunchybumble: I'm missing something obvious. When I define a new var to be a built-in, and then redefine that built-in, I'm getting an identifier used before definition error. What am I misunderstanding? 14:07 crunchybumble: Simple example http://pastebin.com/7Cbg2iKf 14:09 (join) masm 14:12 chandler: crunchybumble: Both "new-car" and "car" are within the same scope. If that wasn't the case, you couldn't write mutually recursive definitions at the top level. 14:14 chandler: Also, you're not redefining the built-in car; you're shadowing it. 14:15 crunchybumble: Mhm. 14:15 crunchybumble: Oh, yes. right. 14:15 (quit) crunchybumble: Quit: Page closed 14:32 (quit) yoklov: Ping timeout: 245 seconds 14:32 (quit) AlbireoX: Ping timeout: 255 seconds 14:35 (join) AlbireoX 14:39 (join) yoklov 14:45 (quit) cdidd: Read error: Connection reset by peer 14:49 (join) RacketCommitBot 14:49 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/DirjBw 14:49 RacketCommitBot: [racket/master] try using make-bitmap for the bitmaps under unix to see if drdr - Robby Findler 14:49 (part) RacketCommitBot 14:54 (quit) anRch: Quit: anRch 14:58 (quit) dnolen: Ping timeout: 245 seconds 15:00 (quit) journeeman: Ping timeout: 245 seconds 15:00 (join) fftb 15:32 (join) crunchybumble 15:32 (nick) LeNsTR -> LeNsTR|off 15:41 samth: eli: it would be very nice to have a `delay/values' 15:41 samth: which would make this work: (define-values (x y) (delay/values 2 (values 'a 'b)) 15:43 (quit) gridaphobe: Remote host closed the connection 15:48 (quit) jeapostrophe: Ping timeout: 255 seconds 15:49 samth: eli: https://gist.github.com/1980985 15:50 samth: eli: would be nice to have in the `racket/promise' lib 15:56 (join) jeapostrophe 15:57 (join) RacketCommitBot 15:57 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/koFZow 15:57 RacketCommitBot: [racket/master] [honu] bind all attributes from a syntax class. allow multiple expressions in a match list - Jon Rafkind 15:57 RacketCommitBot: [racket/master] [honu] use syntax properties to differentiate parsed syntax from unparsed - Jon Rafkind 15:57 RacketCommitBot: [racket/master] [honu] fix some tests. always reparse the right hand side of an operator - Jon Rafkind 15:57 (part) RacketCommitBot 15:57 jonrafkind: the phase thing is in the guide there, i just forgot to write iti in the commit message 15:58 (join) dme 15:59 (join) nilyaK1 16:02 (quit) jeapostrophe: Ping timeout: 260 seconds 16:04 (join) jeapostrophe 16:06 (quit) ssbr_: Ping timeout: 276 seconds 16:10 asumu: jonrafkind: it'd be useful if you reply on the mailing list thread on it 16:10 asumu: just so people know about it. 16:11 jonrafkind: ok 16:11 asumu: And kudos on the guide entry. 16:12 (join) ssbr_ 16:13 jonrafkind: thanks 16:19 (nick) LeNsTR|off -> LeNsTR 16:20 (quit) ssbr_: Quit: Leaving 16:25 mimcpher: Is there an overview document of Racket's implementation? In particular, I'm wondering how much is written in C, and how plausible that would be to swap out for another language (Javascript) 16:26 jonrafkind: thats what dyoo's whalesong is 16:26 jonrafkind: racket implemented in javascript 16:26 eli: samth: It doesn't fit there for two reasons -- first, it's weird in its idea of what gets delayed (which your `printf' demonstrates), and a more important reason, the `delay/*'s implement different kinds of delaying but this is not doing that it's a composition of delays. You can see how having taht would require `delay/values/*' for every `delay/*' (which clarifies how this thing really wants to be a parameterized 16:26 eli: macro). 16:26 jonrafkind: according to dyoo there are over 800 primitives to implement 16:26 eli: samth: You can also do this: (define p (delay (printf "wheee\n") (list 1 2))) 16:27 jonrafkind: mimcpher, theres documentation on the abstract racket machine but not on the actual code itself 16:27 eli: samth: (define-values [x y] (values (lazy (car (force p))) (lazy (cadr (force p))))) 16:27 samth: eli: that doesn't work if the body of the expression produces multiple values in a non-trivial way 16:27 eli: samth: Which shows that it's really conflating two concepts, one packs two values in a single lazy wrapper, and the other does the convenience destructuring. 16:28 samth: eli: i think it's a more fundamental concept than that 16:28 samth: it provides a series of coordinated promises 16:28 eli: I'm not talking about a different implementation, I'm talking about it doing two different things, one is a promise. 16:29 eli: It's similar to a parallel map thing, implemented with promises -- there too you have a combinator but not a new kind of delayer. 16:32 (quit) yoklov: Quit: computer sleeping 16:32 (quit) gciolli: Quit: Leaving. 16:33 samth: eli: i disagree that it's not a new kind of delayer 16:33 samth: but we can argue about this some other time 16:33 eli: samth: That's easy to see. Why is the first `lazy' in your macro? 16:33 eli: Why not `delay/thread'? 16:34 eli: Why not `delay/idle'? 16:34 (join) yoklov 16:35 samth: that's all true -- it's orthogonal to that questino 16:35 samth: so clearly it should be parameterized over that, or provide different versions 16:36 samth: but that doesn't mean it isn't a fundamental sort of abstraction 16:36 eli: Exactly, it's a promise combinator, and `racket/promise' doesn't do these things. 16:36 eli: jonrafkind: You're using double quotes where you should use ``''. 16:37 eli: jonrafkind: You should make it a single evaluator unless you really need two separate ones -- those sandboxes are the main cost of running the docs. 16:37 jonrafkind: you have commit access 16:37 jonrafkind: J/K LOOOOOOOOOOL 16:38 (quit) crunchybumble: Ping timeout: 245 seconds 16:38 samth: eli: pr 675 makes me sad 16:39 eli: jonrafkind: "ignore socket communication" is weird, since it's any kind of communication, like file descriptors, plain files, persistent memory, etc. 16:39 jonrafkind: yea i sort of wrote that on the fly, probably a better analogy would do 16:40 eli: jonrafkind: One more point that is begging to be made is that phase numbers are relative coordinates -- it's kind of implicit but making it explicit early on will improve things considerably. 16:42 eli: jonrafkind: There's this: We get an error 'reference to an identifier before its definition: sbutton'. 16:42 eli: It uses quotes where an error fornt should be used. 16:42 eli: jonrafkind: What does it mean to 'import at phase 1' 16:43 eli: jonrafkind: -> What does it mean to ``import at phase 1'' 16:43 jonrafkind: ok uhh I mean why don't you just make these changes. is it more efficient for you to tell me what fixes to make and then for me to make them? 16:43 jonrafkind: i guess I don't really mind, it just seems sort of srtange 16:43 eli: Because each of this is probably having a bunch more, and there's also fixes to the text that require more careful reading through it. 16:45 eli: jonrafkind: Also, the existing section 16.2.4 should probably be tweaked a little, the least it should have is a pointer to the new section. 16:46 eli: samth: What's the problem there? 16:46 samth: eli: note the lack of a header indicating who it's from 16:46 eli: Is that the only one with that problem? 16:47 samth: don't know yet 16:47 samth: it's the first 16:47 eli: samth: you mean a `From:' header, or some gnats field 16:48 samth: a From: header 16:48 samth: eli: note that http://bugs.racket-lang.org/query/?cmd=view&pr=675 shows no reporter's email 16:49 eli: Does too. 16:50 eli: (fixed it) 16:52 samth: eli: turns out there are a bunch of others 16:53 (join) dnolen 16:53 samth: eli: so i'll just make the parser deal with them 16:57 (nick) LeNsTR -> LeNsTR|off 16:59 eli: samth: Better if you send me a list, since they're probably coming from different people. 16:59 eli: But probably fine to make your parser deal with them if they're bogus. 17:00 nilyaK1: '(bug bug bug bug bug) 17:02 (nick) LeNsTR|off -> LeNsTR 17:05 samth: eli: i'll send you a list once i have the whole list 17:07 (join) Enoria 17:10 (nick) LeNsTR -> LeNsTR|off 17:10 (quit) dme: Ping timeout: 260 seconds 17:13 (join) duomo 17:13 (quit) duomo: Client Quit 17:19 eli: stamourv: If you plan on interactions, then can't beat the simple sh syntax. (mv "old" "new") is way too verbose for the command-line syntax. 17:21 eli: stamourv: So my conclusion was that you really want to have two syntaxes, one sh-like for interactions, and the usual sexpr one for code. It's really the same thing that happens in shells too, where the style that many people use for scripting is very different than the style you'd use interactively. 17:22 eli: stamourv: Also, I have some (really ancient) code that makes building pipes easy, and also unifies subprocesses and racket threads so you can make pipes that mix both things with no difference to the rest of the code. 17:24 stamourv: eli: That thing was a quick experiment to see what it would be like to have your $PATH be your stdlib in Racket. 17:24 stamourv: Which, IMO, is one of the nice things about bash. 17:24 stamourv: I haven't really thought about syntax, or anything else really. 17:24 stamourv: But I'd be interested in looking at your code. 17:26 eli: stamourv: I don't think that you'd get much out of treating $PATH as more than what it is... 17:27 eli: But in any case, I sent you the code. 17:27 eli: (To justify some of the weird style there -- it's really ancient, the time stamp on that file is from 2002.) 17:29 stamourv: Re $PATH: I think that's actually pretty powerful. 17:29 stamourv: Re style: I've spent some time in the Swindle source, so I know what to expect. :P 17:30 (nick) LeNsTR|off -> LeNsTR 17:31 (quit) Skola: Quit: Lost terminal 17:33 eli: stamourv: Swindle should generally be better, 17:33 eli: What do you see in $PATH that is more than a search path? 17:38 stamourv: I see it as being a library. 17:41 gf3: does anyone mind if I make a small off-topic announcement? 17:41 gf3: #lisp minded ಠ_ಠ 17:42 stamourv: Go ahead. 17:43 (quit) fftb: Remote host closed the connection 17:44 gf3: some may find it useful that I made a super simple clojure pastebin with code eval: http://cljbin.com/ 17:44 gf3: example: http://cljbin.com/paste/4f4da1a6e4b06bdb1b33f987 17:44 gf3: that's all, thanks guys <3 17:45 samth: gf3: cool! 17:46 gf3: thanks, samth! 17:46 samth: gf3: i find it non-intuitive that "Paste" is the "Run" button 17:46 samth: and that "Fork" is the "Edit" button 17:46 gf3: samth: (soon) I intend to add a Run button, so you can run the code before Saving 17:46 samth: ah 17:47 gf3: samth: do you think that'll help? 17:47 samth: gf3: is it running on a server, or in clojurescript? 17:47 samth: that would help 17:47 gf3: samth: it's running on Heroku 17:47 samth: but you could say "Paste + Run" 17:47 samth: or "Save + Run" 17:47 gf3: ahh, good call, I like that wording 17:47 samth: and "Fork to edit" 17:49 asumu: gf3: slick design. 17:51 gf3: asumu: thank you! 17:51 gf3: samth: https://github.com/gf3/CLJBIN/commit/8a1af791a5a114634a0adbfb71190cf57e93d3e8 17:51 rudybot: http://tinyurl.com/73ozmss 17:52 jamessan: bremner: I think there's some room to clean up our build dependencies. Gtk, Pango, Cairo, and libffi are the only obvious dependencies (from src/README and src/configure) but then the collects use various libraries 17:52 (quit) nilyaK1: Quit: Leaving. 17:54 (quit) gf3: Quit: LOLeaving 17:54 jamessan: are the ffi-lib calls in the collects all used at build time, or are some of those runtime? is there a cut & dry way to tell? 17:55 samth: jamessan: some may only be used at runtime 17:55 samth: for example, the ones in the ffi examples directory :) 17:55 (join) gf3 17:56 (quit) gf3: Excess Flood 17:58 (join) gf3 18:02 jamessan: guess I'll take the "remove dependencies, build, compare build log/resulting binaries" approach then 18:04 (quit) asdfhjkl: Quit: Leaving 18:08 jamessan: huh, NEU thinks I'm a professor and that I have TRACE results... 18:14 (nick) LeNsTR -> LeNsTR|off 18:14 (nick) LeNsTR|off -> LeNsTR 18:18 (quit) jeapostrophe: Ping timeout: 246 seconds 18:18 samth: aaaaaargh, text encoding 18:19 (nick) LeNsTR -> LeNsTR|off 18:19 PfhorSlayer: I have a syntax that is expected to look like (new type key0 value0 key1 value1 ...). What I want to do is run each of those key value pairs through a separate syntax that may mutate them or whatever. What I can't figure out how to do is make that syntax return "key value" instead of "(key value)", so that the other syntax treats it correctly. 18:19 PfhorSlayer: Is there a way to do that? 18:20 samth: PfhorSlayer: macros can only expand to one form 18:20 samth: maybe you should make a separate new* version that takes (key value) 18:20 samth: and expands to the regular `new' 18:21 PfhorSlayer: oh! we have one of those! 18:21 PfhorSlayer: Is that what the * suffix usually denotes? 18:21 (quit) dnolen: Ping timeout: 245 seconds 18:21 PfhorSlayer: That the function takes pairs like that as lists, as opposed to raw elements? 18:22 samth: PfhorSlayer: no, the * denotes "like this other thing, but different" 18:22 PfhorSlayer: Ah 18:22 samth: like x' in math 18:23 PfhorSlayer: Implementor-defined meaning :) 18:31 (quit) realitygrill: Quit: realitygrill 18:36 stamourv: jamessan: Hope you got good evaluations. :P 18:36 stamourv: (And I just got the same email.) 18:37 stamourv: Which is odd, given that I'm not officially a TA. 18:54 (join) dous 19:01 PfhorSlayer: How do I write the syntax pattern that matches 1 or more pairs of items, not wrapped in a list? 19:02 PfhorSlayer: like, this should match: (foo 'a 'b 'c 'd 'e 'f) 19:02 samth: PfhorSlayer: use ~seq 19:02 PfhorSlayer: and also (foo 'a 'b) 19:02 PfhorSlayer: we haven't fully upgraded to racket yet, I don't think I have that 19:02 samth: oh, then you have to write your own recursive function 19:03 PfhorSlayer: like, one that pulls off the last elements and then operates on them and recurses on the remaining? 19:05 (join) duomo 19:05 (quit) sstrickl: Quit: sstrickl 19:08 (join) jeapostrophe 19:16 samth: PfhorSlayer: yup 19:19 (quit) kampsun: Ping timeout: 252 seconds 19:20 (join) gridaphobe 19:21 (nick) samth -> samth_away 19:24 (quit) dzhus: Remote host closed the connection 19:25 (quit) mceier: Quit: leaving 19:32 (quit) jeapostrophe: Ping timeout: 260 seconds 19:34 Diarmid: I know I missed the discussion by a long shot, but IPython and Scsh seem to use syntax not that far off from (mv "old" "new") and get on okay. I use IPython instead of Bash for most tasks, since I can work with files with spaces, ampersands, and so on in them, without worrying that somewhere there will be a lethal expansion or confusion about the arguments of some process called. 19:35 Diarmid: Python also has excellent string manipulation, and while you can get close with Awk and Sed, it's a lot slower, due to spawning all the processes. 19:38 offby1: just cause language X is better than bash doesn't mean it's good :) (disclaimer: I like Python fine) 19:41 Diarmid: offby1: This is true. My point was, since someone wants to use Racket in almost exactly the same way as IPython, the idea is definitely more workable than others seem to think. IPython has done it. I use it as my shell every day. I find it /way/ more convenient than Bash. I know less about Scsh, having only fiddled with it a little, but it's already a Scheme shell, so it should be even closer. Basically "this is not a sill 19:42 Diarmid: offby1: I'll take a few extra parens (or in IPython's case, object.method's) any day, to get reasonable handling of things like whitespace. :P 19:45 (quit) jonrafkind: Ping timeout: 245 seconds 19:46 (join) jeapostrophe 19:52 PfhorSlayer: is there a function that can take a list and split it up into sublists, each containing a certain number of elements from the original list? 19:53 PfhorSlayer: Basically I want ('a 'b 'c 'd 'e 'f 'g 'h) to turn into (('a 'b) ('c 'd) ('e 'f) ('g 'h)) 19:58 (join) francisl 20:02 (part) francisl 20:06 (quit) gridaphobe: Remote host closed the connection 20:15 asumu: PfhorSlayer: I can't think of one off the top of my head, but it's easy to define one. 20:16 asumu: rudybot: (define (by-n lst n) (if (empty? lst) '() (cons (take n lst) (by-n (drop n lst) n)))) 20:16 rudybot: asumu: Done. 20:17 asumu: rudybot: (by-n '(a b c d e f g h) 2) 20:17 rudybot: asumu: error: take: expects type as 2nd argument, given: '(a b c d e f g h); other arguments were: 2 20:17 asumu: rudybot: (define (by-n lst n) (if (empty? lst) '() (cons (take lst n) (by-n (drop lst n) n)))) 20:17 rudybot: asumu: Done. 20:17 asumu: rudybot: (by-n '(a b c d e f g h) 2) 20:17 rudybot: asumu: ; Value: ((a b) (c d) (e f) (g h)) 20:17 asumu: rudybot: (by-n '(a b c d e f g h) 3) 20:17 rudybot: asumu: error: take: index 3 too large for list: '(g h) 20:17 asumu: Heh. 20:20 PfhorSlayer: Ah, cool 20:20 PfhorSlayer: Thanks :) 21:16 (join) yoklov_ 21:20 (quit) yoklov: Ping timeout: 272 seconds 21:32 (join) samth 21:32 (join) nilyaK 21:38 (join) vkz 22:24 (join) acarrico 22:25 (quit) yoklov_: Quit: computer sleeping 22:27 (nick) LeNsTR|off -> LeNsTR 22:30 (join) jonrafkind 22:33 (nick) LeNsTR -> LeNsTR|off 22:35 (quit) samth: Quit: Ex-Chat 22:35 eli: danking, stamourv: ping 22:37 (join) mithos28 22:40 (join) dnolen 23:08 (join) yoklov 23:32 eli: jonrafkind: ping 23:32 offby1: whoa, don't flood the channel 23:34 eli: Yeah, it's like a graveyard party here. 23:38 (nick) offby1 -> [o 23:38 (nick) [o -> offby1 23:45 ozzloy: so udacity is doing "the design of computer programs" starting april 16th 23:46 ozzloy: any chance that's based on "how to design programs"? 23:46 (quit) masm: Quit: Leaving. 23:46 (join) nilyaK1 23:48 (quit) nilyaK: Ping timeout: 255 seconds 23:49 eli: ozzloy: Judging by the promo video that I'm looking at, very highly unlikely... 23:53 jonrafkind: eli, pong 23:53 ozzloy: eli, link? 23:54 eli: ozzloy: http://www.udacity.com/overview/Course/cs101 23:55 eli: ozzloy: It just reeks of "popular". 23:55 ozzloy: oh, but this is CS212, not cs101 23:55 eli: jonrafkind: Do you plan to fix those things, or should I do some stuff now? 23:55 ozzloy: yes, it does aim to be popular 23:55 ozzloy: but i'm guessing the answer is "no" 23:55 jonrafkind: those alternatives are not mutually exclusive 23:55 jonrafkind: the answer to both is yes 23:56 (nick) nilyaK1 -> nilyaK 23:56 ozzloy: because they would have talked to you at some point 23:56 ozzloy: i just hoped and the names were similar 23:57 eli: ozzloy: Well, name-dropping sergey from google for a CS intro course is not really a promising direction... 23:57 eli: Not that I have anything against him, only against the idea of having him talk in an attempt to look popular. 23:58 eli: Same goes for the obligatory mention of his AI course that attracted "hundred thousand people". 23:58 mithos28: one of the teachers was a google fellow as well 23:58 eli: Right -- not a good sign either... 23:59 eli: (Not the google-fellow-ness, just the mentioning of that.) 23:59 eli: jonrafkind: The thing is that if you started to work on that, then any commit I'll make will mess things up for you. 23:59 mithos28: The syllabus made it look bad for me, starting with extracting a link 23:59 jonrafkind: go ahead 23:59 ozzloy: i'm surprised by this reaction. what would you rather them do?