01:09 (join) dnolen 01:30 (quit) Demosthenes: Ping timeout: 264 seconds 01:32 (quit) dnolen: Quit: dnolen 01:50 (quit) ckrailo: Quit: Computer has gone to sleep. 02:11 (join) isak_ 02:23 (quit) jonrafkind: Ping timeout: 246 seconds 02:24 (quit) isak_: Ping timeout: 240 seconds 02:25 (join) isak_ 02:29 (join) PLT_Notify 02:29 PLT_Notify: racket: release Matthew Flatt * 07269cd (1 files in 1 dirs): x86 JIT: keep call & ret paired ... 02:29 PLT_Notify: racket: release Matthew Flatt * 8061414 (2 files in 2 dirs): fix configure error that can cause CFLAGS to be ignored ... 02:29 PLT_Notify: racket: release commits 4f1faf5...8061414 - http://bit.ly/fW1jUW 02:29 (part) PLT_Notify 03:06 (quit) realitygrill: Quit: realitygrill 04:09 (join) hussaibi 04:10 (quit) geoffhill: Quit: geoffhill 04:12 EM03: any good docs with exercises and such for racket? 04:27 (join) Lajla 04:45 (part) Lajla: "I am gay for you" 04:48 (join) mceier 05:19 (join) hussaibi_ 05:19 (quit) hussaibi_: Remote host closed the connection 05:26 (join) vu3rdd 05:26 (quit) vu3rdd: Changing host 05:26 (join) vu3rdd 06:07 bremner_: EM03: yes, How to Design Programs (look for the second edition) 06:10 (quit) hussaibi: Quit: Ex-Chat 06:17 (join) lucian 06:22 (join) tauntaun 06:53 (join) qha 06:56 (quit) tauntaun: Quit: Ex-Chat 07:01 (quit) lucian: Ping timeout: 240 seconds 07:04 (quit) vu3rdd: Ping timeout: 264 seconds 07:05 (join) lucian 07:38 (join) Demosthenes 07:45 (quit) lisppaste: Ping timeout: 258 seconds 07:56 (quit) tildedave: Quit: Leaving 08:08 (join) tildedave 09:19 (nick) samth_away -> samth 09:20 samth: rekahsoft, `define-struct/contract' still works 09:20 samth: `struct' and `define-struct' are just different syntaxes for the same thing 09:22 (join) lucian_ 09:23 (join) PLT_Notify 09:23 PLT_Notify: racket: master Matthew Flatt * 187e483 (1 files in 1 dirs): fix inline `eqv?' (affects PPC) - http://bit.ly/eADavw 09:23 (part) PLT_Notify 09:24 (quit) lucian_: Read error: Operation timed out 09:24 (join) lucian_ 09:25 (quit) lucian: Ping timeout: 264 seconds 09:28 (join) lucian 09:28 (quit) Demosthenes: Quit: leaving 09:28 (join) dnolen 09:31 (quit) lucian_: Ping timeout: 248 seconds 09:33 (join) tauntaun 09:37 (quit) tildedave: Remote host closed the connection 09:37 (join) PLT_Notify 09:37 PLT_Notify: racket: master Vincent St-Amour * 7e49139 (0 files in 0 dirs): Remove file that was accidentally committed. - http://bit.ly/fnayJD 09:37 (part) PLT_Notify 09:49 (quit) tauntaun: Quit: Ex-Chat 09:49 (quit) dnolen: Quit: dnolen 09:58 (join) vu3rdd 09:58 (quit) vu3rdd: Changing host 09:58 (join) vu3rdd 09:59 (join) mithos28 09:59 (quit) isak_: Remote host closed the connection 10:00 (join) mithos28_ 10:00 (quit) mithos28: Read error: Connection reset by peer 10:00 (nick) mithos28_ -> mithos28 10:03 (quit) qha: Ping timeout: 240 seconds 10:18 (join) qha 10:19 (join) MayDaniel_ 10:30 (join) lucian_ 10:31 (join) PLT_Notify 10:31 PLT_Notify: racket: master Kevin Tew * 44bf21a (2 files in 2 dirs): make group_member_cache place local 10:31 PLT_Notify: racket: master Kevin Tew * 2c02d9f (1 files in 1 dirs): Finish load_extension places FIXME_LATER 10:31 PLT_Notify: racket: master Kevin Tew * fd93e50 (1 files in 1 dirs): keygen can be shared see comment 10:31 (part) PLT_Notify 10:33 (quit) lucian: Ping timeout: 252 seconds 10:55 (join) realitygrill 11:01 (join) seku 11:01 (join) stis 11:03 (quit) mithos28: Quit: mithos28 11:05 (join) PLT_Notify 11:05 PLT_Notify: racket: master Matthias Felleisen * 88e0631 (1 files in 1 dirs): open output files in text mode 11:05 PLT_Notify: racket: master Matthias Felleisen * f2a475e (3 files in 2 dirs): critical bug fix in registration process; please propagate 11:05 PLT_Notify: racket: master commits f8d7612...f2a475e - http://bit.ly/f4ccSl 11:05 (part) PLT_Notify 11:08 (join) PLT_Notify 11:08 PLT_Notify: racket: master Matthias Felleisen * 6b7e844 (1 files in 1 dirs): history updated - http://bit.ly/gtjAij 11:08 (part) PLT_Notify 11:09 (quit) stis: Remote host closed the connection 11:10 (join) masm 11:15 (join) ckrailo 11:21 (join) dnolen 11:24 (join) Blkt 11:26 (join) jonrafkind 11:28 (join) mheld_ 11:28 (join) anRch 11:30 (quit) mheld_: Client Quit 11:30 (quit) MayDaniel_: Read error: Connection reset by peer 11:33 (join) MayDaniel_ 11:36 (join) tauntaun 11:55 seku: http://paste.pocoo.org/show/x8T1nloj0AraZNq9O3O5/ can i improve this somehow? 11:56 ohwow: nah i think you are good 11:57 seku: can i define functions so they take different numbers and types of variables? 11:58 seku: and it automatically chooses which one to use 12:05 (quit) anRch: Quit: anRch 12:06 (quit) EM03: Quit: EM03 12:07 ohwow: seku: like several functions with the same name but with different types of arguments? or just a function which takes different kinds of arguments? 12:08 samth: seku, try using `match' 12:08 ohwow: if latter, you just (define (f a b) (string-append a (number->string b))) ;; (f "asd" 4) => "asd4" 12:09 samth: (define (f x) (match x [(? integer? y) (add1 y)] [(? string? y) (string-append "foo" y)])) 12:09 ohwow: if first, you should look at dynamic dispatching 12:09 ohwow: im not sure how it's done in racket 12:10 ohwow: samth: is it possible to do it `CL-style'? Something like (define (f (integer a) (integer b)) ..) (define (f (string a) (string b)) ..) ? 12:10 samth: ohwow, first, that doesn't work for functions in CL, only for generics 12:11 samth: second, there isn't a normal mechanism for doing that in Racket, but you could look at Swindle 12:11 samth: rudybot, doc swindle 12:11 rudybot: samth: your racket sandbox is ready 12:11 rudybot: samth: not found in any library's documentation: swindle 12:11 samth: http://docs.racket-lang.org/swindle/index.html?q=swindle 12:12 ohwow: o tiny-clos 12:12 ohwow: sorry, i am not really good at CL, i just saw some example code 12:13 ohwow: what's the difference between generics and functions? 12:13 (join) anRch 12:13 ohwow: I only heard the word `generics' in the context of C#/Java and I guess it has a different meaning 12:17 (join) dzhus 12:19 (join) geoffhill 12:19 ohwow: samth 12:26 jonrafkind: generics do the vtable lookup for you so you dont pay the cost each time 12:27 jonrafkind: so if you do (send some-obj foo) the class system has to do a dynamic lookup of the 'foo' method, but if you do (define my-foo (generic foo-class foo)) now you can do (send-generic some-foo foo) and that lookup won't be done again 12:28 ohwow: hm 12:33 (quit) anRch: Ping timeout: 263 seconds 12:40 (join) Zatman 12:41 (join) anRch 12:41 Zatman: Hello, is this a place where I can come for some help with a programming problem? 12:42 (quit) anRch: Client Quit 12:43 jonrafkind: sure 12:44 Zatman: I'm in a Programming Language class where we have to write a Scheme procedure that takes three arguments and returns the sum of the squares of the two largest numbers. I've figured out the logic, but I'm having problems figuring out an error I'm getting 12:45 Zatman: http://zatman.privatepaste.com/ebdab56186 <- that's the code with the error message. 12:46 Zatman: when run in DrRacket with the arguments 1, 2, 3 the whole block from let through the end is highlighted in pink, while the two set! statements are highlighted in black 12:46 jonrafkind: you have too many parentheses around the cond 12:46 jonrafkind: you have ((cond ..)) when you want (cond ...) 12:46 (join) realitygrill_ 12:46 Zatman: ok 12:47 Zatman: When I remove a set of () I get: "intermediate-let: expected only one expression after the name-defining sequence, but found one extra part" 12:47 seku: why isn't it the same? 12:47 seku: () and (()) 12:48 jonrafkind: (x) is procecudure application, if you do ((x)) then you will call (x) and then call whatever its result is 12:48 jonrafkind: the result of his (cond ...) is void, so ((void)) fails 12:48 Zatman: ok 12:49 (quit) realitygrill: Ping timeout: 240 seconds 12:49 (nick) realitygrill_ -> realitygrill 12:49 jonrafkind: Zatman, try (let ... (begin (cond ...) (- ...))) 12:49 jonrafkind: but probably you should only have one expression after the let isntead of two 12:49 jonrafkind: (let ... (- ...)) orw hatever 12:50 jonrafkind: using mutation (set!) is considered bad form 12:51 Zatman: Thanks, adding the (begin(...) worked 12:57 (join) PLT_Notify 12:57 PLT_Notify: racket: release Matthias Felleisen * 8e723f1 (1 files in 1 dirs): open output files in text mode ... 12:57 PLT_Notify: racket: release Matthias Felleisen * bd94b49 (3 files in 2 dirs): critical bug fix in registration process; please propagate ... 12:57 PLT_Notify: racket: release Matthias Felleisen * 947b39d (1 files in 1 dirs): history updated ... 12:57 PLT_Notify: racket: release commits 8061414...947b39d - http://bit.ly/g38Fke 12:57 (part) PLT_Notify 12:57 (join) anRch 13:10 seku: is there a way to make to refer to self from a lambda? 13:11 jonrafkind: you could use a macro to do that, otherwise you need to use letrec or something 13:11 jonrafkind: (letrec ([self (lambda (x) ...(self x)...)]) self) 13:12 seku: thanks. I use define :) 13:21 (quit) MayDaniel_: Read error: Connection reset by peer 13:30 Zatman: Thanks once again for the help! 13:31 (quit) Zatman: Quit: bye 13:47 (quit) geoffhill: Quit: geoffhill 13:47 (quit) realitygrill: Quit: realitygrill 13:47 (join) EM03 13:47 (quit) EM03: Changing host 13:47 (join) EM03 13:54 seku: does racket compile to machine code? 13:54 jonrafkind: eventually it does, it gets JIT'd at runtime 13:54 bremner_: seku: there is a JIT which does 13:55 seku: mmm... does it mean it's being run by java interpreter? 13:55 bremner_: nooooo! 13:55 bremner_: ;) 13:56 bremner_: the J is for Just 13:56 jonrafkind: ROFL 13:56 seku: i don't know what jit it ;) never done java 13:56 seku: im a hobbyist and im looking forward to toying with opengl or something 13:58 (join) geoffhill 13:59 seku: ok 14:00 (join) PLT_Notify 14:00 PLT_Notify: racket: release Vincent St-Amour * 659cb91 (0 files in 0 dirs): Remove file that was accidentally committed. ... - http://bit.ly/g4u9sr 14:00 (part) PLT_Notify 14:09 (join) realitygrill 14:19 (quit) lucian_: Ping timeout: 252 seconds 14:23 seku: drracket word-completes reduce but it gives me unbound identifier error (#lang racket). Is it with some other name?. 14:23 jonrafkind: whats your language set to 14:24 seku: racket 14:24 seku: and it chooses from source 14:24 stamourv: reduce is in srfi/1 14:24 stamourv: you need to require it 14:24 stamourv: or use fold{l,r}, which are in #lang racket 14:25 seku: thanks 14:26 (join) lucian 14:27 (join) PLT_Notify 14:27 PLT_Notify: racket: master Robby Findler * 21cbd9a (42 files in 14 dirs): added the racket/contract/combinator library, ... 14:27 PLT_Notify: racket: master Robby Findler * be1a0e6 (1 files in 1 dirs): added docs for current-contract-region 14:27 PLT_Notify: racket: master Robby Findler * 1fdfd84 (6 files in 5 dirs): made sure that all of the mzlib/contract exports are documented ... 14:27 PLT_Notify: racket: master commits 6b7e844...1fdfd84 - http://bit.ly/gORiAq 14:27 (part) PLT_Notify 14:30 (join) PLT_Notify 14:30 PLT_Notify: racket: master Robby Findler * a373eac (0 files in 0 dirs): added docs-complete.rkt 14:30 PLT_Notify: racket: master Robby Findler * e7d0029 (0 files in 0 dirs): added lots of new tests that our documentation is complete 14:30 PLT_Notify: racket: master commits 1fdfd84...e7d0029 - http://bit.ly/hjAo4g 14:30 (part) PLT_Notify 14:47 (quit) tauntaun: Ping timeout: 250 seconds 14:51 (join) tauntaun 14:53 (join) lucian_ 14:55 (quit) lucian: Ping timeout: 248 seconds 15:04 (quit) anRch: Quit: anRch 15:21 (quit) lucian_: Remote host closed the connection 15:28 (quit) tauntaun: Quit: Ex-Chat 15:44 (quit) geoffhill: Ping timeout: 248 seconds 16:08 EM03: I want to use scheme for web dev .....am i crazy? heh 16:12 (join) mithos28 16:12 realitygrill: me too, that'd be fun 16:18 EM03: you ever tried? 16:21 realitygrill: no, I'm a newb programmer 16:22 realitygrill: but there does appear to be stuff on it in the docs 16:24 qha: I suppose this is what realitygrill is talking about: 16:24 qha: http://docs.racket-lang.org/continue/index.html 16:26 qha: If you like scheme I'd recommend taking a look at the environment for scheme servlets (or rather racket servlets now a days I suppose, what's at that docs link any ways). 16:28 (join) geoffhill 16:30 realitygrill: yes, that's what I meant 16:30 realitygrill: good to know 16:30 (join) geoffhill_ 16:31 (quit) geoffhill: Read error: Connection reset by peer 16:31 (nick) geoffhill_ -> geoffhill 16:36 EM03: qha: the only thing that scares me is i think it uses a continuation approach does it not? 16:38 qha: There's an option to use continuations. That's half the reason I started using it, before I was using a scheme program started via cgi, but if you want to share state between requests I expect there are other ways of doing it. If you don't then there's no reason to worry about continuations. 16:52 jonrafkind: ive only used the webserver a tiny amount, but sharing state by using continuations is much better than storing it in a persistent hash table 16:52 (join) MayDaniel 16:52 jonrafkind: much better as in you can program as if you were writing a normal application 16:52 jonrafkind: using a hashtable is annoying becuase you have to recreate the control flow of your program each time the user makes a request 16:53 jonrafkind: so obviously one of the things you want to store about the client is the control flow, and this is what the continuation is 16:59 (quit) geoffhill: Ping timeout: 248 seconds 17:06 (quit) mithos28: Quit: mithos28 17:07 (join) lisppaste 17:12 EM03: qha: so I don't need to use continuations? 17:13 EM03: websites that use continuations don't work well for static content and seo in general 17:14 qha: For static content there's probably no reason to use continuations, but I don't really see the reason to use even cgi for static content. 17:15 EM03: so how would you do it? 17:15 EM03: is there any way I can use continue without using continuations? 17:17 qha: I'd just make Apache httpd serve the directory holding the static content. 17:18 qha: Hmm, it strikes me that static content might still come from a database or what ever else you have that isn't a file system. 17:20 qha: http://docs.racket-lang.org/continue/index.html#%28part._.Inspecting_.Requests%29 17:20 rudybot: http://tinyurl.com/3j2gwdl 17:20 qha: describes how you inspect requests, that should allow you to figure out what your visitors are asking for. 17:20 EM03: hmm there should be some sort of routing dispatcher qha 17:20 EM03: to make things a bit more elegant 17:23 qha: As in you want to make the web server send all requests to what looks like different paths to the same program? 17:25 qha: I think I've seen something like that, but I'm not sure if that was just like plug in your dispatcher here or rather like rebuild the entire web server (using all the components it's built of except the one you're unhappy with), but I expect this is where I saw it: 17:25 qha: http://docs.racket-lang.org/web-server-internal/index.html 17:28 EM03: qha: i'm trying to create a cms qha 17:35 qha: Sorry, I never had an issue with that part of the web server implementation and I can't find a more elegant solution than rebuilding the outermost parts of the server just looking through the second link I just sent right now. 17:36 qha: If I needed something like that in less than a day I'd put an Apache with mod_proxy and mod_rewrite in front of the servlet engine. 17:41 EM03: use mod_rewrite to fake the url system? 17:46 (quit) mceier: Quit: leaving 17:46 (join) mithos28 17:52 qha: Pretty much. Pass it in a parameter so all requests can go to the same servlet. 17:53 (join) PLT_Notify 17:53 PLT_Notify: racket: master Matthew Flatt * e999e06 (1 files in 1 dirs): minor code-format adjustment 17:53 PLT_Notify: racket: master Matthew Flatt * 5ae4b00 (1 files in 1 dirs): fix CGC ephemeron bug ... 17:53 PLT_Notify: racket: master Matthew Flatt * 4009030 (1 files in 1 dirs): Boehm GC: remove some obsolete customization 17:53 PLT_Notify: racket: master commits e7d0029...4009030 - http://bit.ly/eqgS4j 17:53 (part) PLT_Notify 17:56 EM03: qha: there has to be a way to do this in the server, some sort of dispatch that allows you to map urls to certain functions 17:59 (join) PLT_Notify 17:59 PLT_Notify: racket: master Asumu Takikawa * 6d1b584 (2 files in 1 dirs): Documentation fixes in framework 17:59 PLT_Notify: racket: master Asumu Takikawa * 4cc0af9 (2 files in 1 dirs): Handle SSLv2 absence gracefully and update docs. 17:59 PLT_Notify: racket: master commits 4009030...4cc0af9 - http://bit.ly/f5j3Rm 17:59 (part) PLT_Notify 17:59 (quit) dzhus: Remote host closed the connection 17:59 qha: I agree it would make sense, perhaps if you ask here again another time someone who knows better will see your question or try the mailing list: http://lists.racket-lang.org/users/ 18:00 qha: Anyway, I'm of to bed now. Good luck! 18:22 (quit) Blkt: Read error: Operation timed out 18:23 (join) Blkt 18:27 (quit) SeanTAllen: Quit: SeanTAllen 18:33 (join) SeanTAllen 18:33 (quit) SeanTAllen: Client Quit 18:45 (quit) dnolen: Ping timeout: 252 seconds 18:49 (quit) Blkt: Ping timeout: 240 seconds 19:08 (quit) MayDaniel: Read error: Connection reset by peer 19:15 mithos28: Does anyone know why typed racket cannot generate contracts, when requiring a value of (Channelof Number)? 19:25 samth: mithos28, i'll take a look 19:27 samth: mithos28, it seems that it's not easy to write a channel that dynamically checks its arguments 19:27 mithos28: samth: ok so an implementation fault, not a soundness thing 19:29 mithos28: I'm trying to add support for ephemerons to TR, since it looked (relatively) easy and am looking at channels as my guidepost 19:31 samth: right, not b/c of soundness 19:31 samth: we'd need some kind of contract combinator for channels 19:31 samth: which i suppose could be written using threads and creating a new channel 19:31 samth: but that seems like a bad idea 19:36 mithos28: ok, I'll look at some other type else for guidance on how the contracts are specified. Thanks for the help. 19:36 (join) PLT_Notify 19:36 PLT_Notify: racket: release Matthew Flatt * 7b604f3 (1 files in 1 dirs): fix CGC ephemeron bug ... - http://bit.ly/fVoX56 19:36 (part) PLT_Notify 19:37 (quit) masm: Quit: Leaving. 19:44 (join) dnolen 19:49 samth: mithos28, take a look at Pair -- that should be pretty simple 19:49 samth: although, now that i think about it, i'm not sure how to make contracts for ephemerons work 19:50 samth: you'd need an ephemeron chaperone, and those don't exist 19:52 mithos28: I looked and came to that conclusion aswell 19:52 mithos28: what is the best way to publish a patch when I am finished? 19:57 samth: mithos28, i'd send it to the list, or if you use github, create a pull request and send the link to the list 19:58 mithos28: samth: ok, thanks. 20:00 (join) PLT_Notify 20:00 PLT_Notify: racket: master Robby Findler * 7701f75 (5 files in 5 dirs): adjusted test-docs-complete.rkt tests - http://bit.ly/gB5BoO 20:00 (part) PLT_Notify 20:04 EM03: anyone here wanna be my mentor? :) 20:12 samth: mentor for what? 20:19 (nick) samth -> samth_away 20:29 EM03: just kidding samth_away 20:29 jonrafkind: google code 20:29 jonrafkind: EM03, right? 20:30 EM03: huh? 20:30 jonrafkind: ok nevermind 20:30 bremner_: a bit late for gsoc 20:30 jonrafkind: some guy told me he was accepted today 20:31 EM03: I'm being very dumb by getting into scheme like this but it is what it is 20:31 (join) Demosthenes 20:36 (quit) vu3rdd: Remote host closed the connection 20:37 (join) vu3rdd 20:37 (quit) vu3rdd: Changing host 20:37 (join) vu3rdd 20:37 EM03: any good place with some scheme exercises? 20:39 jonrafkind: htdp.org 20:42 (quit) vu3rdd: Ping timeout: 250 seconds 21:21 (quit) jonrafkind: Ping timeout: 260 seconds 21:26 (quit) Demosthenes: Ping timeout: 252 seconds 21:28 (join) Demosthenes 21:42 (join) misterm 22:21 (join) PLT_Notify 22:21 PLT_Notify: racket: master Robby Findler * fcfb422 (9 files in 9 dirs): weeded out some more of the test-docs-complete.rkt files - http://bit.ly/fnPHFH 22:21 (part) PLT_Notify 22:30 (quit) EM03: Read error: Connection reset by peer 22:50 (join) PLT_Notify 22:50 PLT_Notify: racket: master Ryan Culpepper * bf5248e (3 files in 2 dirs): syntax/parse: changed #:declare back to "magical" scoping 22:50 PLT_Notify: racket: master Ryan Culpepper * aac8be5 (2 files in 1 dirs): updated syntax/parse docs 22:50 PLT_Notify: racket: master Ryan Culpepper * ee6fa14 (1 files in 1 dirs): automatically filter out names from serializable structs 22:50 PLT_Notify: racket: master commits fcfb422...ee6fa14 - http://bit.ly/dXzKxa 22:50 (part) PLT_Notify 22:56 (join) EM03 23:53 (quit) mithos28: Quit: mithos28