00:07 (join) jeapostrophe 00:09 (quit) jeapostrophe: Client Quit 00:25 Quetzalcoatl_: Can 'eval' be used at all within a module? 00:25 (join) realitygrill_ 00:25 offby1: sure 00:26 eli: Quetzalcoatl_: You'll want to read this: http://docs.racket-lang.org/guide/eval.html 00:26 eli: offby1: BTW, 100 thanks -- I didn't expect that you'd actually read it... 00:27 (quit) Checkie: Ping timeout: 260 seconds 00:27 Quetzalcoatl_: eli, that's great. It works fine at the REPL, but if I do it inside of a module, then suddenly things like "begin" are undefined. 00:27 (quit) realitygrill: Ping timeout: 246 seconds 00:27 (nick) realitygrill_ -> realitygrill 00:28 eli: Quetzalcoatl_: Yeah, that page will explain why. 00:29 eli: offby1: (In any case, I was mainly teasing due to your earlier joke...) 00:29 offby1: eli: that one lecture feels like a whole course to me 00:29 eli: :) 00:29 eli: It's not really a one-lecture material... 00:29 eli: It's about 3-4 chapters in PLAI, which I extended. 00:32 (join) jeapostrophe 00:36 Quetzalcoatl_: Is there a page explaining why (define) creates constants when used in modules? 00:36 offby1: it's a compiler optimization, I think. 00:37 offby1: And you can turn it off. 00:37 (quit) jeapostrophe: Quit: jeapostrophe 00:37 Quetzalcoatl_: Found it: (compile-enforce-module-constants) 00:38 offby1: yep 00:39 Quetzalcoatl_: It doesn't seem to work. 00:40 Quetzalcoatl_: I found a workaround, though. 00:40 offby1: you have to evaluate that before you load the module, I think, which may be tricky. 00:40 offby1: I'm surprised eli hasn't weighed in on this; this is the kinda thing he knows in his sleep 00:42 (quit) dnolen: Quit: dnolen 00:44 Quetzalcoatl_: There'd be no way to evaluate it "before you load the module" if I'm loading it with "racket module.rkt". But if there's a (set!) form somewhere at the module's toplevel, the variable becomes mutable. 00:49 eli: What offby1 said... It's a very important optimization -- without it things get very different, for example, a looping function must do a lookup of its own name etc. 00:50 eli: And like he said, you need to change it before loading the code, which means that you cannot do it from inside a module that is part of the program, 00:50 eli: and like you found out, if you do a `set!', then you force it to do the reference thing anyway. 00:52 Quetzalcoatl_: (set!) is probably better, then. I just want certain variables mutable, not all the functions. 00:53 offby1: you probably -really- want a parameter, or a box 00:53 offby1: or a couple of functions which mutate a private variable 00:53 offby1: even if you don't _know_ that that's what you want :) 00:55 Quetzalcoatl_: Parameters and boxes require extra syntactic baggage. Otherwise, I'd just use a box. 00:57 eli continues to +1 offby1 00:57 eli: rudybot: init racket 00:57 rudybot: eli: your sandbox is ready 00:57 eli: (Ooh, it changed the default to racket...) 00:57 eli: rudybot: (define param (make-parameter #f)) 00:57 rudybot: eli: Done. 00:57 eli: rudybot: (define-syntax p (syntax-id-rules (set!) [(set! x e) (param e)] [(x . xs) ((param) . xs)] [x (param)])) 00:57 rudybot: eli: Done. 00:57 eli: rudybot: p 00:57 rudybot: eli: ; Value: #f 00:58 eli: rudybot: (set! p 1234) 00:58 rudybot: eli: Done. 00:58 eli: rudybot: (* p 10) 00:58 rudybot: eli: ; Value: 12340 00:58 eli: rudybot: (param) 00:58 rudybot: eli: ; Value: 1234 00:58 eli: Quetzalcoatl_: ^ 00:58 Quetzalcoatl_: What happens to the original (set!)? 00:58 eli: Nothing. 00:58 Quetzalcoatl_: rudybot: init racket 00:58 rudybot: Quetzalcoatl_: your sandbox is ready 00:59 Quetzalcoatl_: (define-syntax p (syntax-id-rules (set!) [(set! x e) (param e)] [(x . xs) ((param) . xs)] [x (param)])) 00:59 Quetzalcoatl_: rudybot: (define-syntax p (syntax-id-rules (set!) [(set! x e) (param e)] [(x . xs) ((param) . xs)] [x (param)])) 00:59 rudybot: Quetzalcoatl_: Done. 00:59 Quetzalcoatl_: rudybot: (define not-a-parameter #f) 00:59 rudybot: Quetzalcoatl_: Done. 00:59 Quetzalcoatl_: rudybot: (set! not-a-parameter #t) 00:59 rudybot: Quetzalcoatl_: Done. 01:00 Quetzalcoatl_: rudybot: not-a-parameter 01:00 rudybot: Quetzalcoatl_: ; Value: #t 01:45 (join) realitygrill_ 01:46 (quit) RPR`: Remote host closed the connection 01:47 (quit) realitygrill: Ping timeout: 240 seconds 01:47 (nick) realitygrill_ -> realitygrill 01:58 (quit) samth: Disconnected by services 01:59 (join) samth_ 01:59 (join) samth 01:59 (quit) realitygrill: Ping timeout: 246 seconds 02:00 (join) realitygrill 02:05 (quit) realitygrill: Ping timeout: 276 seconds 02:05 (join) realitygrill 02:30 (join) ckrailo 02:33 (quit) realitygrill: Ping timeout: 246 seconds 02:47 (quit) samth: Ping timeout: 260 seconds 02:48 (join) hkBst 02:49 (quit) mithos28: Quit: mithos28 03:05 eli: samth_: ping 03:23 (quit) geoffhill: Quit: geoffhill 03:34 (join) leo2007 04:20 (quit) ckrailo: Quit: Computer has gone to sleep. 04:25 (quit) jonrafkind: Ping timeout: 276 seconds 04:34 (join) Demosthenes 04:36 Demosthenes: gah, log always prints out "#", any way to turn that off? 04:45 (quit) leo2007: Quit: rcirc on GNU Emacs 23.3.50.1 04:55 ohwow: http://wezfurlong.org/blog/2004/jan/linux-on-windows/ oh wow 04:56 (join) tim-brown 04:57 (quit) tim-brown: Client Quit 04:59 (join) tim-brown 04:59 (join) vu3rdd 04:59 (quit) vu3rdd: Changing host 04:59 (join) vu3rdd 05:00 (join) misterncw 05:24 (quit) Demosthenes: Ping timeout: 260 seconds 05:26 (join) Demosthenes 05:33 (quit) misterncw: Remote host closed the connection 05:40 (join) aoh 05:59 (join) masm 06:22 (join) MayDaniel 06:35 (join) misterncw 06:39 Demosthenes: omg brain fart, how do you zero pad a string on print? 06:42 Demosthenes: gha, its not printf, its string-pad! ;] 06:49 (quit) Demosthenes: Quit: leaving 06:59 Quetzalcoatl_: There's only one problem with string-pad. 06:59 Quetzalcoatl_: rudybot: init racket 06:59 rudybot: Quetzalcoatl_: your sandbox is ready 06:59 Quetzalcoatl_: rudybot: (require srfi/13) 06:59 rudybot: Quetzalcoatl_: Done. 06:59 Quetzalcoatl_: rudybot: (string-pad "1234" 2 #\0) 06:59 rudybot: Quetzalcoatl_: ; Value: "34" 07:00 Quetzalcoatl_: rudybot: (list (string-pad "1234" 2 #\0) '<-- 'truncated 'value) 07:00 rudybot: Quetzalcoatl_: ; Value: ("34" <-- truncated value) 07:15 eli: rudybot: (real->decimal-string 1/3 4) 07:15 rudybot: eli: ; Value: "0.3333" 07:29 (quit) DT``: Ping timeout: 276 seconds 07:42 (join) DT`` 07:45 (quit) vu3rdd: Remote host closed the connection 07:46 (join) vu3rdd 07:46 (quit) vu3rdd: Changing host 07:46 (join) vu3rdd 08:00 (join) realitygrill 08:03 tim-brown: is there any way to dump the current readtable in a re-parseable way? 08:17 (join) dnolen 08:30 (join) PLT_Notify 08:30 PLT_Notify: racket: master Matthew Flatt * 23777f2 (4 files in 3 dirs): avoid flock() under Solaris 08:30 PLT_Notify: racket: master Matthew Flatt * 22702a7 (1 files in 1 dirs): typo 08:30 PLT_Notify: racket: master Matthew Flatt * 0aefb8d (2 files in 1 dirs): avoid `single' as a C variable name ... 08:30 PLT_Notify: racket: master commits 3100916...0aefb8d - http://bit.ly/lCZdbF 08:30 (part) PLT_Notify 08:38 (quit) vu3rdd: Remote host closed the connection 08:51 (join) tfb 08:59 (join) lucian 09:00 (join) RPR` 09:04 (join) jeapostrophe 09:05 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 09:17 eli: tim-brown: No. It contains random closures. 09:20 tim-brown: fair enough 09:21 Quetzalcoatl_: Is there a built-in function to write a bitmap% to disk? I could only find the function to read bitmaps. 09:28 hkBst: how do you convert integers to their string representations? 09:35 (part) tim-brown 09:50 Quetzalcoatl_: hkBst: number->string 09:51 hkBst: thanks Quetzalcoatl_ :) 09:51 Quetzalcoatl_: np 10:03 (join) PLT_Notify 10:03 PLT_Notify: racket: master Matthew Flatt * 00e17ab (2 files in 2 dirs): adjust Guide to warn about performance measurement in DrRacket - http://bit.ly/lCRFpS 10:03 (part) PLT_Notify 10:10 (quit) jeapostrophe: Quit: jeapostrophe 10:23 (quit) dnolen: Quit: dnolen 10:37 (join) ckrailo 10:38 (join) ApeShot 10:39 ApeShot: So I am trying to send a canvas% instance a refresh-now message via `(send canvas refresh-now)` and I am told canvas has no such method. 10:39 ApeShot: The docs indicate it does. 10:39 ApeShot: Is something out of date? 10:39 offby1 sniffs 10:40 offby1: yeah, it's that cantaloupe in the fridge 10:40 offby1: P.U. 10:40 (quit) ckrailo: Client Quit 10:42 ApeShot: I can't even send a regular old refresh message 10:42 ApeShot: Same error 10:42 ApeShot: The Racket object system has always seemed pretty unlispy to me. Kind of wish the GUI was based on TinyClos 10:43 offby1: maybe your "canvas" variable isn't actually holding a canvas% 10:44 (join) jeapostrophe 10:44 ApeShot: > canvas 10:44 ApeShot: #(struct:object:canvas% ...) 10:44 ApeShot: > 10:44 (quit) jeapostrophe: Client Quit 10:44 ApeShot: (send canvas refresh-now) 10:44 ApeShot: send: no such method: refresh-now for class: canvas% 10:44 ApeShot: 10:45 offby1: hmph 10:46 offby1: "Use the Source, Luke", I guess 10:47 stamourv: ApeShot: which version are you using, and which version of the docs are you looking at? 10:47 ApeShot: 5.0.2 for racket 10:48 ApeShot: And 5.1.1 for the docs 10:48 ApeShot: Might be the problem 10:48 ApeShot: Just a sec 10:49 stamourv: The GUI system was completely rewritten for 5.1, so a lot of things changed. 10:49 (join) leo2007 10:50 ApeShot: Sure enough 10:50 ApeShot: Should update, I guess 10:50 ApeShot: Sorry for the trouble 10:50 stamourv: There's a lot of cool new stuff in 5.1.1. 10:50 stamourv: No problem :). 10:50 ApeShot: I am working on this kind of neat parallel turtle graphics thing which uses this weird state monad. 10:51 ApeShot: So you have orchestrate an arbitrary number of parallel turtles which can draw to a shared state 10:51 ApeShot: But it all looks like regular old single turtle code, for the most part. 10:51 ApeShot: It is weird 10:52 ApeShot: Bones and muscles are working. Want to draw pretty pictures now. 10:52 (quit) ApeShot: Remote host closed the connection 10:53 (join) ApeShot 10:56 (join) anRch 10:59 (join) PLT_Notify 10:59 PLT_Notify: racket: master Vincent St-Amour * d314331 (1 files in 1 dirs): Added comments to atan. 10:59 PLT_Notify: racket: master Vincent St-Amour * fcf766c (7 files in 2 dirs): Prune dead code from Honu. ... 10:59 PLT_Notify: racket: master Vincent St-Amour * c5973be (1 files in 1 dirs): Add note about modules vs REPL in performance docs. 10:59 PLT_Notify: racket: master commits 00e17ab...c5973be - http://bit.ly/lD0ZrY 10:59 (part) PLT_Notify 11:05 (join) vu3rdd 11:05 (quit) vu3rdd: Changing host 11:05 (join) vu3rdd 11:09 (join) samth 11:13 (quit) misterncw: 11:15 (join) ckrailo 11:15 offby1: it's bones and muscles all the way down 11:20 ApeShot: Ok, things are working after the update. Duh. 11:29 (quit) tfb: Quit: sleeping 11:30 (quit) hkBst: Read error: Connection reset by peer 11:31 (join) tfb 11:37 (quit) martinhex: Remote host closed the connection 11:38 (quit) asumu: Read error: Operation timed out 11:39 (quit) samth: Ping timeout: 276 seconds 11:43 (join) asumu 11:45 (join) mithos28 11:47 (quit) asumu: Ping timeout: 260 seconds 11:58 (quit) anRch: Quit: anRch 12:03 (join) anRch 12:05 (join) tim-brown 12:06 (nick) ec|detached -> elliottcable 12:07 (join) jeapostrophe 12:24 RPR`: Darn I missed Matthew's broadcast this morning on twit.tv Did he announce the move of Racket to JVM 7 yet? 12:24 (quit) tfb: Read error: Connection reset by peer 12:25 (join) jonrafkind 12:31 stamourv: RPR`: Isn't that tomorrow? 12:31 RPR`: The broadcast or the announcement? 12:32 RPR`: broadcast is tomorrow. 12:32 RPR`: my bad 12:33 jonrafkind: eli, scribble and vim? where did you get such an idea 12:33 (quit) MayDaniel: Read error: Connection reset by peer 12:37 (join) martinhex 12:38 (quit) anRch: Quit: anRch 12:43 (join) PLT_Notify 12:43 PLT_Notify: racket: master Vincent St-Amour * 011d43b (1 files in 1 dirs): Add require syntax for multiple files in the same directory/collect. 12:43 PLT_Notify: racket: master Vincent St-Amour * 5e87097 (1 files in 1 dirs): Document the sub-in require syntax. 12:43 PLT_Notify: racket: master commits c5973be...5e87097 - http://bit.ly/lQ3DYo 12:43 (part) PLT_Notify 12:47 (quit) jeapostrophe: Quit: jeapostrophe 12:53 offby1: is string-append O(n) in the length of the first argument, as append is? 12:57 (nick) elliottcable -> ec|detached 13:03 (join) PLT_Notify 13:03 PLT_Notify: racket: master Casey Klein * e8e2898 (2 files in 2 dirs): Fixes rendering of relations with `name' patterns - http://bit.ly/mvwugp 13:03 (part) PLT_Notify 13:16 (quit) masm: Ping timeout: 246 seconds 13:24 (join) PLT_Notify 13:24 PLT_Notify: racket: master John Clements * dcb5e89 (2 files in 2 dirs): added raise-type-error to date->string, also test case - http://bit.ly/lAQwKn 13:24 (part) PLT_Notify 13:25 (join) dnolen 13:35 (join) flazz 13:36 flazz: i installed racket via homebrew, what is the best way to get DrRacket? 13:38 (quit) lucian: Read error: Operation timed out 13:38 jonrafkind: is homebrew some osx thing? 13:41 flazz: yep 13:42 jonrafkind: well so what did homebrew install exactly 13:42 jonrafkind: just the racket executable? 13:43 flazz: i think all the stuff it installs when building from src, because it did 13:43 flazz: i have the docs for drracket, but i can't find an executable 13:44 jonrafkind: do you have gracket? 13:44 flazz: nope 13:52 ohwow: http://funcall.blogspot.com/2011/03/tail-recursion-and-debugging.html 13:52 ohwow: inb4 old 13:53 (join) samth 13:53 (join) MayDaniel 13:56 (join) jeapostrophe 13:59 (join) masm 13:59 (quit) leo2007: Quit: rcirc on GNU Emacs 23.3.50.1 14:02 (join) anRch 14:07 stamourv: offby1: I don't know. If you're in the mind for benchmarking/source-diving, I'll add the answer to the documentation. 14:20 (join) superjudge 14:47 (join) asumu 14:59 (join) PLT_Notify 14:59 PLT_Notify: racket: master Matthew Flatt * cc647f0 (1 files in 1 dirs): use container sequence to avoid resize flicker for `text-field%' 14:59 PLT_Notify: racket: master Matthew Flatt * f46edbe (1 files in 1 dirs): fix doc typo 14:59 PLT_Notify: racket: master commits dcb5e89...f46edbe - http://bit.ly/kqjFrX 14:59 (part) PLT_Notify 15:20 (quit) anRch: Quit: anRch 15:21 (quit) mithos28: Quit: mithos28 15:22 (join) PLT_Notify 15:22 PLT_Notify: racket: master Matthew Flatt * 5c5e603 (1 files in 1 dirs): gtk: fix self X-selection handling - http://bit.ly/mvhJ6O 15:22 (part) PLT_Notify 15:33 (join) mithos28 16:15 (quit) superjudge: Quit: superjudge 16:17 (join) tauntaun 16:21 (join) lucian 16:27 (quit) vu3rdd: Ping timeout: 260 seconds 16:42 (quit) MayDaniel: 16:50 (quit) ApeShot: Remote host closed the connection 16:54 (join) PLT_Notify 16:54 PLT_Notify: racket: master Tony Garnock-Jones * 9ce0f9d (1 files in 1 dirs): Minor cleanup of documentation for make-impersonator-property. 16:54 PLT_Notify: racket: master Tony Garnock-Jones * 7615c2a (3 files in 3 dirs): Implementation, documentation and tests for adding a failure-result to property accessor procedures. 16:54 PLT_Notify: racket: master Vincent St-Amour * 2cddccf (1 files in 1 dirs): Improve docs for sub-in. 16:54 PLT_Notify: racket: master Vincent St-Amour * 5352593 (1 files in 1 dirs): Have TR optimize at the REPL. 16:54 PLT_Notify: racket: master Vincent St-Amour * c7d2f13 (1 files in 1 dirs): Preserve source location in the optimizer. 16:54 PLT_Notify: racket: master commits 5c5e603...c7d2f13 - http://bit.ly/kFBH91 16:54 (part) PLT_Notify 16:55 eli: jonrafkind: Missed the "scribble" part. 16:56 jonrafkind: ok 16:56 eli: tim-brown: You could try some texinfo mode. 17:01 (quit) tauntaun: Quit: Ex-Chat 17:04 (quit) realitygrill: Read error: Connection reset by peer 17:04 (join) realitygrill 17:10 (quit) realitygrill: Read error: Connection reset by peer 17:10 (join) realitygrill 17:23 (quit) realitygrill: Read error: Connection reset by peer 17:23 (join) realitygrill 17:38 (quit) realitygrill: Read error: Connection reset by peer 17:38 (join) realitygrill 17:41 (quit) martinhex: Remote host closed the connection 17:55 (quit) mithos28: Quit: mithos28 17:59 (quit) realitygrill: Read error: Connection reset by peer 17:59 (join) realitygrill 18:03 (quit) realitygrill: Read error: Connection reset by peer 18:03 (join) realitygrill_ 18:06 (quit) jeapostrophe: Quit: jeapostrophe 18:18 (join) tauntaun 18:26 (quit) masm: Quit: Leaving. 18:27 (join) masm 18:30 (join) mithos28 18:33 (quit) realitygrill_: Read error: Connection reset by peer 18:33 (join) realitygrill 18:46 (quit) asumu: Read error: Operation timed out 18:48 (join) jeapostrophe 18:59 (quit) masm: Quit: Leaving. 19:04 (join) masm 19:13 (quit) dnolen: Ping timeout: 252 seconds 19:17 (quit) lucian: Remote host closed the connection 19:20 (join) martinhex 19:22 (quit) mithos28: Quit: mithos28 19:25 (join) Lajla 19:26 (part) Lajla 19:48 (nick) ec|detached -> elliottcable 19:48 samth: elliottcable: still looking forward to your mailing list response :) 19:51 elliottcable: Oh, jesus, samth; I’d completely forgotten about that! 19:51 elliottcable: mabye tomorrow? Hrm. Gotta drive a dog up to Cary, though. Ugh. 19:52 (join) asumu 19:55 (quit) martinhex: Read error: Connection reset by peer 19:55 samth: elliottcable: we do want to know what you think 19:55 (join) martinhex 19:55 samth: i think the most important parts are how you navigated the web site and documentation 19:57 elliottcable: samth: certainly! I just have to find the time. It’s a bit daunting; I remember there being something like 40 replies last time I remembered it; I would feel bad if I didn’t reply to each one in detail. 19:58 samth: elliottcable: I think this is the most important question to answer: http://lists.racket-lang.org/users/archive/2011-May/045483.html 19:58 elliottcable: samth: `fork`s are easy to understand. It boils down to this: Since Paws is so massively asynchronous, very early on in the design process we realized it would be problematic to have parts of the program depending on other parts, which themselves were dependant upon various external bounds such as I/O; and then having those other parts provide data at inopportune times. 19:58 elliottcable: er, crap. Wrong channel, wrong person. 19:59 samth: :) 20:00 samth: elliottcable: secondarily, this message: http://lists.racket-lang.org/users/archive/2011-May/045484.html 20:01 samth: elliottcable: those are really the only ones that ask questions of you 20:01 samth: although the second one is long :) 20:03 (quit) realitygrill: Read error: Connection reset by peer 20:03 (join) realitygrill 20:06 (quit) ckrailo: Quit: Computer has gone to sleep. 20:13 (join) mithos28 20:13 (join) dnolen 20:15 (quit) martinhex: Read error: Connection reset by peer 20:26 (join) martinhex 20:35 (quit) realitygrill: Read error: Connection reset by peer 20:35 (join) realitygrill 20:42 (quit) samth: Ping timeout: 260 seconds 20:43 (quit) jonrafkind: Ping timeout: 252 seconds 20:47 (quit) mithos28: Quit: mithos28 20:47 (quit) realitygrill: Ping timeout: 240 seconds 20:51 (join) realitygrill 20:56 (join) realitygrill_ 20:57 (quit) realitygrill: Ping timeout: 246 seconds 20:57 (nick) realitygrill_ -> realitygrill 21:18 (join) ckrailo 21:44 (quit) tauntaun: Quit: Ex-Chat 21:46 (join) realitygrill_ 21:46 (quit) realitygrill: Read error: Connection reset by peer 21:46 (nick) realitygrill_ -> realitygrill 22:06 (nick) elliottcable -> ec|detached 22:11 (nick) ec|detached -> elliottcable 22:16 (quit) masm: Ping timeout: 246 seconds 22:42 (quit) dnolen: Quit: dnolen 22:54 (join) jonrafkind 23:04 (quit) RPR`: Remote host closed the connection 23:11 (quit) rekahsoft: Ping timeout: 276 seconds 23:11 (join) rekahsoft 23:18 (join) dnolen 23:21 (join) Checkie 23:32 (join) superjudge 23:40 (join) samth 23:49 (quit) superjudge: Quit: superjudge 23:54 (join) superjudge