00:07 (quit) dmac1: Ping timeout: 245 seconds 00:24 (join) roastbird 00:26 (quit) jonrafkind: Ping timeout: 248 seconds 00:30 (join) dmac1 00:32 (join) jonrafkind 00:52 (quit) jeapostrophe: Quit: jeapostrophe 01:12 (quit) dnolen: Quit: dnolen 01:17 (quit) jonrafkind: Ping timeout: 248 seconds 01:18 (join) jonrafkind 01:43 (quit) jonrafkind: Ping timeout: 255 seconds 01:56 (join) masm 01:58 ohwow: Hi! What is the best way to make plots in Racket? 02:33 (quit) realitygrill: Quit: realitygrill 02:34 (join) realitygrill 02:34 (join) hkBst 03:27 (join) Blkt 03:30 (join) oiiii 03:32 (quit) realitygrill: Quit: realitygrill 03:35 noelw: ohwow: the new plot library 03:35 noelw: You can get it from Neil Toronto's github if you don't want to run the pre-release 03:35 Blkt: good morning everyone 03:36 noelw: Hi! 03:40 Blkt: :) 03:40 ohwow: noelw: hm, do you have a link? 03:41 noelw: https://github.com/ntoronto 03:42 ohwow: thank you 03:43 (join) ahinki 03:49 noelw: np 03:58 (quit) karljoh: Ping timeout: 258 seconds 04:25 (join) mithos28 04:39 (join) bluezenix 04:53 (quit) mithos28: Quit: mithos28 05:24 (quit) dmac1: Ping timeout: 255 seconds 05:47 (join) tim-brown 06:00 (join) karljoh 07:09 (quit) bluezenix: Quit: Leaving. 07:11 (quit) roastbird: Ping timeout: 252 seconds 07:11 (join) bluezenix 07:26 (join) jeapostrophe 07:39 (quit) cky: Ping timeout: 260 seconds 07:45 (join) cky 08:13 (quit) ahinki: Ping timeout: 258 seconds 08:15 (join) ahinki 08:52 (quit) ahinki: Ping timeout: 258 seconds 08:56 (quit) jschuster: Quit: Leaving 09:06 eli: jamessan: `collects/tests' has stuff that tests the rest of the code, and `collects/racket' should definitely be present. 09:08 (join) Shvillr 09:09 (join) ahinki 09:18 (quit) ahinki: Ping timeout: 258 seconds 09:28 bremner waves at jamessan 09:39 offby1 waves at the crowds lining the parade route 09:39 (join) ahinki 09:40 Shvillr cautiously waves at everyone 09:40 Shvillr: I'm trying to dynamically load a module form a binary, pretty much to implement plugins. However, I'm a complete noob at Racket. Would someone care to point me in the right direction? dynamic-require seems relevant, but it doesn't do what I (naively) expect. 09:41 offby1: Shvillr: eli would be your man, were he here 09:41 offby1: I too would have guessed dynamic-require, but I've never used it 09:43 Shvillr: Y'see, I'm not even sure I understand when I need a unit as opposed to a module, I'm this much of a noob. %) So just about anything anyone can say about it would help plenty. 09:45 eli: Shvillr: Yes, `dynamic-require' is usually what you need for that. 09:46 Shvillr: Yay! 09:46 eli: (Units are something else -- they're kind of like parameterized modules that you can plug arguments into...) 09:48 Shvillr: Basically, I'm naively trying to replace a regular (require) with a (dynamic-require). Of course, it isn't working out so great. For now I'm trying to introduce a single constant from a dynamically loaded module, and (define constant (dynamic-require "module" 'contant)) does work. But what should I do if I have not a single constant but a module-ful of different stuff? 09:50 eli: Shvillr: You need to do that with each an every one. 09:50 eli: It is possible to do something like requiring the module, and grabbing its namespace -- but that doesn't sound like what you'd need here. 09:51 eli: Those kind of uses are more for cases where you want to implement a repl. 09:51 eli: So you can do that with each value you need in one of two ways 09:51 eli: The first is to put the values you need in a hash table -- so you really get one value, then pull out the separate things fom inside it. 09:52 eli: Using macros, you can make the source look like it's using plain definitions. 09:52 Shvillr: Aha, that makes sense. And the second way? 09:52 eli: The other way would be to have somewhere a specification of the names that should be defined, like a list of names, then use that to `dynamic-require' each name in turn. 09:53 eli: It sounds expensive, but after the first, the following `dynamic-require's will use the loaded code instead of reloading it N times. 09:53 Shvillr: Ah-ha. Makes even more sense, since I'm trying something vaguely similar to Firefox's extension system, and it does something, well, vaguely similar. :) 09:55 eli: BTW, this all works in a relatively straightforward way, 09:55 eli: but a much fancier thing is to make it possible to reload such things when the file changes. 09:55 eli: But doing that gets much more involved. 09:55 Shvillr: Ah. Yeah, ideally I'd want that, but that can wait. 09:55 eli: So if you're just beginning on doing this, it's best to stick to the simple thing and maybe revise it later. 09:56 Shvillr: So, basically, instead of tinkering with it until it fits my purpose, I'll have to actually sit down and think it through, figure out what exactly I am trying to do. Never a bad thing. :) 10:02 (quit) jeapostrophe: Quit: jeapostrophe 10:03 Shvillr: Still, even with one constant dynamically-required, I still have a question. I can't get it to work from an exe (created using DrRacket's Racket->Create executable->Distribution). I have a #lang racket/base at the beginning of the dynamically-loaded module, and it complains about "collection not found: #" 10:04 Shvillr: How do I know what I need to include with it, is it possible to include it authomatically, and is it possible to produce some kind of bytecode (.zo?) of that dynamically loaded module to ship instead of .rkt? 10:06 (quit) ahinki: Quit: ChatZilla 0.9.87 [Firefox 8.0/20110928060149] 10:07 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/jz1QIQ 10:07 RacketCommitBot: [racket/master] cocoa: change the way the app is initialied - Matthew Flatt 10:07 RacketCommitBot: [racket/master] cocoa: undo hack of "-64" suffix on app names - Matthew Flatt 10:14 (quit) hkBst: Read error: Connection reset by peer 10:18 (join) jeapostrophe 10:22 (quit) Lajla: Ping timeout: 255 seconds 10:23 eli: Shvillr: Yeah, a standalone exe will make things harder. Best to post a question on the mailing list. 10:23 Shvillr: Ah, ok. Thanks! 10:28 (quit) oiiii: Remote host closed the connection 10:30 Shvillr: Aha, If I explicitely dynamic-require a .zo, it works even in the exe form of my program. 10:52 (quit) jeapostrophe: Quit: jeapostrophe 10:58 (join) anRch 10:59 (quit) cky: Changing host 10:59 (join) cky 11:01 (join) realitygrill 11:04 (join) dnolen 11:21 (join) srolls 11:28 (join) MayDaniel 11:36 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/cepCSA 11:36 RacketCommitBot: [racket/master] Fix typo in symbol name, keep old one still. - Eli Barzilay 11:36 RacketCommitBot: [racket/master] Catch tcp failures in the http verification. - Eli Barzilay 11:42 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/XVwFxA 11:42 RacketCommitBot: [racket/master] fix compiler bug related to `#%variable-reference' on local - Matthew Flatt 12:01 (quit) Blkt: Quit: going to Tuscany!!! 12:11 (join) jonrafkind 12:12 (quit) anRch: Quit: anRch 12:13 (join) jjjj2_ 12:13 (join) jschuster 12:13 (quit) jjjj2_: Read error: Connection reset by peer 12:13 (quit) realitygrill: Read error: Connection reset by peer 12:15 (join) realitygrill 12:16 (quit) jonrafkind: Ping timeout: 276 seconds 12:19 (join) jonrafkind 12:21 (join) anRch_ 12:24 (join) mithos28 12:26 (join) jeapostrophe 12:28 (quit) jonrafkind: Ping timeout: 248 seconds 12:28 (nick) samth_away -> samth 12:30 samth: Shvillr: see the unstable/lazy-require for a high-level way to do this, which cooperates with executable creation 12:32 (join) jonrafkind 12:33 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/zTUHsw 12:33 RacketCommitBot: [racket/master] more `raco exe' cycle repairs - Matthew Flatt 12:43 tim-brown: nice weekend all! 12:45 (quit) anRch_: Quit: anRch_ 12:46 (part) tim-brown: "Leaving" 12:48 (quit) bluezenix: Quit: Leaving. 12:49 RacketCommitBot: [racket] plt pushed 5 new commits to master: http://git.io/D56rag 12:49 RacketCommitBot: [racket/master] don't invalidate the error ranges for online check syntax when there is no admin - Robby Findler 12:49 RacketCommitBot: [racket/master] relaxed the restrictions on planet requires in the teaching languages to allow the new forms - Robby Findler 12:49 RacketCommitBot: [racket/master] fix tooltip placement in online check syntax (only affects mac os x) - Robby Findler 13:00 (join) mithos28_ 13:19 (join) roastbird 13:19 (nick) roastbird -> dingfeng 13:19 dingfeng: does any1 here use DrRacket, and his mouse scroll doesn't work?? 13:23 (quit) jonrafkind: Read error: Operation timed out 13:25 (join) jonrafkind 13:30 (quit) jonrafkind: Ping timeout: 248 seconds 13:36 (join) jonrafkind 13:37 bremner: dingfeng: what OS? 13:38 bremner: it seems OK here on Linux/X11 14:00 (quit) mithos28_: Quit: mithos28_ 14:03 dingfeng: windows7 14:04 dingfeng: it works on my laptop, but not on my desktop. both run win7. 14:04 dingfeng: i'm using a microsoft wireless keyboard+mouse on my desktop though 14:04 bremner: ah, I can't help with Windows, sorry. 14:04 dingfeng: grumble 14:04 dingfeng: don't see why it'll work on a laptop on not on a desktop 14:04 dingfeng: *and 14:09 (join) anRch 14:09 (join) DanBurton 14:13 (quit) jonrafkind: Ping timeout: 258 seconds 14:19 (join) dmac1 14:20 (quit) realitygrill: Quit: realitygrill 14:36 (join) Lajla 14:43 (join) realitygrill 14:45 (quit) dingfeng: Quit: Page closed 15:03 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/FlQHrg 15:03 RacketCommitBot: [racket/master] adjust the calls to paragraph-{start,end}-position to specify the default argument - Robby Findler 15:04 (quit) realitygrill: Quit: realitygrill 15:10 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/f8pKtQ 15:10 RacketCommitBot: [racket/master] Fixed contracts in documentation - Neil Toronto 15:26 (join) mithos28_ 15:26 (quit) anRch: Quit: anRch 15:36 (join) jao 15:49 (quit) jeapostrophe: Quit: jeapostrophe 15:58 (quit) rotty: Remote host closed the connection 16:01 (quit) dnolen: Ping timeout: 252 seconds 16:05 (join) realitygrill 16:13 (quit) realitygrill: Quit: realitygrill 16:31 (join) realitygrill 16:45 (quit) realitygrill: Quit: realitygrill 16:55 (join) realitygrill 16:58 (quit) bfulgham: Ping timeout: 260 seconds 16:59 (join) bfulgham 17:04 (join) shofetim 17:04 shofetim: Is there an easy way to delete a directory, even if its not empty? (easy way as in some flag to pass to delete-directory?) 17:08 shofetim: ahh, I see it delete-directory/files... maybe it should be moved up in the docs or a note added? 17:12 (quit) DanBurton: Quit: Leaving 17:12 (join) bluezenix 17:13 (quit) realitygrill: Ping timeout: 248 seconds 17:27 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/VbdzQw 17:27 RacketCommitBot: [racket/master] Revert "cocoa: change the way the app is initialied" - Matthew Flatt 17:36 (quit) bluezenix: Quit: Leaving. 18:00 (join) elliottcable 18:02 (join) jeapostrophe 18:09 (nick) elliottcable -> elliott|nuckOff 18:25 (join) jrslepak_ 18:28 (quit) jschuster: Quit: Leaving 18:47 (quit) jeapostrophe: Quit: jeapostrophe 19:02 (join) didi 19:03 (join) jeapostrophe 19:04 didi: Is anybody able to run `(require plot)(plot (line (lambda (x) x)))' with the latest master? 19:04 didi: `plot: could not determine nonempty x axis; got: x-min = #f, x-max = #f' 19:09 (join) rodolfo 19:09 rodolfo: hello! I need some help creating a #lang language 19:10 samth: didi: plot was just changed incompatibly 19:10 samth: see the discussion on dev@racket-lang.org 19:10 rodolfo: I wrote a lexer and parser using parser-tools 19:11 rodolfo: I tried to do the rest very similar to what Danny Yoo did with his bf tutorial 19:12 rodolfo: for now whenever I try to run a program using #lang planet rodolfo/ratematica I get: 19:12 rodolfo: default-load-handler: expected only a `module' declaration for `ratematica1', but found an extra expression in: # 19:12 rodolfo: I have no idea where to look for problems 19:20 (join) bfulgham_ 19:22 (quit) bfulgham: Ping timeout: 260 seconds 19:22 (nick) bfulgham_ -> bfulgham 19:24 samth: rodolfo: your reader is probably returning the wrong thing 19:24 rodolfo: how do I inspect its output? 19:25 samth: try calling `read' on the relevant file 19:25 samth: after turning setting (read-accept-reader #t) 19:25 rodolfo: even if the file is not a #lang racket ? 19:26 (quit) jeapostrophe: Quit: jeapostrophe 19:27 didi: samth: oic. That's fine. 19:29 (quit) masm: Quit: Leaving. 19:29 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/P7ZW3w 19:29 RacketCommitBot: [racket/master] Reworked number formatting for plot labels - Neil Toronto 19:30 (quit) MayDaniel: Read error: Connection reset by peer 19:32 samth: rodolfo: yes 19:32 samth: #lang is just extending the behavior of `read' 19:34 didi: Ah, there is documentation for the new plot lib. Nice. 19:35 rodolfo: > (read (open-input-file "examples/ratematica1.rkt")) '(module ratematica1 (planet rodolfo/ratematica-s/language) (#%module-begin)) 19:36 rodolfo: somehow its like my custom #%module-begin is not doing its job... 19:36 samth: rodolfo: try calling read twice on that file 19:37 samth: (define o (open-input-file ...)) 19:37 samth: (read o) 19:37 samth: (read o) 19:37 samth: or just (file->list "examples/blah") 19:37 samth: rudybot: doc file->list 19:37 rudybot: samth: your racket/init sandbox is ready 19:37 rudybot: samth: http://docs.racket-lang.org/reference/Filesystem.html#(def._((lib._racket%2Ffile..rkt)._file-~3elist)) 19:44 rodolfo: ditto 19:44 rodolfo: '((module ratematica1 (planet rodolfo/ratematica-s/language) (#%module-begin)) 3+4) 19:45 rodolfo: what should be inside the module is actually going outside?! 19:45 didi: OK, I can see pretty plots inside DrRacket. But what about outside of it? Is it possible? 19:46 (join) jeapostrophe 19:47 (join) shofetim` 19:47 rodolfo: my custom #%module-begin looks like this: https://gist.github.com/1271632 19:48 (quit) shofetim: Read error: Operation timed out 19:51 samth: it's the 3+4 that's the problem 19:51 samth: and the problem is your reader, not your module-begin 19:51 samth: didi: yes, you can 19:51 samth: you can convert them to pdf 19:51 samth: for example 19:52 didi: samth: Oh, I see. I have to convert them to files. 19:52 samth: see plot-file 19:52 didi: samth: Thank you. 19:55 rodolfo: samth: how could my reader do such a mess?! 19:55 samth: rodolfo: you aren't consuming the whole input 19:56 rodolfo: sure. 19:56 (quit) jeapostrophe: Quit: jeapostrophe 19:56 rodolfo: I was in doubt whether my read and read-syntax should consume the whole file in one call, or if it should be called many times 19:57 rodolfo: (return "one expression" at a time) 19:59 rodolfo: Danny [http://hashcollision.org/brainfudge/index.html] made a parser that reads only one brainfuck symbol at a time and that's what he uses in the #:read argument to syntax/module-reader 19:59 samth: sure 20:00 rodolfo: so where lies the difference in my custom language?! 20:00 samth: but what's happening in your example is that your module finishes reading before it gets to the 3+4 20:00 samth: can you post your reader code? 20:01 rodolfo: yes 20:02 didi: Ah, `(slide (plot-pict' does it. 20:03 rodolfo: I've updated https://gist.github.com/1271632 20:05 rodolfo: I followed collects/parser-tools/examples/ when creating my parser 20:05 samth: what does your lang/reader.rkt file look like? 20:06 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/LmGvhA 20:06 RacketCommitBot: [racket/master] Reduced the number of plot-specific contracts - Neil Toronto 20:06 (quit) dmac1: Ping timeout: 258 seconds 20:07 rodolfo: included in the gist 20:07 didi: Hum, `plot-frame' seems for reliable. 20:09 samth: rodolfo: what does (file->list "..." ratematica-read) produce 20:09 samth: didi: ? 20:10 didi: samth: ! 20:10 samth: didi: what did you mean by "seems for reliable"? 20:11 didi: samth: I M-q the slide and it won't come back. 20:11 didi: But the frame yes. 20:11 didi: `(define (plot-show renderer) (send (plot-frame renderer) show t))' and I'm good to go. 20:11 didi: :) 20:12 samth: didi: M-q quits the slideshow 20:12 didi: samth: Yes. And I can't run the same command again. 20:12 samth: how so? 20:12 samth: oh, i know what's happening 20:13 samth: yes, you can't run a slideshow a second time 20:13 didi: :) 20:13 samth: without reloading racket 20:13 samth: usually, i develop slideshows in drracket, and just hitting run reruns the slideshow 20:14 didi: samth: I see. I remember reading/listen Matthew writing/reading about the design decision of starting the racket machine at every run. 20:14 didi: s/reading/talking 20:15 samth: didi: that's not really it -- it's something specific to slideshow 20:15 didi: oic 20:15 samth: it has some internal state that goes away and can't be restarted 20:15 samth: for example, you can create multiple new windows from the REPL, even after you close some of them 20:16 rodolfo: samth: lexer: No match found in input starting with: # 20:16 rodolfo: I understand now 20:16 rodolfo: I should account for the #lang ... line 20:17 samth: rodolfo: no, that's not the problem 20:17 rodolfo: in my reader, right? 20:17 samth: it won't see the #lang line 20:17 samth: try printing out every token you lex/parse 20:17 rodolfo: > (file->list "examples/ratematica1.rkt" ratematica-read) #f:1:0: lexer: No match found in input starting with: # 20:18 samth: rodolfo: right, you'll have to strip the #lang line 20:19 rodolfo: the lexers in collects/parser-tools/examples don 20:19 (join) jonrafkind 20:19 rodolfo: the lexers in collects/parser-tools/examples don't do that 20:19 samth: rodolfo: no, i mean to test it, you'll have to manually take out the #lang line 20:19 rodolfo: because somehow they're used/usable in a different way 20:20 rodolfo: is there a way to make my lexer "verbose"? 20:20 samth: i don't think so 20:21 samth: but you could wrap your lexer procedure in something that printed things out 20:21 rodolfo: ok 20:22 samth: change (lambda () (ratematica-lexer ip)) to (lambda () (define v (...)) (printf "got ~a\n" v) v) 20:23 samth: sadly, have to run 20:23 samth: good luck, or ask the mailing list 20:23 (nick) samth -> samth_away 20:26 (quit) karswell: Read error: Operation timed out 20:27 rodolfo: i changed the lexer to ignore the #lang line 20:28 rodolfo: > (file->list "examples/ratematica1.rkt" ratematica-read) ####'(34) 20:28 rodolfo: looks promising 20:28 (quit) didi: Quit: ERC Version 5.3 (IRC client for Emacs) 20:28 (join) karswell 20:44 (join) jeapostrophe 20:52 (quit) jeapostrophe: Quit: jeapostrophe 21:12 rodolfo: unfortunately I couldn't get my language to work, yet. Thanks samth. 21:12 (part) rodolfo 21:24 (quit) mithos28_: Quit: mithos28_ 21:24 (join) masm 21:25 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/oTmxQQ 21:25 RacketCommitBot: [racket/master] Contract and parameter doc pages - Neil Toronto 21:25 RacketCommitBot: [racket/master] Fixed >=/c contracts - Neil Toronto 21:25 (quit) karswell: Read error: Connection reset by peer 21:36 (join) karswell 21:45 (quit) jao: Ping timeout: 258 seconds 21:47 RacketCommitBot: [racket] plt pushed 8 new commits to master: http://git.io/UcGi_Q 21:47 RacketCommitBot: [racket/master] syntax/parse: fixed docs - Ryan Culpepper 21:47 RacketCommitBot: [racket/master] macro-debugger: removed simplify-marks - Ryan Culpepper 21:47 RacketCommitBot: [racket/master] rackunit: all checks return void - Ryan Culpepper 22:09 (join) masm1 22:10 (quit) masm: Ping timeout: 244 seconds 22:25 (join) jeapostrophe 22:27 (quit) jeapostrophe: Client Quit 22:34 (join) dmac1 22:41 (quit) jrslepak_: Quit: Leaving 22:50 (quit) dmac1: Ping timeout: 256 seconds 23:06 (quit) jonrafkind: Ping timeout: 276 seconds 23:17 (quit) mithos28: Quit: mithos28 23:19 (join) jonrafkind 23:41 (quit) masm1: Quit: Leaving. 23:48 (join) realitygrill 23:48 (quit) Lajla: Ping timeout: 252 seconds