00:11 (join) neilv 00:29 (quit) ambrosebs: Remote host closed the connection 00:29 (join) ambrosebs 00:31 (quit) jonrafkind: Ping timeout: 265 seconds 00:33 (quit) jschuster: Quit: Coyote finally caught me 00:40 (quit) Kaylin: Quit: Leaving. 00:43 (join) RacketCommitBot 00:43 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/I5A7Sw 00:43 RacketCommitBot: racket/master 3670916 Neil Toronto: Initial commit for `math/array' documentation; about 65% finished... 00:43 (part) RacketCommitBot 00:45 (quit) jackhammer2022: Quit: Textual IRC Client: http://www.textualapp.com/ 00:46 (join) jschuster 00:56 (join) nilyaK 00:56 (join) jonrafkind 00:57 (join) sw2wolf 01:05 (join) jeapostr1phe 01:05 (join) ozzloy_ 01:06 (join) jrslepak1neu 01:09 (join) gf3_ 01:09 (join) ivan`_ 01:10 (quit) Shambles_: *.net *.split 01:10 (quit) cataska: *.net *.split 01:10 (quit) danking: *.net *.split 01:10 (quit) bremner: *.net *.split 01:10 (quit) BeLucid_: *.net *.split 01:10 (quit) sid0: *.net *.split 01:10 (quit) Raynes: *.net *.split 01:10 (quit) walter|rtn: *.net *.split 01:10 (quit) SeanTAllen: *.net *.split 01:10 (quit) dsp: *.net *.split 01:10 (quit) ChanServ: *.net *.split 01:10 (quit) dca__: *.net *.split 01:10 (quit) jonrafkind: *.net *.split 01:10 (quit) JStoker: *.net *.split 01:10 (quit) ozzloy: *.net *.split 01:10 (quit) gf3: *.net *.split 01:10 (quit) stamourv: *.net *.split 01:10 (quit) Nisstyre-laptop: *.net *.split 01:10 (quit) jeapostrophe: *.net *.split 01:10 (quit) Shvillr: *.net *.split 01:10 (quit) ivan`: *.net *.split 01:10 (quit) jrslepak_neu: *.net *.split 01:10 (join) Shvillr 01:11 (join) noam__ 01:13 (join) samth_away 01:14 (quit) noam_: Ping timeout: 240 seconds 01:14 (quit) jeapostr1phe: Ping timeout: 248 seconds 01:15 (join) ChanServ 01:19 (join) Nisstyre-laptop 01:19 (join) walter|rtn 01:19 (join) dsp 01:19 (join) SeanTAllen 01:19 (join) bremner 01:19 (join) BeLucid_ 01:19 (join) sid0 01:19 (join) Raynes 01:19 (join) jonrafkind 01:20 (quit) jonrafkind: Changing host 01:20 (join) jonrafkind 01:20 (quit) Nisstyre-laptop: Quit: Leaving 01:20 (join) Nisstyre-laptop 01:21 (join) cataska 01:21 (join) danking 01:22 (join) Shambles_ 01:32 (join) Guest35518 01:44 (part) lewis1711 01:47 (join) Havvy 01:47 Havvy: What is meant by this error? 01:47 Havvy: Err...gah. Error left my pastebin. 01:49 Havvy: Type Checker: untyped identifier curryr imported from module in: curryr 01:54 (quit) ambrosebs: Ping timeout: 252 seconds 01:59 (join) mithos28 02:21 (quit) ivan`_: Changing host 02:21 (join) ivan`_ 02:21 (nick) ivan`_ -> ivan` 02:58 (quit) tsion: Quit: Leaving 03:01 (quit) Nisstyre-laptop: Read error: Operation timed out 03:12 (join) cdidd 03:25 (quit) mithos28: Quit: mithos28 03:27 (join) mithos28 03:29 (quit) nilyaK: Quit: Leaving. 03:39 (quit) mithos28: Quit: mithos28 03:48 (quit) jonrafkind: Ping timeout: 252 seconds 03:54 (join) bitonic 04:36 (part) sw2wolf: "ERC Version 5.3 (IRC client for Emacs)" 04:48 (quit) ormaaj: Quit: WeeChat 0.4.0-dev 04:58 (join) ormaaj 05:40 (quit) ormaaj: Quit: WeeChat 0.4.0-dev 05:52 (join) sw2wolf 05:58 (join) ijp 06:00 (join) ambrosebs 06:04 (quit) cdidd: Read error: Connection reset by peer 06:20 (join) cdidd 06:22 (quit) ambrosebs: Ping timeout: 252 seconds 06:24 (join) MayDaniel 06:45 (join) Kreol[Ukr] 06:50 sw2wolf: quit 06:50 (part) sw2wolf: "ERC Version 5.3 (IRC client for Emacs)" 07:31 (join) mye 07:43 mye: I have a syntax object created with datum->syntax that I want to pass to macro as the stx parameter 07:43 mye: But as args are not passed to a macro, how else could I do that? 07:43 mye is still confused about macros 07:44 mye: I'm building up syntax as compile time and want to turn it into code with a macro also at compile time 07:49 mye: to put it another way, rather than writing the syntax behind a macro call I want to write a variable that is expanded to the syntax 07:55 neilv: can't you just yield a syntax object like #'(my-macro my-first-macro-arg my-second-macro-arg) 07:58 asumu: Havvy: it means that "curryr" hasn't been given a type, so you can't use it. 07:58 asumu: You can manually give it a type using `require/typed`. 07:59 Havvy: It's grabbed via #lang typed/racket so how would I use require/typed to give it a type? 07:59 asumu: curryr is defined in racket/function, IIRC. 07:59 (join) Blkt 07:59 asumu: So you just require it from there. 08:01 Havvy: So something like (require/typed typed/racket/function curryr) ? 08:01 asumu: You need to give it a type when you `require/typed`. 08:02 asumu: (see examples here http://docs.racket-lang.org/ts-reference/special-forms.html?q=require/typed#(form._((lib._typed-racket/base-env/prims..rkt)._require/typed)) ) 08:02 rudybot: http://tinyurl.com/cst6o7j 08:02 Havvy: I have no clue what type curryr would be... 08:03 asumu: You can give it whatever specific type you need it to have for your program. 08:03 Havvy: Ah. Alright. 08:04 Havvy still wonders what the type of curry and curryr would be other than specific instantiations. 08:04 asumu: (the function will get wrapped with a contract matching the type, so the worst that can happen is you get a contract error) 08:05 asumu: Yeah, it might be that curryr doesn't have a type because the general type is not expressible... 08:06 asumu: curry actually has a type. 08:06 asumu: rudybot: init typed/racket 08:06 rudybot: asumu: your typed/racket sandbox is ready 08:06 asumu: rudybot: curry 08:06 rudybot: asumu: ; Value: # 08:06 rudybot: asumu: ; stdout: "- : (All (a b c) (case-> ((a b -> c) a -> (b -> c)) ((a b -> c) -> (a -> (b -> c)))))\n" 08:07 Havvy: rudybot: curryr 08:07 rudybot: Havvy: I suspect you can mix and match "curry" with "curryr" to get what you want 08:08 (join) nathanpc 08:08 Havvy: A'ight. Thank you very much. 08:10 (join) ambrosebs 08:22 (quit) nathanpc: Read error: Connection reset by peer 08:23 (join) nathanpc 08:25 (join) RacketCommitBot 08:25 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/4v8bRg 08:25 RacketCommitBot: racket/master 24f358a Matthew Flatt: scribble latex: work around `\href{...#...}{...}' as a macro argument... 08:25 (part) RacketCommitBot 08:48 (join) Okasu 09:03 (join) francisl 09:03 (join) mizu_no_oto 09:12 (quit) francisl: Quit: francisl 09:23 (join) masm 09:24 (join) RacketCommitBot 09:24 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/bAL32w 09:24 RacketCommitBot: racket/master d47bfc2 Matthew Flatt: raco setup: more consistent logging and pausing on db locks 09:24 (part) RacketCommitBot 09:27 (join) anRch 09:28 (quit) soegaard: Quit: soegaard 09:30 (join) jeapostrophe 09:30 (quit) jeapostrophe: Changing host 09:30 (join) jeapostrophe 09:31 (join) soegaard 09:37 (quit) soegaard: Quit: soegaard 09:45 (join) soegaard 09:52 mye: ok I'll try with a humbler start: I'll pass the data directly first. Now I want to destructure it, but it has a hash table. Do I have to preprocess it or can syntax parse do this? https://gist.github.com/4143814 09:52 (quit) ambrosebs: Ping timeout: 252 seconds 09:53 mye: I want the hash content as pattern variables eg. type line block ... 10:01 (quit) nathanpc: Quit: Computer has gone to sleep. 10:01 (quit) neilv: Quit: Leaving 10:15 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 10:19 mye: so, if I want to remove the hash table to create syntax without it (eg hash->list), that wouldnt work because it doesn't guarantee order 10:19 mye plays the worlds smallest violin 10:27 (join) mizu_no_oto 10:27 (quit) anRch: Quit: anRch 10:27 (quit) mizu_no_oto: Client Quit 10:27 (quit) soegaard: Quit: soegaard 10:36 (join) mizu_no_oto 10:36 (quit) mizu_no_oto: Client Quit 10:49 (join) jrslepak 11:22 (join) mizu_no_oto 11:29 (join) ambrosebs 11:30 (join) nathanpc 11:34 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 11:42 (join) mithos28 11:42 (join) mizu_no_oto 11:55 (join) myx 11:56 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 12:06 (nick) Guest35518 -> JStoker 12:15 (join) tfb 12:18 (join) francisl 12:23 (join) mizu_no_oto 12:24 (quit) jeapostrophe: Ping timeout: 276 seconds 12:24 (quit) nathanpc: Quit: Computer has gone to sleep. 12:29 (quit) jrslepak: Quit: What happened to Systems A through E? 12:39 (join) jrslepak 12:42 (join) jonrafkind 12:42 (join) nilyaK 12:42 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 12:47 (part) aezx: "Leaving" 12:49 (join) mizu_no_oto 12:51 (quit) mizu_no_oto: Client Quit 13:00 (join) SunMoonStar 13:01 (join) eli 13:01 (quit) eli: Changing host 13:01 (join) eli 13:11 (quit) mye: Quit: mye 13:20 (join) mye 13:43 (quit) francisl: Quit: francisl 13:47 (quit) jrslepak: Quit: What happened to Systems A through E? 13:54 (quit) ambrosebs: Ping timeout: 240 seconds 13:59 (quit) Demosthenex: Ping timeout: 245 seconds 13:59 (join) sethalves 14:01 (join) Demosthenex 14:01 (join) Nisstyre-laptop 14:05 (quit) asvil: Read error: Operation timed out 14:13 (join) jrslepak 14:17 (quit) SunMoonStar: Ping timeout: 240 seconds 14:20 (join) RacketCommitBot 14:20 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/c1ysfA 14:20 RacketCommitBot: racket/master 6c0baa0 Robby Findler: make sure there is a dc before trying to size text 14:20 (part) RacketCommitBot 14:31 (join) mizu_no_oto 14:36 (quit) mizu_no_oto: Client Quit 14:38 (quit) masm: Quit: Leaving. 14:39 (join) lewis1711 14:45 (join) anRch 15:04 (join) mmajchrzak_ 15:07 (nick) mmajchrzak_ -> m_m 15:23 (join) mizu_no_oto 15:24 (quit) sethalves: Read error: Connection reset by peer 15:34 (quit) mithos28: Quit: mithos28 15:34 (join) mithos28 15:36 lewis1711: http://pastebin.com/cXLS7w08 I can't figure out why the unit test on 116 is failing. dr racket highlights the hash-ref form from line 27 and says it expects two arguments. the test right above it works 15:37 mithos28: do you intend to do the lookup in the parent even if the key is in the current one? 15:38 mithos28: I think you want to wrap your cond on line 29 with a (lambda () …) 15:39 lewis1711: ahhh, of course, the optional argument to hash-ref needs to be a procedure 15:39 lewis1711: thanks mithos28 that appears to have solved it 15:40 mithos28: actually it doesn't need to be a procedure, which is useful in cases like (hash-ref a-hash key #f) 15:41 mithos28: but in your case, if you only want to do certain computation in case of a lookup error then you do need a procedure 15:46 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 15:48 lewis1711: yeah I see it now 15:48 lewis1711: hmm I think all I need to do is make the table constructor a bit nicer with a macro, then I'm done 15:48 (quit) anRch: Quit: anRch 15:49 (join) mizu_no_oto 15:52 (quit) dnolen: Quit: ERC Version 5.3 (IRC client for Emacs) 15:53 (join) aezx 15:53 (quit) aezx: Read error: Connection reset by peer 16:08 mye: what is the correct _type to use for void pointers in the ffi. As I understand _void is for rackets void 16:08 mye: I can't find it in the docs unfortunately 16:09 mithos28: why are you using a void pointer? 16:10 (quit) bjz: Quit: Leaving... 16:11 (join) jeapostrophe 16:11 (quit) jeapostrophe: Changing host 16:11 (join) jeapostrophe 16:11 mye: mithos28: I'm writing libgit2 bindings and some functions return or take them 16:12 mithos28: but thats just because c doesn't offer polymorphism 16:12 mithos28: what kind of values do you need to pass in to the foreign call 16:12 mithos28: just use a pointer for that 16:14 (join) netrino 16:15 mye: here a void pointer is cast to (const unsigned char*) : http://libgit2.github.com/api.html#rawread 16:16 (quit) jeapostrophe: Ping timeout: 245 seconds 16:16 mye: I'm unsure what to write in the -> return field eg. (data : _void) seems wrong 16:16 (join) frank_____ 16:16 mithos28: mye: can you point me to acutal documentation versus an example 16:19 frank_____: have a problem uprgading Racket under ubuntu "WARNING: /home/fweytjens/share/racket/doc/xml/out.sxref::0: read (compiled): code compiled for version 5.3, not 5.1.1 " 16:20 mithos28: frank_____: what does 'which -a racket' return? 16:21 mithos28: mye: In the example of an unsigned char* isn't it just returning bytes 16:23 mye: mithos28: hm, right it's probably save to just assume that. Anyway, I now know that there isn't a special ctype in the ffi for this (probably), I thought I'd missed something. 16:26 frank_____: ? 16:27 (quit) frank_____: Quit: Page closed 16:28 (join) frank_____ 16:28 frank_____: "/home/fweytjens/bin/racket" and "/usr/bin/racket" 16:30 mye: frank_____: to me it looks like your'e starting racket 5.1.1 and it tries to read files created in your home written by 5.3 (just a guess) 16:31 (quit) jonrafkind: Read error: Operation timed out 16:31 offby1 ponders putting a sofa and dining-room table onto frank_____s tailgate 16:34 lewis1711: can macros deal with named arguments like procedures can? 16:35 frank_____: > mye yes i try to upgrade from 5.1.1 to 5.3 but it still starts the old version 16:35 lewis1711: frank_____: I use ubuntu. how are you upgrading? 16:35 lewis1711: with the shell script? 16:36 offby1: lewis1711: yes. 16:36 lewis1711: http://stackoverflow.com/questions/10094393/can-racket-macros-take-keyword-arguments my bad 16:36 rudybot: http://tinyurl.com/dyt8tol 16:38 frank_____: i ran the sh file for ubuntu karmic 16:41 lewis1711: oh, huh. I never have any issues. i always do a unix style install though, which is the non-default option 16:42 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 16:43 frank_____: will try that brb 16:47 Nisstyre-laptop: sup #racket 16:54 lewis1711: I just strung together two trivial macros all by myself. I am inappropriately proud of myself 16:54 lewis1711: http://pastebin.com/dDLHqmLi though I have no doubt made a silly error LOL 16:56 frank_____: ok i can start the newer version, but only using sudo,when i just type drracket he don't know the file 16:57 lewis1711: that's... weird 16:57 lewis1711: so you don't have permission to run drracket unless you are root? 16:57 lewis1711: but "sudo drracket" works? 16:58 frank_____: "-rwxrwxr-x 1 root root 1558 Nov 25 22:51 drracket " 16:58 frank_____: yes 16:59 lewis1711: ohh 17:00 lewis1711: frank_____: did you do "sudo racket-script.sh", without doing "chmod +x" first? 17:00 lewis1711: (I know it's nto called racket-script, but you know what I mean) 17:01 lewis1711: chmod +x racket-script.sh; sudo ./racket-script.sh *SHOULD* work 17:02 frank_____: i tryed simply drracket first than a chmod 777 drracket, which did not succeed 17:03 lewis1711: the install script I mean 17:06 frank_____: well i made that one executable yes 17:12 frank_____: lewis > very strange when i do ls dr* , then copy drracket open a new terminal and paste it, then it starts?? 17:13 lewis1711: :/ 17:13 lewis1711: maybe try a clean install 17:15 frank_____: ok thank you Lewis 17:19 frank_____: lewis < it also starts correctly from the icon in the launcher bar, so no more problem. 17:20 lewis1711: hooray :D 17:24 lewis1711: why do all racket macros just return "bad syntax" when you call them incorrectly? 17:28 (quit) netrino: Quit: Ave! 17:33 (join) soegaard 17:35 mithos28: lewis1711: Which macros, ones you write or ones that are in the standard library 17:36 lewis1711: mithos28: standard library 17:36 mithos28: that is a bug, according to sam 17:36 mithos28: I would say it is a bug aswell 17:37 lewis1711: oh yes. should you bother doing exceptions for macros or just leave them to say "use does not much pattern ..." ? 17:38 mithos28: lewis1711: You are writing your own? Use syntax-parse 17:38 mithos28: it gives nice error messages 17:41 (part) frank_____ 17:55 (join) SunMoonStar 17:59 (join) greghendershott 18:03 (join) dca 18:09 (quit) MayDaniel: Read error: Connection reset by peer 18:24 (quit) mye: Quit: mye 18:25 (quit) Kreol[Ukr]: Ping timeout: 244 seconds 18:28 (join) yoklov 18:31 (join) nathanpc 18:32 (quit) myx: Ping timeout: 252 seconds 18:50 (join) dnolen 18:51 (quit) nathanpc: Quit: Leaving... 19:08 (join) mye 19:10 (join) bjz 19:14 (join) jonrafkind 19:15 (quit) soegaard: Quit: soegaard 19:22 (quit) nilyaK: Read error: Connection reset by peer 19:34 (quit) bitonic: Ping timeout: 240 seconds 19:43 (join) jao 19:43 (quit) jao: Changing host 19:43 (join) jao 19:44 (join) jackhammer2022 20:01 (join) RacketCommitBot 20:01 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/PyqKbw 20:01 RacketCommitBot: racket/master 9062d27 Matthew Flatt: make place-channel receives more fair 20:01 RacketCommitBot: racket/master 31e644e Matthew Flatt: raco setup: add a layer of db write locking, db read fallback... 20:01 (part) RacketCommitBot 20:06 lewis1711: http://pastebin.com/05LLFiNb why does match-f1 return true for both f1 and f2? 20:07 (quit) Blkt: Quit: good night people! 20:09 offby1: my guess is that (foo) and (foo) are eqv, and match uses eqv. 20:09 offby1: rudybot: eval (struct foo ()) 20:09 rudybot: *offby1: Done. 20:10 offby1: rudybot: eval (define f1 (foo)) 20:10 rudybot: *offby1: Done. 20:10 offby1: rudybot: eval (define f2 (foo)) 20:10 rudybot: *offby1: Done. 20:10 offby1: rudybot: eval (define (match-f1 f) (match f [f1 #t])) 20:10 rudybot: *offby1: Done. 20:10 offby1: rudybot: eval (eqv? f1 f) 20:10 rudybot: *offby1: error: reference to an identifier before its definition: f in module: 'program 20:10 offby1: rudybot: eval (eqv? f1 f2) 20:10 rudybot: *offby1: ; Value: #f 20:10 offby1: oops 20:10 jonrafkind: eqv? is only #t if eq? is #t afaik 20:10 offby1: hmm 20:10 offby1 rubs chin 20:10 lewis1711: yeah i tested that 20:10 lewis1711: they're neither eqv, eq or equal 20:10 jonrafkind: or is it the other way around 20:10 offby1: (match-f1 f1) 20:10 offby1: rudybot: (match-f1 f1) 20:10 rudybot: *offby1: ; Value: #t 20:10 offby1: rudybot: (match-f1 f2) 20:10 rudybot: *offby1: ; Value: #t 20:11 jonrafkind: eqv is such a badly named function 20:11 offby1 rubs chin some more 20:11 jonrafkind: so is eq? 20:12 offby1: I wonder if match is expecting a predicate ... 20:12 offby1: rudybot: eval (frotz 'hey-lookit-me) 20:12 rudybot: *offby1: error: reference to an identifier before its definition: frotz in module: 'program 20:12 offby1: rudybot: eval (define frotz 'hey-lookit-me) 20:12 rudybot: *offby1: Done. 20:13 offby1: rudybot: eval (define (match-frotz f) (match f [frotz #t])) 20:13 rudybot: *offby1: Done. 20:13 offby1: rudybot: eval (match-frotz 999) 20:13 rudybot: *offby1: ; Value: #t 20:13 offby1 beams 20:14 offby1: lewis1711: so, I think you want something like "foo?" in your "match", instead of "f1" 20:14 lewis1711: but they're both foo? 20:15 offby1: I don't understand that question 20:15 lewis1711: to be clear, i want something that matches f1 but not f2 20:15 lewis1711: I guess I should just use a cond actually 20:15 offby1: I guess you'd want (lambda (thing) (eq? thing f1)) then 20:15 offby1: not sure how to wedge that into "match" but I assume it's doable 20:16 offby1: you _might_ consider plain old "cond" instead of match 20:16 lewis1711: yeah 20:16 lewis1711: I don't know why that took so long to occur to me 20:16 lewis1711: I generally reach for "match" by default 20:16 lewis1711: that works anyway 20:17 offby1: I imagine you could get match to work. But if you don't need its awesome superpowers, it's simpler to use cond 20:17 asumu: lewis1711: by using `f1` it's just matching against anything, since `f1` is just a name there. 20:18 lewis1711: ...oh yeah 20:18 offby1: and binding the value to f1? 20:18 asumu: You probably want the == matcher. 20:18 asumu: rudybot: (define f1 (foo) 20:18 rudybot: asumu: hm, usually that causes Riastradh to point out that let1 is in the base library under name foo 20:19 offby1 <3 rudybot 20:19 asumu: rudybot: eval (struct foo ()) (define f1 (foo)) (define (match-f1 f) (match f [(== f1) #t] [_ #f])) (match-f1 f1) 20:19 rudybot: asumu: error: Type Checker: Summary: 2 errors encountered 20:19 asumu: rudybot: init racket 20:19 rudybot: asumu: your sandbox is ready 20:19 asumu: rudybot: eval (struct foo ()) (define f1 (foo)) (define (match-f1 f) (match f [(== f1) #t] [_ #f])) (match-f1 f1) 20:19 rudybot: asumu: ; Value: #t 20:19 asumu: rudybot: (match-f1 'something-else) 20:19 rudybot: asumu: ; Value: #f 20:20 asumu: There we go. 20:20 offby1: huh, I never knew about == 20:20 (quit) Demosthenex: Read error: Operation timed out 20:22 lewis1711: me neither. handy 20:23 (join) Demosthenex 20:23 (join) jeapostrophe 20:24 (quit) bjz: Quit: Leaving... 20:29 (join) bjz 20:32 (join) Kaylin 20:33 (quit) Demosthenex: Ping timeout: 260 seconds 20:35 (quit) cdidd: Remote host closed the connection 20:41 (join) Demosthenex 20:47 (join) sw2wolf 20:48 (quit) jeapostrophe: Read error: Operation timed out 20:48 (join) ormaaj 20:54 (join) francisl 20:56 lewis1711: can one give the same macro two different names? 20:59 offby1: I don't think so, quite. 20:59 offby1: You can presumably have one expand to a call to the other. 21:01 lewis1711: hmm, what about exporting a macro as two different names? 21:02 offby1: dunni 21:02 offby1: dunno 21:03 (quit) Demosthenex: Ping timeout: 264 seconds 21:03 (join) masm 21:04 jonrafkind: good question 21:05 jonrafkind: apparently you can 21:05 (join) Demosthenex 21:13 (quit) Demosthenex: Ping timeout: 252 seconds 21:15 (join) Demosthenex 21:19 lewis1711: jonrafkind: oh? :) 21:19 jonrafkind: (provide x (rename-out [x b])) 21:20 (quit) Demosthenex: Ping timeout: 265 seconds 21:20 lewis1711: nice 21:21 (join) Demosthenex 21:23 lewis1711: I don't see why the diamond inheritance problem is such a big deal - just send the message the the superclasses in-order 21:23 lewis1711: or parent objects, for prototypes 21:23 jonrafkind: I haven't dealt with the diamond problem in a long time but I thought it had to do with each sub-class sending different parameters to the super class or something 21:24 lewis1711: http://en.wikipedia.org/wiki/Multiple_inheritance#The_diamond_problem 21:25 jonrafkind: ah right the multiple function problem 21:25 jonrafkind: well in that case the Button class should declare which functions its inheriting 21:26 lewis1711: what's wrong with juts doing it in the order inherited? 21:26 jonrafkind: well I guess thats ok too 21:26 jonrafkind: seems to be what c++ and CL do 21:27 (join) mizu_no_oto 21:27 lewis1711: I never got why *that* was such a huge problem that it had to be avoided. 21:28 jonrafkind: doesn't the paragraph about which 'equals' method explain it? 21:28 jonrafkind: or are you saying why use multiple inheritance in the first place? 21:29 (quit) Demosthenex: Read error: Operation timed out 21:29 lewis1711: jonrafkind: I would say the bug there is not defining equals in button in the first place 21:29 lewis1711: even with single inheritance that'd be dangerous 21:30 jonrafkind: ok but what about arbitrary functions that you wish to inherit. surely a subclass doesnt have to redefine every function it inherits 21:31 jonrafkind: probably things get even wierder if one function is declared 'final' in class A and the sibling class has the same non-final function 21:31 jonrafkind: then its not clear if the subclass which inherits from both can redefine that function 21:37 lewis1711: hmm 21:37 (join) Demosthenex 21:38 lewis1711: yeah even with MI it'd still probably be best practice not to inherit from two "fully formed" classes 21:38 jonrafkind: well two classes that have conflicting sets of methods 21:38 lewis1711: you could have classes that act as mixins 21:38 jonrafkind: i have never run into MI problems in all my years of c++ programming 21:38 jonrafkind: and its not an issue in java/scala 21:39 lewis1711: it's illegal in both, isn't it? I'm sure it is in java 21:39 lewis1711: and scala has that whole traits system 21:41 (quit) walter|rtn: Read error: Connection reset by peer 21:41 (join) walter|rtn 21:42 (quit) Demosthenex: Ping timeout: 255 seconds 21:42 jonrafkind: java doesn't have MI 21:42 jonrafkind: yea scala has traits 21:42 jonrafkind: the worst you can get in java is implementing from two interfaces that declare the same method 21:43 jonrafkind: i ran into that issue once or twice, usually its a major pain to deal with because if you can't modify the interfaces you are hosed 21:44 (join) Demosthenex 21:45 (quit) bjz: Ping timeout: 245 seconds 21:49 (quit) ijp: Quit: kill -SLEEP `self` 21:49 (join) masm1 21:51 (quit) masm: Ping timeout: 248 seconds 21:53 (quit) jackhammer2022: Quit: Computer has gone to sleep. 21:58 (join) RacketCommitBot 21:58 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/aMX2vQ 21:58 RacketCommitBot: racket/master 0264d3d Robby Findler: Adjust text%s so they don't call on-reflow as often... 21:58 RacketCommitBot: racket/master 5197649 Robby Findler: improve the interactivity of DrRacket's search... 21:58 (part) RacketCommitBot 22:02 sw2wolf: I want to install racket on my freebsd box. `make` is fast but `make install` is too slow. How can i make `make install` fast ? 22:03 (quit) Demosthenex: Ping timeout: 255 seconds 22:05 (join) Demosthenex 22:07 lewis1711: there is a list findf :) but no vector findf :( 22:07 jonrafkind: sw2wolf, what part is it at? 22:07 jonrafkind: docs? 22:07 sw2wolf: raco setup: in *** 22:07 jonrafkind: is there more to it 22:08 sw2wolf: i have to wait ... 22:08 jonrafkind: im not exactly sure what *** refers to 22:08 jonrafkind: what speed is your box? 22:09 sw2wolf: such as "mred/private" "racket/gui/lang" ... 22:09 jonrafkind: well thats what i meant by 'is there more to it' 22:09 jonrafkind: usually i skip building most of the collects and just explicitly build the ones i normally use 22:09 sw2wolf: how ? 22:10 jonrafkind: or you can skip almost all of them and if you own the collects tree you can do 'raco make x.rkt' which will build the collects that x.rkt depends on 22:10 (quit) Demosthenex: Read error: Operation timed out 22:10 jonrafkind: you might have to build the raco collect though 22:10 jonrafkind: here is my build command for racket git 22:10 jonrafkind: make && make plain-install && raco setup --no-docs compiler macro-debugger syntax make setup scribble honu mred gui-debugger xrepl scriblib scheme raco readline 22:10 jonrafkind: plain-install installs the new binaries 22:10 jonrafkind: but doesn't set up the collects tree 22:10 sw2wolf: thanks 22:11 lewis1711: woo, for/first. I knew there would be a list comprehension way around it 22:14 (join) Demosthenex 22:14 (quit) mye: Ping timeout: 246 seconds 22:15 (quit) ormaaj: Quit: WeeChat 0.4.0-dev 22:17 (join) walter|r 22:19 (quit) acarrico: Ping timeout: 255 seconds 22:20 (quit) walter|rtn: Ping timeout: 245 seconds 22:22 (quit) greghendershott: Quit: Leaving. 22:29 (quit) Demosthenex: Ping timeout: 265 seconds 22:29 (quit) masm1: Quit: Leaving. 22:30 (join) Demosthenex 22:35 (quit) Shviller: Ping timeout: 245 seconds 22:36 (join) Shviller 22:41 francisl: (require xrepl) take full 100% cpu, is there a fix? 22:42 (quit) Demosthenex: Ping timeout: 276 seconds 22:43 (join) Demosthenex 22:44 jonrafkind: i dunno, are you running from an unbuilt source tree? 22:45 (join) acarrico 22:46 francisl: non, binary 64 mac os x from racket-lang download page 22:47 francisl: I upgrade from 5.2 to 5.3.1 same thing 22:48 jonrafkind: not sure.. submit a bug report i guess 22:48 (quit) Demosthenex: Ping timeout: 255 seconds 22:49 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 22:49 (join) Demosthenex 22:51 lewis1711: hmmm one reason maybe why multiple inheritance is avoided - it's annoying to code for 22:53 (join) mizu_no_oto 22:54 (quit) mizu_no_oto: Client Quit 22:58 (quit) SunMoonStar: Ping timeout: 240 seconds 23:04 (quit) Demosthenex: Ping timeout: 276 seconds 23:05 (join) jackhammer2022 23:06 (join) Demosthenex 23:07 lewis1711: ok, depth-first left to right multiple inheritance seems to be working 23:08 (join) RacketCommitBot 23:08 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/XuJ--w 23:08 RacketCommitBot: racket/master 8f3343c Nadeem Abdul Hamid: automatic parenthesis mode improvements... 23:08 RacketCommitBot: racket/master 49a0b95 Robby Findler: tweak to Nadeem's commit 23:08 (part) RacketCommitBot 23:11 (quit) Demosthenex: Ping timeout: 260 seconds 23:13 (quit) Nisstyre-laptop: Ping timeout: 240 seconds 23:16 (join) Nisstyre-laptop 23:18 (join) Demosthenex 23:19 (join) PatrixCR 23:22 (quit) francisl: Quit: francisl 23:23 (quit) Demosthenex: Ping timeout: 252 seconds 23:23 (part) PatrixCR 23:25 (join) Demosthenex 23:31 (quit) Demosthenex: Ping timeout: 246 seconds 23:38 (join) Demosthenex