01:33 (quit) masm: Quit: Leaving. 01:58 (join) jst 02:10 (quit) jst: Remote host closed the connection 02:11 (join) jst 02:13 jst: \quit 02:13 (quit) jst: Client Quit 02:30 (quit) jonrafkind: Ping timeout: 264 seconds 03:51 (quit) Demosthenes: Ping timeout: 250 seconds 03:58 (join) Demosthenes 05:21 (join) hanDerPeder 05:32 (quit) hanDerPeder: Quit: hanDerPeder 05:34 (join) hanDerPeder 05:35 (join) lucian_ 06:20 (nick) lucian_ -> lucian 07:18 (join) masm 07:18 (quit) hanDerPeder: Quit: hanDerPeder 07:25 (join) b-man_ 07:27 (join) mceier 07:29 (join) Samy 07:30 Samy: I defined a circle with (let* ([r (circle 50 "outline" "black")] now i want reuse my circle r but with ither size for example 52 how i can do that ? 07:37 (join) emma 07:44 (quit) jeapostrophe: Ping timeout: 272 seconds 07:45 (quit) Samy: Quit: Page closed 07:58 (nick) emma -> em 08:02 (join) hanDerPeder 08:28 (join) shofetim 09:28 cinch: whenever i click "run" in racket, using the beginning student language, the syntax color of the body part of a function definition turns to an ugly black background (until i hit save). is there a way to turn this off? 09:49 cinch: it looks like this: http://sicnarf.com/MyScreenshot.png 09:55 (quit) lucian: Remote host closed the connection 10:02 chandler: I don't have anything useful to say, so I'm just going to say "Wow! FVWM! Haven't seen that in a while." 10:07 Demosthenes: i'm trying to use snooze, and getting an error that ffi can't open libsqllite3.so. i'm certain its installed, any suggestions? 10:10 Demosthenes: i'd think it was a search path issue, but ldconfig -p | grep sql clearly shows the .so file available 10:13 (quit) Gwyth: Ping timeout: 276 seconds 10:21 (join) MayDaniel 10:22 (quit) Lajla: Read error: Connection reset by peer 10:22 (join) Lajla 10:32 (join) ApeShot 10:33 ApeShot: How can I tell Racket to start up chromium rather than Firefox when I execute something which brings up a web browser, like the help command 10:33 ApeShot: ? 10:33 (quit) b-man_: Remote host closed the connection 10:34 ApeShot: never mind, found it 10:45 ApeShot: Ok, next question. I'm using Racket from Emacs, how do I tell the racket cli to us a particular lang? 10:45 ApeShot: Of course I tried #lang ___ but you can't do that at the interpreter. 11:02 clklein: ApeShot: I know nothing about Emacs, but maybe this helps: http://pastebin.com/kCWdqG9Z 11:04 clklein: err, maybe you want -I instead of -t. I'm not sure. 11:25 Demosthenes: has anyone seen a working example of snooze? trying the examples from the docs bomb in the repl. 11:26 (join) jsj 11:26 ApeShot: I think that helps 11:46 (join) ti-84 11:47 (join) carleastlund 11:47 ti-84: hi !! I was wondering... how do I do to use fonctions from another .ss file without copying each of them ?? Thanks! 11:52 carleastlund: ti-84, if you're using #lang racket, then use provide to export functions from the first file and require to import them into the second file. The Help Desk explains how to use provide and require. 12:13 ti-84: ok thank you !!! Now I'd like to know something else.... I made functions, and when I run them, I can do everything in the lowest part of DrRacket, right ? What if I want to see the result in a new window (i already made windows and buttons....) ?? Thank you! 12:26 (join) shofetim` 12:27 (quit) shofetim: Read error: Connection reset by peer 12:30 stamourv: cinch: that background means that this code is not tested 12:30 cinch: stamourv: ohh ok thanks for the info :) 12:30 stamourv: if you write tests, everything will look good again 12:40 (join) jonrafkind 12:49 (quit) tv|z: Ping timeout: 276 seconds 12:50 (join) tv|z 13:05 (quit) ti-84: Quit: Page closed 13:25 (quit) jonrafkind: Read error: Connection reset by peer 13:40 Demosthenes: hrm... snooze is up and running, is anyone familiar with a way to reference persistent structure creation via keys instead of by position? 13:42 (join) jonrafkind 13:59 devinus: does racket have a condition/restart system like CL? 14:43 carleastlund: That looks to me like something easily implementable using first-class continuations, devinus, although we do not have it as a standard library. 14:51 clklein: carleastlund: I was surprised by your list? message. I'd always imagined that it was cons that propagated the is-a-list flag. 14:52 carleastlund: clklein: No, that requires reading the argument to cons, doing a tag check, then checking that bit, blah blah blah. Too much for each cons, especially since on many pairs/lists we'll never ask list?. 14:54 clklein: apparently 14:55 clklein: I guess I don't really know how close to "just bump the allocation pointer and write two words" we are in the fast path 14:56 carleastlund: With cons, much closer than other data structures; plus, there's locality to consider. Just allocating accesses GC metadata plus the allocated space. Adding a read could jump somewhere else in memory. That could mean an extra cache miss. 14:57 clklein: I didn't know cons was fast enough for a cache miss to be on our radar 14:58 carleastlund: I don't know if that's actually Matthew's concern, but... I think just about any single bytecode instruction should be fast enough for a cache miss to be on our radar. If it's not, we're even more godawfully slow than I ever suspected. 14:58 clklein: Many bytecode instructions are pretty high-level 14:58 carleastlund: I mean if cache misses don't matter, it means Racket is such a hog that it *doesn't benefit from caching*. 14:59 (quit) hanDerPeder: Quit: hanDerPeder 14:59 clklein: I didn't suggest that cache misses never matter 14:59 carleastlund: High level has very little to do with cache locality. You can do some fairly complicated things, and as long as they don't access megabytes of memory spread out everywhere, they'll stay in the cache. 15:00 carleastlund: I am staring at your MS thesis's table on the grammar of the bytecode language at the moment, too, and none of these things should be using large amounts of memory. 15:00 clklein: that's because I'm missing a lot of them 15:00 clklein: e.g., call/cc 15:00 carleastlund: haha 15:01 carleastlund: Yeah, I'm sure there are a few exceptions. I know call/cc is a stack copier. But it's also rarely used. 15:01 (join) lucian 15:03 carleastlund: cons, on the other hand, needs to be usable in tight inner loops. call/cc pretty much defeats the *concept* of "inner loop". 15:03 clklein: I write all my loops with call/cc 15:03 clklein: Are you saying that's why Redex is slow?! 15:04 carleastlund: :p 15:13 (join) Fare 15:44 (join) hanDerPeder 15:59 (join) jeapostrophe 16:07 cinch: finally, i finished ex. 12.4.2, phew! that was hard 16:11 (quit) jeapostrophe: Quit: jeapostrophe 16:23 (join) mwolfe 16:24 (quit) mwolfe: Remote host closed the connection 16:24 (join) mwolfe 16:25 (quit) mwolfe: Client Quit 16:26 (join) jst 16:27 (join) mwolfe 16:28 jst: Hi, everyone! I have a question, that might seem stupid. And it is stupid. Nevertheless: is it possible to define recursive functions in lambda form? 16:29 (quit) mwolfe: Remote host closed the connection 16:29 jst: As in (let ([f (lambda (x) (list* x (+ x (f x)))) ? 16:31 jst: Anyone? 16:31 (join) mwolfe 16:31 jonrafkind: letrec 16:31 carleastlund: (define f (lambda (x) ...)) will be recursive too 16:31 parcs: jst: http://www.ece.uc.edu/~franco/C511/html/Scheme/ycomb.html 16:32 jst: You people are my heroes. 16:34 carleastlund: You don't own me! I am my own hero! 16:36 jst: Sorry, I called it first. :P 16:41 (quit) MayDaniel: 16:42 jonrafkind: yknow, i like `local-require' 16:42 jonrafkind: good job carleastlund 16:43 carleastlund: jonrafkind, Thanks. A lot of the credit goes to Matthew too, I could not have figured out that deep black magic without his help. 16:43 jonrafkind: yea, i remember you saying that 16:48 (quit) lucian: Remote host closed the connection 16:51 jonrafkind: what do people think about (require ./foo) instead of (require "foo.rkt") 17:00 (quit) tv|z: Ping timeout: 245 seconds 17:01 (quit) ApeShot: Remote host closed the connection 17:02 (join) tv|z 17:05 carleastlund: jonrafkind, I would definitely like something akin to that. 17:08 chandler: Is that different from (require . /foo)? And why is this a good idea? 17:12 jonrafkind: so that you dont have to add the .rkt extension, and dont have to make it a string 17:12 jonrafkind: so local things can look like collection paths 17:13 (quit) jst: Ping timeout: 240 seconds 17:16 (join) jeapostrophe 17:19 (quit) jeapostrophe: Client Quit 17:26 Lajla: jonrafkind, I'm personally quite fond of a path datatype. 17:27 Lajla: ./foo is a symbol, right? 17:27 jonrafkind: well ./foo would be . and /foo 17:27 jonrafkind: but maybe some other character, like @ would work 17:27 jonrafkind: or $ 17:27 Lajla: Ahhh 17:27 Lajla: So reader syntax for path datatypes? 17:28 jonrafkind: it would just be a symbol and the require macro would handle it somehow 17:28 Lajla: Say that #@/foo is the same as (path "/foo") or something? 17:28 Lajla: Why not introduce a path datatype? 17:28 jonrafkind: the path datatype already exists (path "/foo") you mean a reader extension to it 17:28 Lajla: Quite so. 17:28 jonrafkind: i guess that would be fine, i dont know how the implementors feel about adding new reader extensions 17:29 jonrafkind: probably try to avoid it 17:29 Lajla: jonrafkind =( 17:29 Lajla: Nobody servers me and listens to what I say. 17:29 jonrafkind: welcome to the internet 17:30 Lajla: jonrafkind, I think you would make a prime servant. 17:34 (quit) mceier: Quit: leaving 17:38 carleastlund: Lajla, path datatypes are platform-dependent. We want most require specs to be platform-independent. Furthermore, jonrafkind doesn't want to write the path (hence leaving off the extension). So I think symbols of a carefully documented form are appropriate here. 17:39 Lajla: carleastlund, they are platform dependent? 17:40 Lajla: Isn't their purpose to make them platform independent? 17:40 carleastlund: There is no purely platform independent representation of paths. Not all filesystems have the same features to represent. 17:41 Lajla: Well then that sucks. 17:41 Lajla: we should all use NTFS anyway. 17:41 Lajla: I mean, as the others are gratis, they can't be that good right? 17:41 jonrafkind: is there a filesystem that doesn't understand "foo/bar/baz" ? 17:42 carleastlund: jonrafkind: isn't the Windows directory separator \ instead of / ? 17:42 jonrafkind: no, windows understand / 17:42 jonrafkind: it just also happens to understand \ too 17:42 stamourv: isn't / used for command line switches on windows? 17:42 carleastlund: Also, is "foo/bar/baz" equal to "FOO/BAR/BAZ"? That one is definitely platform dependent. 17:42 stamourv: as in: ls -l -> ls /l 17:43 jonrafkind: stamourv, yea but thats not enforced anywhere 17:43 jonrafkind: you can write a tool to understand - 17:44 Lajla: carleastlund, well, the idea is that it's not stored as a string I guess. 17:44 Lajla: In a path datatype. 17:44 carleastlund: Still, "foo\bar" is a legal filename in Unix, but a directory and filename in Windows; "foo/bar:baz" is legal in Unix and illegal in Windows, etc. 17:44 carleastlund: Lajla, what does it matter to us what it's stored as? 17:45 Lajla: Let me rephrase. 17:45 Lajla: What I mean is that the data the path datatype contains is more baz in bar in foo 17:46 carleastlund: Right, but is "foo\bar" interpreted as bar in foo, or as foo\bar in the current directory? If you write that in a require spec in a file, it needs to be unambiguous. As a path it is ambiguous. 17:48 Lajla: Well, "foo\bar" is a string, not a path datatype is my point. 17:48 Lajla: A path datatype might be constructed completely differently 17:49 carleastlund: Lajla, I'm talking about the concrete syntax someone would write to represent the path. 17:49 carleastlund: Since this topic started with jon rafkind asking for better concrete syntax for require, concrete syntax is the main concern, yes? 17:50 Lajla: carleastlund, it is possible most likely to design some 'racket path notation' which probably is not the notation of any OS but includes all features of all major filesystems. 17:51 carleastlund: Lajla, that's more or less what we've done with symbols for requires, but we already had a path datatype sitting around -- platform-conscious so it could handle whatever platform you happened to be on, and could convert between them -- and so far our require-spec needs have not been dire enough to change the entire path datatype. 17:53 (join) MayDaniel 18:01 (join) b-man_ 18:04 (join) rudybot 18:31 (quit) MayDaniel: 18:54 (quit) jonrafkind: Read error: Connection reset by peer 19:11 (join) jonrafkind 19:18 (quit) shofetim`: Ping timeout: 240 seconds 20:04 (join) jeapostrophe 20:21 (join) lewis1711 20:29 (quit) jonrafkind: Ping timeout: 240 seconds 20:42 (quit) jeapostrophe: Quit: jeapostrophe 21:07 (join) jeapostrophe 21:09 (quit) hanDerPeder: Quit: hanDerPeder 21:25 (quit) b-man_: Ping timeout: 265 seconds 21:26 (quit) carleastlund: Quit: carleastlund 21:27 (quit) jeapostrophe: Quit: jeapostrophe 21:37 (join) Demosthenex 21:43 (quit) Demosthenes: Ping timeout: 255 seconds 21:50 (join) jeapostrophe 21:52 (quit) jeapostrophe: Client Quit 21:55 (join) jeapostrophe 21:59 (quit) jeapostrophe: Client Quit 22:00 (part) lewis1711 22:07 (join) Gwyth 22:15 (join) jeapostrophe