00:03 (quit) hash_table: Ping timeout: 255 seconds 00:09 (quit) dnolen: Remote host closed the connection 00:14 (join) dnolen 00:22 (join) bjz 00:40 (quit) jeapostrophe: Ping timeout: 255 seconds 01:46 (quit) adu: Quit: adu 01:47 asumu: Just saw this: http://cxwangyi.wordpress.com/2012/07/22/why-go-use-racket/ 01:47 asumu: from http://www.reddit.com/r/programming/comments/x3zur/why_go_use_racket/ 01:49 mithos28: The channels being slow is a suprise to me 01:50 mithos28: thats in the follow up post 01:54 mithos28: How slow should making a channel and a thread be? 02:00 asumu: Yeah, I was surprised too. 02:02 mithos28: I think it is creating the threads 02:10 mithos28: Wow it is also creating tons of garbage 02:16 mithos28: https://gist.github.com/3224211 02:16 mithos28: Something is up with gc there 02:26 (join) hkBst 02:26 (quit) hkBst: Changing host 02:26 (join) hkBst 02:26 (quit) jonrafkind: Ping timeout: 260 seconds 02:30 (join) antithesis 02:38 asumu: It's not a linear growth with 'n' either. 02:39 mithos28: Well it should be around quadratic 02:39 mithos28: after constant allocation it does a gc which is linear 02:39 mithos28: assuming the nursery size is constant 02:40 (quit) Kaylin: Quit: Leaving. 02:40 mithos28: I can make a chain of 400 times more boxes and have the same time to collect the garbage 03:07 (quit) Shviller: Ping timeout: 248 seconds 03:07 (quit) dnolen: Quit: ERC Version 5.3 (IRC client for Emacs) 03:08 (join) Shviller 03:12 (join) djcoin 03:35 (quit) mithos28: Quit: mithos28 03:39 (join) mithos28 04:04 (quit) mithos28: Quit: mithos28 04:06 (join) MightyFoo 04:11 (nick) MightyFoo -> tim-brown 04:12 tim-brown: rudybot: #t 04:12 rudybot: tim-brown: your sandbox is ready 04:12 rudybot: tim-brown: ; Value: #t 04:13 tim-brown: what distinuishes _ as a wildcard, vs _ as a bound value? 04:13 tim-brown: rduybot: (define (foo x) (_ x)) 04:13 tim-brown: rudybot: (define (foo x) (_ x)) 04:13 rudybot: tim-brown: error: #:1:16: _: wildcard not allowed as an expression in: (_ x) 04:13 tim-brown: rudybot: (define (foo x) (Z x)) 04:13 rudybot: tim-brown: Done. 04:13 tim-brown: rudybot: (define (foo x) (xxyy x)) 04:13 rudybot: tim-brown: Done. 04:14 tim-brown: rudybot: (let _ ((x 2)) (if (= x 0) 0 (+ x (_ (- x 1))))) 04:14 rudybot: tim-brown: ; Value: 3 04:14 tim-brown: has the syntactic nature of _ changed in the let binding vs in the first define of foo? 04:15 tim-brown: what forms are there available to "experiment" and "investigate" how things are biynd? 04:15 tim-brown: s/biynd/bound 04:49 (join) mceier 04:56 (join) masm 05:04 (join) dalaing 05:05 (quit) vu3rdd: Ping timeout: 240 seconds 05:18 (part) dalaing 05:39 (join) gciolli 06:06 (join) mithos28 06:06 (quit) mithos28: Client Quit 06:11 (join) vu3rdd 06:11 (quit) vu3rdd: Changing host 06:11 (join) vu3rdd 06:16 (quit) antithesis: Quit: antithesis 06:21 (join) soegaard 06:22 soegaard: tim-brown: There is nothing special about the identifier _. There is just a convention that if _ is used in say (define-values (a _) (values 41 42)) then the programmer do not intend to use the second value returned. 06:25 (join) antithesis 06:33 (quit) antithesis: Quit: antithesis 06:47 tim-brown: rudybot: _ 06:47 rudybot: tim-brown: error: #:1:0: _: wildcard not allowed as an expression in: _ 06:47 tim-brown: rudybot: x 06:47 rudybot: tim-brown: error: reference to an identifier before its definition: x in module: 'program 06:48 tim-brown: soegaard: is the error handling determining whether this is not defined or "wildcard", then? 06:58 soegaard: tim-brown: Hmm. You made me look up _ in the docs. In a normal program such as in (define _ 3) there is nothing special about _ at all. However _ is allowed as a pattern in syntax-case. When using syntax-case one can use accidentally use _ outside a pattern. Normally this would lead to an "_ is an unbound identifier" error. To improved this error message (I believe that is correct reason) _ has a transformer binding that effectively changes the error to 06:58 soegaard: "wildcard not allowed as an expression in: _". 06:59 soegaard: It would be more precise to have the error "the _ wildcard not allowed as an expression (unless previously bound) in: _" 06:59 soegaard: rudybot: (define _ 42) _ 06:59 rudybot: soegaard: hmmm.. (define ((x)) 1) 06:59 (join) antithesis 07:00 soegaard: rudybot: (let () (define _ 42) _) 07:00 rudybot: soegaard: your sandbox is ready 07:00 rudybot: soegaard: ; Value: 42 07:01 tim-brown: [BTW, this all comes from some sloppy programming on my part, but I want to be accused of the right error] 07:01 soegaard: yeah, the error is misleading if one is not using syntax-case 07:01 tim-brown: rudybot: (define woo 42) woo 07:01 rudybot: tim-brown: Woo, Debian has frozen. 07:02 tim-brown: why is rudybot being obtuse? 07:02 soegaard: No idea. 07:03 soegaard: rudybot: "Foo" 07:03 rudybot: soegaard: ; Value: "Foo" 07:03 tim-brown: the error spring from me refactoring an "anonymous" inner let function out to a define, and then forgetting to relabel the recursive calls to _ 07:04 tim-brown: (define (x ...) (let _ ((acc 0) (x x) ...) (_ (add1 acc) (sub1 x)))) 07:04 tim-brown: becomes: 07:04 soegaard: I usually name them "loop". 07:05 tim-brown: (define (x ...) (sub-x 0 x)) (define (sub-x acc x) (_ (add1 acc) (sub1 x))) 07:05 tim-brown: you see the oops, that i forgot to relabel the _ 07:06 soegaard: I love the rename feature of syntax-check in DrRacket. 07:06 soegaard: Perfect for your case. 07:06 tim-brown: oh, not seen that... will look out for it 07:07 tim-brown: i;ve avoided loop, assuming it's an already defined form 07:07 (join) mithos28 07:07 (quit) mithos28: Client Quit 07:07 tim-brown: and 'inner' is used by the OO system 07:07 tim-brown: so I fell back to _ 07:08 soegaard: After clicking syntax-check (or all the time if you have incremental syntax-check on) you can right click an identifier (here _) and choose rename. The all uses with the same binding is remained. 07:08 soegaard: The -> Then 07:08 tim-brown: smashing! 07:09 soegaard: remainded -> renamed 07:12 tim-brown: sounded right the first time 07:30 (join) bitonic 07:43 (join) jeapostrophe 07:46 (quit) vu3rdd: Ping timeout: 264 seconds 08:02 (quit) gciolli: Quit: Leaving. 08:05 (join) kanak 08:07 (quit) soegaard: Quit: soegaard 08:08 (join) mithos28 08:08 (quit) mithos28: Client Quit 08:37 (join) noelw 08:52 (join) hash_table 08:54 (quit) jeapostrophe: Ping timeout: 246 seconds 08:57 (join) WangBin 08:58 WangBin: !! 08:58 (part) WangBin 09:04 (join) ambrosebs 09:09 (quit) ambrosebs: Ping timeout: 246 seconds 09:13 asumu: The next release will have so many features. :) 09:14 asumu: tim-brown: I don't think `loop` is used for any built-in binding. 09:14 asumu: Maybe because (let loop ...) is so common 09:16 asumu: Although mzlib/etc has a `loop-until`. 09:16 (quit) hash_table: Ping timeout: 252 seconds 09:40 (join) vu3rdd 09:40 (quit) vu3rdd: Changing host 09:40 (join) vu3rdd 09:49 (join) wadleigh 10:07 (join) ssbr_ 10:13 (join) dnolen 10:24 (quit) mceier: Quit: leaving 10:25 (join) anRch 10:26 tim-brown: printf("%2.2f"...) is there any way to format (or round) an inexact to n decimal places? 10:36 vu3rdd: tim-brown: unstable/cat has a function called catnp 10:36 vu3rdd: perhaps that will satisfy your needs? 10:36 vu3rdd: http://pre.racket-lang.org/docs/html/unstable/cat.html?q=catn#(def._((lib._unstable/cat..rkt)._catnp)) 10:38 (join) hash_table 10:42 (join) ambrosebs 10:43 tim-brown: ooh shiney! 10:44 (join) samth 10:49 (join) chturne 10:50 (quit) wadleigh: Quit: wadleigh 10:50 stamourv: rudybot: doc real->decimal-string 10:50 rudybot: stamourv: your sandbox is ready 10:50 rudybot: stamourv: http://docs.racket-lang.org/reference/generic-numbers.html#(def._((lib._racket%2Fprivate%2Fbase..rkt)._real-~3edecimal-string)) 10:51 stamourv: tim-brown: ^ 10:51 stamourv: Re rudybot being obtuse: It tries to read the line as a single expression, otherwise, it replies with "relevant" text it has seen before. 10:52 stamourv: To evaluate a line with multiple expressions, you need to explicitly ask it to `eval', or send each expression separately. 10:52 stamourv: rudybot: (define woo 42) woo 10:52 rudybot: stamourv: woo, my commute just got 2 minutes shorter 10:52 stamourv: rudybot: eval (define woo 42) woo 10:52 rudybot: stamourv: ; Value: 42 10:52 stamourv: rudybot: (define woo 42) 10:52 rudybot: stamourv: Done. 10:52 stamourv: rudybot: woo 10:52 rudybot: stamourv: ; Value: 42 10:56 (join) wadleigh 10:59 (quit) jrslepak: Quit: This computer has gone to sleep 11:03 (quit) hkBst: Quit: Konversation terminated! 11:03 tim-brown: stamourv: thx 11:04 tim-brown: dyou know how log rudybot keeps sandboxes for? 11:05 (join) soegaard 11:09 stamourv: I don't know. 11:10 stamourv: But we can find out! 11:10 stamourv: rudybot: source 11:10 rudybot: stamourv: git clone git://github.com/offby1/rudybot.git 11:10 (join) RacketCommitBot 11:10 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/zRB-tA 11:10 RacketCommitBot: [racket/master] clarify define-extended-language example - Burke Fetscher 11:10 (part) RacketCommitBot 11:12 stamourv: tim-brown: From a quick glance at the code, it seems there's a maximum number of sandboxes, and once that's reached, the one that's been unused the longest is evicted. 11:14 soegaard: rudybot: help 11:14 rudybot: soegaard: bug ..., help [], version, quote, source, url, seen , uptime, t8 ..., init [], eval ..., give ..., apropos ..., desc , doc 11:14 soegaard: rudybot: help bug 11:14 rudybot: soegaard: bug ...: You suck. 11:15 soegaard: err 11:15 stamourv: Fixing that may be worth a pull request... 11:16 (quit) dnolen: Ping timeout: 252 seconds 11:18 soegaard: Any thoughts on this name: http://kybernetikos.github.com/Javathcript/ 11:19 stamourv: A bit too cutethy for my tathte. 11:20 soegaard: yeah - fun - but hard y 11:20 soegaard: to spell 11:28 (quit) anRch: Quit: anRch 11:32 (quit) wadleigh: Quit: wadleigh 11:33 (join) jrslepak 11:35 (join) RacketCommitBot 11:35 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/wKv7dg 11:35 RacketCommitBot: [racket/master] ffi/com: remove stray quote - Matthew Flatt 11:35 RacketCommitBot: [racket/master] racket/gui: clarify graphical min size in docs for `text-field%' - Matthew Flatt 11:35 RacketCommitBot: [racket/master] document `racket/mpair' and `racket/package' - Matthew Flatt 11:35 (part) RacketCommitBot 11:38 (join) gciolli 11:45 (join) adu 11:46 (quit) noelw: Quit: noelw 11:55 (quit) hash_table: Ping timeout: 260 seconds 11:57 (join) mceier 11:57 (join) jeapostrophe 11:57 (quit) jeapostrophe: Changing host 11:57 (join) jeapostrophe 12:04 (join) yoklov 12:05 (quit) bitonic: Remote host closed the connection 12:05 (join) vu3rdd` 12:05 (quit) yoklov: Client Quit 12:07 (join) yoklov 12:08 (join) anRch 12:09 (quit) vu3rdd: Ping timeout: 264 seconds 12:13 (quit) yoklov: Quit: computer sleeping 12:15 (join) yoklov 12:18 asumu: Promise pattern matching: https://gist.github.com/3228331 12:18 asumu: (hooray for match expanders) 12:22 (join) mye 12:22 (quit) ambrosebs: Ping timeout: 255 seconds 12:28 (quit) jeapostrophe: Remote host closed the connection 12:30 (join) jeapostrophe 12:30 (quit) jeapostrophe: Changing host 12:30 (join) jeapostrophe 12:30 (quit) samth: Ping timeout: 252 seconds 12:30 (join) jonrafkind 12:30 (quit) jonrafkind: Changing host 12:30 (join) jonrafkind 12:31 (quit) gciolli: Quit: Leaving. 12:40 (quit) vu3rdd`: Remote host closed the connection 12:48 mye: What is the correct #lang to use with htdp2e? In the slides http://con.racket-lang.org/matthias-slides.pdf #lang 2htdp/asl is shown but in the nightly installation I have this doesn't exist 12:48 mye: Are there differences in the languages or can I just use htdp/bsl? 12:50 (quit) anRch: Quit: anRch 12:53 (join) hash_table 12:53 asumu: mye: choose the "Beginning Student Language" option in the language menu. 12:53 asumu: (the student languages are not currently used with the #lang syntax) 12:55 mye: asumu, but then if I write my own programs and want to run them with racket on the commandline in e.g. BSL, how does it know the language? 12:55 mye: but htdp/bsl as #lang works anyways 12:55 (join) Demosthenes 12:55 mye: I was just confused by the slides and wondering if bad things might happen using htdp langues with htdp2e which I'm starting 12:59 (quit) masm: Ping timeout: 260 seconds 13:02 (join) mithos28 13:06 mithos28: asumu: do you know if my raco make bug is going to get fixed by the release. It doesn't look like it 13:09 jonrafkind: whats the bug? 13:09 jonrafkind: oh 12953 13:10 mithos28: I havn't gotten an answer back on whether or not it is important enough to make it into the release 13:11 mithos28: I'm just trying to make sure it gets into the release if it should, I run from HEAD all the time so it is not blocking for me if it doesn't get in 13:12 jonrafkind: probably kevin owns that code, i can see if he will look at it 13:13 (quit) mithos28: Read error: Connection reset by peer 13:13 (join) mithos28 13:14 (quit) mithos28: Client Quit 13:20 soegaard: mye: Haven't checked but maybe #lang htdp/asl works? 13:21 (quit) mye: Ping timeout: 264 seconds 13:26 (quit) djcoin: Quit: WeeChat 0.3.2 13:29 (join) samth_ 13:29 (quit) samth_: Remote host closed the connection 13:30 (quit) DGASAU`: Remote host closed the connection 13:31 (join) DGASAU` 13:32 (quit) bjz: Quit: Leaving... 13:39 (quit) acarrico: Ping timeout: 260 seconds 13:54 (join) acarrico 13:57 (join) banseljaj 13:58 stamourv: mithos28: It will not be fixed for the release. 14:00 (join) Kaylin 14:13 (quit) cdidd: Ping timeout: 246 seconds 14:25 (join) dzhus 14:41 (join) masm 14:42 (join) bitonic 16:19 asumu: I like the definition of tail position in the reference: a position in an expression is a tail position if it has the same continuation as the whole expression. 16:20 asumu: It's really nice because it makes it obvious why continuation marks are safe for space and why you can just replace the mark. 16:29 (quit) antithesis: Remote host closed the connection 16:33 (join) mye 16:42 (quit) adu: Quit: adu 16:51 (quit) kanak: Ping timeout: 264 seconds 17:15 (join) anRch 17:15 mye: When I select an expression from the htdp2e website with an image inside e.g. (place-image 50 0 (empty-scene 100 100)) and paste in DrRacket the image is replaced with a space. Is that a bug for a feature? Probably the clipboard can't handle two types of data at once. 17:16 mye: at least on windows 7 17:16 stamourv: mye: Does it work if you copy the image separately? 17:17 mye: stamourv, yes 17:17 stamourv: Ok. 17:17 stamourv: I'd say it's a bug, but it's not clear whether the underlying windows libraries make it possible or not. 17:17 stamourv: Feel free to submit a bug report. 17:23 Cryovat: Isn't that a known one? 17:25 stamourv: Maybe. 17:31 (quit) yoklov: Quit: computer sleeping 17:33 (nick) banseljaj -> imami|afk 17:37 mye: Ha, copying in the drracket definitions window and pasting in the repl keeps the image 17:38 mye: this should use the windows clipboard too right? So in principle it might work 17:39 stamourv: Sounds reasonable. 17:40 stamourv: I don't know about other platforms, but the definitions and interaction windows should at least be consistent on the same platform. 17:41 mye: stamourv, they are, both show the image if pasted from a copy made IN DrRacket but not from a copy made from chrome 17:42 mye: oh, it looks like the program where you copy adds or remove the image 17:42 stamourv: Sorry, read what you wrote too fast. I thought you were saying chrome -> REPL worked. 17:43 mye: pasting in sublime from drracket replaces the image with a dot, pasting from a copy from chrome in sublime: no dot 17:43 (join) yoklov 17:44 mye: so this can't be fixed, probably, too bad. Is this a windows only problem? (can't wait to have my mac arrive...) 17:45 asumu: mye: re: your earlier question, programs written in student languages aren't really meant to be run at the cmdline at the moment. 17:46 asumu: If you want to do that kind of development, you probably just want to use #lang racket. 17:46 asumu: (or use DrRacket) 17:47 mye: asumu, yeah, I thought it would be a little stupid to always run the check-* functions in a production code. Are there plans to reimplement them as submodules? 17:49 mye: I had this idea of using them for simple problems because otherwise I keep getting distracted by all the stuff the racket lang has to offer. This is IMHO a real problem for starting to learn racket, it's big and you have to tame yourself not to try and read up about all of it before actually starting to write code. 17:50 mye: But that may be my personal problem, of course 17:51 mye: On the other hand there are the teaching languages, so not being "first class" languages also isn't cool somehow 17:52 Cryovat: Dunno if it's just me 17:52 Cryovat: But while learning Racket, I occasionally get the feeling there's several things in the language that overlap 17:53 Cryovat: Hard to name anything particular off the bat though :/ 18:01 asumu: mye: well, it's not expected that anyone uses the teaching languages to write production code. 18:01 asumu: So those concerns haven't been prioritized. 18:02 asumu: You could just use #lang racket and pretend that only the BSL subset exists. 18:02 asumu: After all, you can still use check-expect and friends in #lang racket (last time I checked) 18:04 stamourv: asumu: Yes. 18:04 (quit) jeapostrophe: Ping timeout: 246 seconds 18:04 stamourv: rudybot: (require test-engine/racket-tests) 18:04 rudybot: stamourv: Done. 18:05 stamourv: rudybot: (check-expect (equal? 2 2)) 18:05 rudybot: stamourv: error: #:1:0: check-expect: expects 2 arguments, but found only 1 in: (check-expect (equal? 2 2)) 18:05 stamourv: How does `check-expect' work again? 18:05 stamourv: rudybot: (check-expect 2 2) 18:05 rudybot: stamourv: Done. 18:05 stamourv: rudybot: (check-expect 2 3) 18:05 rudybot: stamourv: Done. 18:05 stamourv: rudybot: (newline) 18:05 rudybot: stamourv: ; stdout: "\n" 18:05 stamourv: Hmm. 18:10 mye: Is there a testing library that uses submodules in use yet? 18:11 (join) flaggy 18:12 asumu: mye: the typical submodule testing workflow is to use (module+ ...) and rackunit or another testing suite 18:12 (quit) flaggy: Client Quit 18:12 asumu: e.g., (module+ test (require rackunit) (check-equal? 2 2)) 18:13 asumu: Then you can run tests with `raco test .rkt` 18:14 mye: asumu, oh right. But for writing htdp style tests that would become a little cumbersome wouldn't it? So a macro that wraps this and calls it check expect would produce a lot of submodules... 18:16 asumu: It would only produce one if they used module+, which appends into a submodule. 18:17 (quit) anRch: Quit: anRch 18:18 (quit) bitonic: Remote host closed the connection 18:19 (quit) ssbr_: Ping timeout: 240 seconds 18:24 mye: Now that name makes more sense, I hadn't understood this :-) 18:27 (quit) dzhus: Ping timeout: 240 seconds 18:30 (quit) jrslepak: Quit: This computer has gone to sleep 18:50 (quit) jonrafkind: Ping timeout: 264 seconds 19:11 (join) jonrafkind 19:11 (quit) jonrafkind: Changing host 19:11 (join) jonrafkind 19:11 (quit) soegaard: Quit: soegaard 19:19 (join) jeapostrophe 19:19 (quit) jeapostrophe: Changing host 19:19 (join) jeapostrophe 19:20 (join) RacketCommitBot 19:20 RacketCommitBot: [racket] plt pushed 1 new commit to master: https://github.com/plt/racket/commit/44161d73c8bdce0374718d1ab0bc20fbebc1fec2 19:20 RacketCommitBot: [racket/master] adjust DMdA languages so they do the same error rewriting that the HtDP - Robby Findler 19:20 (part) RacketCommitBot 19:34 danl_ndi: anyone up for figuring out a syntax weirdness? this works on mzscheme 3.5, but not racket 5.2: http://pastebin.com/6iGHKdjY 19:39 (quit) MayDaniel: Read error: Connection reset by peer 19:42 asumu: danl_ndi: changing the inner `name` to `_` works for me. Though the snippet then has a different error. 19:43 danl_ndi: asumu: cool... i get no error when I make that change ...? 19:44 asumu: Do you have :a & :b bound somewhere? 19:44 danl_ndi: nope 19:45 asumu: Huh, odd. 19:56 mye: (require (prefix-in plot: plot)) doesnt work with #lang htdp/bsl :-( require: expected a module name as a string, a `lib' form, or a `planet' form, found a part in: (prefix-in plot: plot) 19:57 (quit) jeapostrophe: Read error: Operation timed out 19:57 mye: Works with #lang racket/base 19:57 mye: I need this bc. plot collides with 2htdp/image 20:00 mye: Or wait, I'll just not use the teaching languages from now on :-P 20:00 (quit) masm: Quit: Leaving. 20:05 (quit) Araq: Read error: Operation timed out 20:06 (join) Araq_bnc 20:12 mye: wow, rotating 3D plots, really cool 20:12 asumu: Yep, plot is awesome. 20:15 (quit) ski: Ping timeout: 260 seconds 20:26 (quit) chturne: Quit: Leaving 20:26 (join) bjz 21:02 (join) mye_ 21:04 (quit) mye: Ping timeout: 240 seconds 21:05 (join) banseljaj 21:58 (join) jrslepak 22:21 (quit) Kaylin: Quit: Leaving. 22:33 (quit) ChanServ: *.net *.split 22:50 (join) ChanServ 22:53 (quit) acarrico: Ping timeout: 240 seconds 23:02 (join) mithos28 23:04 (quit) SeanTAllen: Ping timeout: 248 seconds 23:07 (join) acarrico 23:13 (quit) bjz: Quit: Leaving... 23:17 (join) jeapostrophe 23:23 (join) SeanTAllen 23:31 (join) cdidd 23:57 (join) vu3rdd 23:57 (quit) vu3rdd: Changing host 23:57 (join) vu3rdd