00:06 (join) manu3000 00:09 shawnps: if anyone is on coderwall, i made a client in racket: https://github.com/shawnps/coderwall_racket 00:15 neilv: if anyone stabs their eyes with hot knitting needles, i've made a program in racket to help with that 00:16 jonrafkind: so its for when debugging c++? 00:24 (join) RacketCommitBot 00:24 RacketCommitBot: [racket] plt pushed 7 new commits to master: http://git.io/VAb39A 00:24 RacketCommitBot: [racket/master] ffi: fix big-endian s->c conversion of bytes and shorts - Matthew Flatt 00:24 RacketCommitBot: [racket/master] add `variable-reference->module-path-index' - Matthew Flatt 00:24 RacketCommitBot: [racket/master] fix expansion state on `provide' transformer exception - Matthew Flatt 00:24 (part) RacketCommitBot 00:25 shawnps: neilv: was it bad for me to post that? 00:27 (join) Fare 00:27 neilv: no, not at all 00:28 neilv: you might wish to make a planet package too 00:30 shawnps: oh, okay. sorry, the needles in eyes thing was lost on me. 00:31 (quit) kvda: Quit: x__x 00:33 (join) kvda 00:36 (quit) zyoung: Remote host closed the connection 00:43 (join) nilyaK 00:45 (join) yoklov 00:50 (join) jeapostrophe 00:50 (quit) jeapostrophe: Changing host 00:50 (join) jeapostrophe 00:55 (quit) RPR: Ping timeout: 272 seconds 01:08 (quit) jeapostrophe: Ping timeout: 265 seconds 01:10 (quit) jao: Ping timeout: 272 seconds 01:17 (quit) ssbr: Ping timeout: 240 seconds 01:17 (quit) kvda: Ping timeout: 260 seconds 01:18 (join) ssbr 01:20 (join) kvda 01:31 (join) ambrosebs 01:36 (quit) manu3000: Quit: manu3000 01:39 (quit) yoklov: Quit: computer sleeping 01:41 (quit) getpwnam: Ping timeout: 252 seconds 02:03 (quit) neilv: Quit: Leaving 02:09 (join) hkBst 02:09 (quit) hkBst: Changing host 02:09 (join) hkBst 02:35 (join) jacius 02:51 (quit) mye: Ping timeout: 252 seconds 03:13 (quit) kvda: Quit: Computer has gone to sleep. 03:14 (join) kvda 03:17 (join) sestisr 03:19 (join) bluezenix 03:19 (quit) jonrafkind: Ping timeout: 252 seconds 03:29 (join) antithesis 03:30 (join) RacketCommitBot 03:30 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/3_hCNg 03:30 RacketCommitBot: [racket/master] New Racket version 5.3.0.8. - Eli Barzilay 03:30 (part) RacketCommitBot 03:38 (join) ahinki 03:39 (quit) kvda: Quit: x__x 03:39 (join) kvda 03:40 (quit) kvda: Client Quit 03:41 (quit) jacius: Ping timeout: 276 seconds 03:42 (join) kvda 03:42 (quit) asumu: Ping timeout: 272 seconds 03:43 (quit) duomo: Quit: Linkinus - http://linkinus.com 03:45 (quit) dented42: Read error: Operation timed out 03:46 (join) dented42 03:48 (join) asumu 03:49 (join) djcb 04:12 (quit) jyc: Read error: Connection reset by peer 04:30 (quit) Fare: Ping timeout: 245 seconds 04:41 (quit) kvda: Quit: Computer has gone to sleep. 04:56 (join) tim-brown 05:03 (quit) antithesis: Quit: yes leaving 05:08 (join) nilyaK1 05:09 (quit) nilyaK: Ping timeout: 265 seconds 05:28 (join) mceier 05:29 (quit) nilyaK1: Quit: Leaving. 05:41 (join) ahinki_ 05:42 (join) ahinki__ 05:42 tim-brown: is there a really simple macro/syntax building tutorial for someone who just doesn't seem to get it (i.e. me)? 05:43 (quit) ahinki: Ping timeout: 245 seconds 05:45 (quit) ahinki_: Ping timeout: 245 seconds 05:57 (join) ahinki 05:59 (join) dzhus 05:59 (quit) ahinki__: Ping timeout: 245 seconds 06:07 (join) masm 06:08 (join) graspee 06:09 (join) bitonic 06:17 (quit) bitonic: Quit: WeeChat 0.3.7 06:18 (join) bitonic 06:26 (quit) masm: Read error: Connection reset by peer 06:28 (join) masm 06:40 (quit) bluezenix: Quit: Leaving. 07:27 (join) flying_rhino 07:27 (quit) dzhus: Read error: Connection reset by peer 07:28 (quit) sestisr: Ping timeout: 250 seconds 07:35 (join) zx80 07:36 (join) marcdinkum 07:45 (join) mye 08:01 (join) sestisr 08:02 (join) jeapostrophe 08:02 (quit) jeapostrophe: Changing host 08:02 (join) jeapostrophe 08:07 (join) kanak 08:07 (join) untrusted 08:30 (join) bluezenix 08:30 (quit) masm: Quit: Leaving. 08:32 (join) yoklov 08:39 (join) masm 08:45 (join) jix 08:49 (join) zyoung 08:56 (join) getpwnam 09:20 (quit) zx80: Ping timeout: 272 seconds 09:29 (quit) getpwnam: Ping timeout: 240 seconds 09:31 (quit) acarrico: Ping timeout: 265 seconds 09:37 (quit) jeapostrophe: Ping timeout: 260 seconds 09:41 (quit) marcdinkum: Ping timeout: 272 seconds 09:43 (quit) yoklov: Quit: computer sleeping 10:06 (join) acarrico 10:08 (quit) djcb: Remote host closed the connection 10:10 (quit) dnolen: Ping timeout: 255 seconds 10:22 (quit) sestisr: Ping timeout: 252 seconds 10:24 (join) aalix 10:28 asumu: tim-brown: what have you tried so far? 10:28 asumu: Have you read, for example, the PLAI chapter on it? 10:29 asumu: http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/ 10:29 asumu: (pg 315 or 319) 10:31 tim-brown: i'll take a look at it, thanks 10:32 asumu: I think it's pretty good. 10:32 asumu: OTOH, it doesn't cover the "state of the art" in macros since that's not the book's purpose. 10:32 asumu: I think such a document is currently missing. 10:32 tim-brown: there seem to be lots of competing forms for syntax-rules which get me too bogged down 10:34 asumu: There are really only two to care about: syntax-rules (or simple variations like define-syntax-rule) and syntax-parse. 10:34 tim-brown: the thing that gets me is that (define-syntax id (syntax-rules () ...)) is such a common construct, yet there is no simple (as in non-compound) form for it 10:35 asumu: syntax-id-rules 10:35 tim-brown: is that so? 10:35 asumu: Err, unless you mean somethign else. 10:35 asumu: Oh I see 10:35 tim-brown: nah... sorry didn't mean to come across harshly 10:35 asumu: There is (define-syntax-rule ...) 10:35 asumu: Nah, I didn't take it that way. 10:36 asumu: rudybot: (define-syntax-rule (my-or x ...) [(_ x y ...) (if x x (my-or y ...))] [(_ x) (if x x #f)]) 10:36 rudybot: asumu: your sandbox is ready 10:36 rudybot: asumu: error: #:1:71: define-syntax-rule: too many forms at: ((_ x) (if x x #f)) in: (define-syntax-rule (my-or x ...) ((_ x y ...) (if x x (my-or y ...))) ((_ x) (if x x #f))) 10:37 asumu: Right, that won't work. 10:37 asumu: Anyway, it's hard to shorten it because you need the multiple patterns. 10:37 asumu: With define-syntax-rule you can define very simple macros that only have a single pattern. 10:38 tim-brown: i'll plough on through plai 10:38 tim-brown: asumu: thanks 10:39 asumu: (and sorry, id syntax has nothing to do with what you were saying, I just misunderstood :)) 10:39 asumu: tim-brown: NP. 10:39 asumu: rudybot: (define-syntax my-or (syntax-rules () [(_ x y ...) (if x x (my-or y ...))] [(_ x) (if x x #f)]) 10:39 rudybot: asumu: the part of the config written by my(or stolen from others) is about 1500 lines 10:40 asumu: rudybot: (define-syntax my-or (syntax-rules () [(_ x y ...) (if x x (my-or y ...))] [(_ x) (if x x #f)])) 10:40 rudybot: asumu: Done. 10:40 asumu: rudybot: (my-or #t #f) 10:40 rudybot: asumu: error: #:1:59: my-or: bad syntax in: (my-or) 10:40 asumu: Heh 10:40 tim-brown: you doing this to make me feel not bad about macros? 10:41 asumu: rudybot: (define-syntax my-or (syntax-rules () [(_ x y ...) (if x x (my-or y ...))] [(_) #f])) 10:41 rudybot: asumu: Done. 10:41 asumu: rudybot: (my-or #t #f) 10:41 rudybot: asumu: ; Value: #t 10:41 tim-brown: woo 10:41 asumu: :p 10:41 asumu: It's hard to live REPL things correctly. 10:41 asumu: If only you could do xrepl through IRC. 10:42 asumu: (I guess this is where people tell me to use emacs for IRC) 10:42 asumu: Also pretty sure my or macro is missing the singleton case, but ah well. 10:43 (join) getpwnam 10:43 offby1: asumu: emacs/IRC doesn't help much in this case 10:44 (quit) hkBst: Quit: Konversation terminated! 10:45 bremner: ssssh, we almost had another convert. 10:45 (join) marcdinkum 10:50 (quit) ahinki: Quit: ChatZilla 0.9.88.2 [Firefox 13.0/20120509070325] 11:02 (join) nilyaK 11:05 (quit) gerardpaapu: Ping timeout: 265 seconds 11:08 (join) gerardpaapu 11:13 (join) stis 11:19 (quit) gerardpaapu: Read error: Connection reset by peer 11:20 (join) jacius 11:26 (join) gerardpaapu 11:27 (join) jeapostrophe 11:27 (quit) jeapostrophe: Changing host 11:27 (join) jeapostrophe 11:27 (quit) nilyaK: Quit: Leaving. 11:30 (join) tfb 11:40 (join) flying_rhino|2 11:44 (quit) flying_rhino: Ping timeout: 255 seconds 11:45 (join) pmatey 11:46 (quit) marcdinkum: Ping timeout: 265 seconds 11:55 (quit) bluezenix: Quit: Leaving. 11:56 (part) untrusted: "ERC Version 5.3 (IRC client for Emacs)" 12:07 (quit) masm: *.net *.split 12:07 (quit) ambrosebs: *.net *.split 12:07 (quit) cataska_: *.net *.split 12:07 (quit) jrslepak_neu: *.net *.split 12:07 (quit) jschuster: *.net *.split 12:08 (join) flying_rhino 12:12 (join) masm 12:12 (join) ambrosebs 12:12 (join) cataska_ 12:12 (join) jrslepak_neu 12:12 (join) jschuster 12:17 (join) yoklov 12:17 (join) nilyaK 12:19 (quit) jrslepak: Quit: This computer has gone to sleep 12:27 (join) Petit_Dejeuner_ 12:30 (quit) nilyaK: Quit: Leaving. 12:45 (quit) tim-brown: Remote host closed the connection 12:47 (quit) yoklov: Quit: computer sleeping 12:51 (part) Petit_Dejeuner_: "Leaving" 13:10 (join) gridaphobe 13:10 (quit) tfb: Quit: sleeping 13:14 (join) djcb 13:17 (join) jonrafkind 13:22 (join) RacketCommitBot 13:22 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/jvO6SA 13:22 RacketCommitBot: [racket/master] Fixed ellipses in scaled icons after fix to draw-ellipse in commit 1432912357 (mflatt); had been relying on earlier buggy behavior - Neil Toronto 13:22 (part) RacketCommitBot 13:27 (join) netrino 13:38 (part) jix 13:45 (quit) pmatey: Quit: leaving 14:00 (join) dzhus 14:03 (quit) cdidd: Remote host closed the connection 14:06 (quit) djcb: Remote host closed the connection 14:11 (quit) dented42: Quit: Computer has gone to sleep. 14:14 (quit) getpwnam: Ping timeout: 245 seconds 14:20 (quit) flying_rhino|2: Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/ 14:20 (quit) flying_rhino: Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/ 14:29 (part) ambrosebs 14:40 (join) djcb 14:56 (quit) mye: Read error: Connection reset by peer 14:58 (join) mye 15:08 (quit) jonrafkind: Ping timeout: 252 seconds 15:08 (quit) aalix: 15:10 (join) dented42 15:12 (join) getpwnam 15:13 (join) jonrafkind 15:17 (join) aalix 15:28 (join) zx80 15:28 (join) mye_ 15:29 (join) kreol[Ukr] 15:30 (quit) djcb: Remote host closed the connection 15:31 (quit) mye: Ping timeout: 248 seconds 15:41 (join) djcb 15:48 (join) snearch 15:48 (quit) snearch: Read error: Connection reset by peer 15:48 (join) snearch 15:54 (join) yoklov 15:54 (quit) snearch: Quit: Verlassend 15:56 (quit) zx80: Ping timeout: 272 seconds 15:59 (join) bluezenix 15:59 (join) andkerosine 16:00 andkerosine: It seems unlikely that (if [boolean]) isn't possible in Racket; what am I missing? 16:01 Cryovat: What are you trying to do? 16:01 bremner: andkerosine: you can use when 16:02 bremner: andkerosine: assuming you want a 1 armed if. But I'm not so sure 16:02 andkerosine: bremner: Thanks much. Exactly what I was looking for. 16:02 andkerosine: Why is if only allowed to take procedures? 16:03 bremner: rudybot: init racket 16:03 rudybot: bremner: your sandbox is ready 16:03 bremner: rudybot: eval (when #f (/ 1 0)) 16:03 rudybot: bremner: Done. 16:03 jeapostrophe: andkerosine: what do you mean "only allowed to take procedures"? 16:05 andkerosine: Ack, disregard the entire question. : / Wrapping the boolean in parentheses was the issue. 16:05 bremner: I wondered about that. 16:06 andkerosine: Still, seems like a learning opportunity. Why doesn't (#t) just evaluate to true? 16:07 bremner: because (foo) means procedure call 16:07 andkerosine: Fair enough. 16:07 bremner: () are not optional for grouping in lisp/scheme/racket 16:08 andkerosine: Rather, the opposite is the takeaway; you're not allowed to have extraneous ones either. 16:08 bremner: ((foo)) needs a procedure that returns a procedure, analogous to ** if you know C 16:08 jeapostrophe: and #t is not a function that can be called 16:10 (join) JoelMcCracken 16:19 (quit) yoklov: Quit: computer sleeping 16:21 (join) yoklov 16:25 (quit) kanak: Ping timeout: 244 seconds 16:32 andkerosine: (define-values (left right) (regexp-split "\t" foo)) 16:32 andkerosine: How does one go about "exploding" a list to do that sort of parallel assignment? 16:33 jeapostrophe: (apply values list-expression) 16:33 jeapostrophe: or 16:33 jeapostrophe: (match-define (list one two three) list-expression) 16:35 (join) nilyaK 16:35 andkerosine: Thank you. 16:36 (join) kanak 16:37 andkerosine: I tried applying append, but values makes much more sense. 16:37 (quit) jacius: Quit: Leaving 16:47 (quit) nilyaK: Quit: Leaving. 16:48 (join) bitonic_ 17:02 (join) manu3000 17:09 (part) andkerosine 17:09 (quit) karswell: Remote host closed the connection 17:09 (quit) gridaphobe: Remote host closed the connection 17:15 (part) manu3000 17:16 (join) manu3000 17:19 (join) karswell 17:24 (quit) dented42: Ping timeout: 240 seconds 17:24 (join) malkomalko 17:25 (join) dented42 17:26 (part) malkomalko 17:48 (quit) karswell: Read error: Connection reset by peer 17:53 (quit) JoelMcCracken: Ping timeout: 244 seconds 17:57 (join) karswell 17:57 (quit) mye_: Ping timeout: 244 seconds 18:06 (quit) kanak: Ping timeout: 248 seconds 18:08 (quit) netrino: Ping timeout: 240 seconds 18:11 (quit) jeapostrophe: Ping timeout: 256 seconds 18:22 (join) jyc 18:28 (quit) dzhus: Read error: Operation timed out 18:29 (quit) bluezenix: Quit: Leaving. 18:33 Cryovat: Is there a built-in function to convert degrees to radians? 18:34 asumu: Cryovat: I don't think so. I've written this many times myself. 18:34 (quit) karswell: Remote host closed the connection 18:34 asumu: Oh, actually. 18:34 asumu: See plot/utils 18:34 asumu: If you have a recent version of plot. 18:34 (quit) yoklov: Quit: computer sleeping 18:34 asumu: OTOH, it doesn't really make sense to pull in all of plot for this. 18:35 asumu: (you could do (only-in plot/utils degrees->radians)) 18:36 Cryovat: Thanks, I think i'll write one then 18:36 Cryovat: I don't really want a package dependency for one function 18:37 (part) stis 18:39 (join) anRch 18:48 (join) karswell 18:51 (quit) aalix: Quit: Computer has gone to sleep. 18:59 (quit) bitonic_: Quit: WeeChat 0.3.7 19:04 (quit) acarrico: Ping timeout: 252 seconds 19:14 (join) jrslepak 19:18 (quit) mceier: Quit: leaving 19:20 (join) jeapostrophe 19:20 (quit) jeapostrophe: Changing host 19:20 (join) jeapostrophe 19:27 (join) acarrico 19:29 (quit) karswell: Remote host closed the connection 19:35 (quit) anRch: Quit: anRch 19:39 (quit) kreol[Ukr]: Ping timeout: 272 seconds 19:39 (join) karswell 19:49 (quit) karswell: Read error: Connection reset by peer 19:52 (join) kvda 19:57 (join) Demosthenes 20:00 (join) karswell 20:32 (quit) karswell: Remote host closed the connection 20:40 (quit) zyoung: Ping timeout: 245 seconds 20:42 (join) karswell 20:43 (quit) kvda: Ping timeout: 260 seconds 20:45 (join) kvda 20:50 (join) zyoung 20:55 (join) zx80 21:02 (quit) zyoung: Remote host closed the connection 21:03 (quit) zx80: Ping timeout: 240 seconds 21:06 (join) cdidd 21:08 (quit) karswell: Read error: Connection reset by peer 21:18 (join) karswell 21:23 (quit) karswell: Remote host closed the connection 21:23 (quit) dgs: Remote host closed the connection 21:23 (join) zyoung 21:24 (join) zx80 21:28 (quit) asumu: Quit: leaving 21:31 (quit) snorble_: Read error: Connection reset by peer 21:31 (join) snorble_ 21:33 (join) karswell 21:36 (quit) karswell: Read error: Connection reset by peer 21:39 (quit) masm: Quit: Leaving. 21:43 (quit) zx80: Ping timeout: 245 seconds 21:44 (join) presoh 21:46 (join) karswell 21:50 (quit) karswell: Remote host closed the connection 21:51 presoh: Hi, I'm new to using the Racket. I've previously only programmed in the Python programming language and I was wondering if there is any way to spawn new processes, connect to their input/output/error pipes, and obtain their return codes? 21:52 presoh: In Python there a module you can import, called subprocess that can do this, http://docs.python.org/library/subprocess.html, I'm just wondering if there is any way to do this in Racket. 21:56 bremner: presoh: I'm not sure about that "spawn model", but there are places http://docs.racket-lang.org/guide/performance.html?q=places#(part._effective-places) 21:56 jonrafkind: there is a subprocess thing in racket 21:56 jonrafkind: I think places is is the wrong answer 21:56 bremner: could well be. 21:56 jonrafkind: presoh, http://docs.racket-lang.org/reference/subprocess.html?q=subprocess#(def._((quote._~23~25kernel)._subprocess)) 21:58 bremner: I guess that gives the flexibility of running any command in the subprocess 21:59 presoh: Thanks, that was exactly what I was looking for 22:00 offby1: presoh: note that there are a lot of subprocess procedures, and (at least I find) it's tricky figuring out which one you want. 22:00 offby1: if I recall correctly, there isn't one which searches your PATH without invoking a shell 22:00 offby1: ... and that's what I always seem to want :-| 22:01 (join) karswell 22:09 presoh: offby1: I'll keep that in mind 22:10 (part) presoh 22:10 (quit) karswell: Read error: Connection reset by peer 22:13 (quit) graspee: Quit: past my bed time 22:18 (join) veer 22:20 (join) Kaylin 22:20 (join) karswell 22:23 (join) RacketCommitBot 22:23 RacketCommitBot: [racket] plt pushed 5 new commits to master: http://git.io/XeRZtw 22:23 RacketCommitBot: [racket/master] add `relative-in' - Matthew Flatt 22:23 RacketCommitBot: [racket/master] fix problem with module contexts and marks - Matthew Flatt 22:23 RacketCommitBot: [racket/master] fixes for `scribble/srcdoc' - Matthew Flatt 22:23 (part) RacketCommitBot 22:37 (quit) dented42: Ping timeout: 250 seconds 22:46 (quit) veer: Quit: Leaving 23:09 (join) RacketCommitBot 23:09 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/4bUilw 23:09 RacketCommitBot: [racket/master] fix interaction between the framework's first-line-mixin and - Robby Findler 23:09 RacketCommitBot: [racket/master] adjusted the contract error messages so that the words expected/promised - Robby Findler 23:09 (part) RacketCommitBot 23:28 (join) dented42 23:31 (quit) karswell: Remote host closed the connection 23:32 (join) yoklov 23:40 (join) asumu 23:41 (join) karswell 23:46 (quit) ivan\: Ping timeout: 272 seconds 23:48 (join) ivan\