00:00 (join) tewk 00:13 (quit) jeapostrophe: Quit: jeapostrophe 00:19 (join) realitygrill 00:27 (part) francisl 00:28 (join) francisl_ 00:42 (join) dingfeng 00:46 dingfeng: are there hash-tables in racket where you can specify the equality/hasing function? 00:48 mithos28: dingfeng: not that I know of, but you could make them. Using a chaperone and a wrapper object whose equality is based on the hashing function you want. 00:49 dingfeng: i see, thanks =) 00:50 mithos28: If you want them, and that is over your head, submit a feature request 01:00 dingfeng: hm... what are the advantages of using chaperones instead of using a hash table that is constructed with its own equality/hash/ordering function? 01:01 mithos28: you cannot construct a hash with its own equality/hash/ordering function. But you can specify it for objects 01:01 mithos28: so you make a wrapper around your objects, so that its hashing corresponds to the hashing you want 01:02 mithos28: sorry you will need impersonators not chaperones, but the impersonator will let you hide the wrapping and wrapping from the users of your hash table 01:03 (quit) realitygrill: Quit: realitygrill 01:06 dingfeng: are native hashes different from the hash-tables that a user my write for himself? 01:07 mithos28: the impersonators will let you make them appear the same as native ones. 01:07 mithos28: hash?, hash-ref, hash-set! will all work 01:13 (quit) jonrafkind: *.net *.split 01:13 (quit) shofetim: *.net *.split 01:13 (quit) xharkonnen: *.net *.split 01:13 (quit) francisl_: Quit: francisl_ 01:14 (join) jonrafkind 01:14 (join) shofetim 01:14 (join) xharkonnen 01:14 (join) francisl_ 01:17 (quit) francisl_: Client Quit 01:17 dingfeng: just read through the impersonator reference 01:17 dingfeng: it's just that... using impersonator to do this appears roundabout 01:18 mithos28: If you want them to appear as normal hash tables that is the only way, if you want to build a data structure that works like a hash table but with your own operations you can do it without 01:18 mithos28: impersonators 01:20 dingfeng: was wondering about why the default hash table was implemented this way, instead of parameterizing over the hash function like the defaults in many other languages 01:20 dingfeng: i understand that both methods work, and one preserves the syntax 01:21 mithos28: what languages are you thinking of that do it the other way 01:22 mithos28: you need to implement the eq variant specially if it is based of pointer-equality and the garbage collector can move objects 01:27 mithos28: https://gist.github.com/1277356 01:27 mithos28: a simple example of using impersonators to make a hash where strings are hashed by their length 01:40 dingfeng: thanks. using impersonators is definitely convenient and not hard. other languages would be like java and python. 01:41 (quit) srolls: Remote host closed the connection 01:41 mithos28: java has the .hashcode() method like racket. Hashing is defined by objects not by the hash table. 01:42 mithos28: and I am pretty sure python doesn't let you change the how the hash is calculated on a per dictionary setup 01:44 mithos28: I changed my gist to implement arbitrary hashing behavior 01:45 dingfeng: python is similar to java, with the __hash__ method or something like that. 01:45 mithos28: so that should let you provide the hashing functions and the hash will work with those instead of the normal ones 01:46 mithos28: which is the same as racket, objects define their hashing behavior and not the hash table. Normally that is. 01:46 dingfeng: thanks mithos28. practically, i see how to do it. 01:47 mithos28: no problem 02:27 (quit) asumu: Ping timeout: 240 seconds 02:27 (quit) noelw: Ping timeout: 255 seconds 02:28 (join) tfb 02:28 (join) asumu 02:29 (quit) tfb: Client Quit 02:31 (join) hkBst 02:55 (quit) mithos28: Quit: mithos28 02:58 (quit) dnolen: Quit: dnolen 03:04 (quit) jonrafkind: Ping timeout: 256 seconds 03:25 (join) Blkt 03:30 Blkt: good morning everyone 03:33 (join) dmac1 03:45 (join) bluezenix 03:58 (join) primeiro_ 03:58 primeiro_: hey all 03:59 primeiro_: I'm confused, is dr racket the recomended implementation to follow sicp? 04:02 (join) masm 04:06 dingfeng: good morning 04:11 primeiro_: good morning 04:12 primeiro_: dingfeng: are you in europe? 04:28 (join) ahinki 04:39 dingfeng: i'm in singapore 04:45 (quit) primeiro_: Ping timeout: 252 seconds 05:34 (join) vu3rdd 05:34 (quit) vu3rdd: Changing host 05:34 (join) vu3rdd 05:51 (join) tim-brown 05:52 tim-brown: is the 3m GC available as a separate library, or was it developed specifically for plt/racket? 06:27 (quit) dmac1: Ping timeout: 244 seconds 06:39 (quit) dingfeng: Ping timeout: 252 seconds 07:16 (quit) tim-brown: Quit: Leaving 07:21 (join) tim-brown 07:56 (quit) jrslepak_: Quit: This computer has gone to sleep 07:58 (join) Burlingk 08:03 (join) jao 08:15 (join) veer 08:32 (quit) veer: Quit: Leaving 08:37 (join) francisl_ 08:38 (quit) francisl_: Client Quit 08:44 (join) jrslepak_ 08:44 (quit) jrslepak_: Client Quit 08:53 (join) dingfeng 08:55 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/hcR62g 08:55 RacketCommitBot: [racket/master] add missing GC registration for places - Matthew Flatt 08:59 (join) jeapostrophe 09:34 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/lIcDlA 09:34 RacketCommitBot: [racket/master] adjust 2htdp/image library so that it doesn't create arbitrarily large - Robby Findler 09:34 (quit) karswell: Read error: Operation timed out 09:34 (join) karswell 09:38 (quit) vu3rdd: Remote host closed the connection 09:43 (quit) zerokarmaleft: Quit: leaving 09:49 (quit) hkBst: Remote host closed the connection 10:18 (quit) shofetim: *.net *.split 10:18 (quit) xharkonnen: *.net *.split 10:24 (join) shofetim 10:24 (join) xharkonnen 10:33 (join) realitygrill 10:36 (quit) realitygrill: Client Quit 10:43 ohwow: hm 10:43 ohwow: How can I make a regexp matching '(' or ')' ? #rx"\(|\)" doesnt work 10:43 ohwow: altho I thought that it should 10:46 (nick) samth_away -> samth 10:50 samth: mithos28, dingfeng: see `make-custom-hash' 10:50 samth: rudybot: doc make-custom-hash 10:50 rudybot: samth: your racket/init sandbox is ready 10:50 rudybot: samth: http://docs.racket-lang.org/reference/dicts.html#(def._((lib._racket%2Fdict..rkt)._make-custom-hash)) 10:51 dingfeng: ok =) 10:52 (join) dnolen 10:57 (quit) jeapostrophe: Quit: jeapostrophe 10:58 (join) shofetim` 11:00 (quit) shofetim: Read error: Connection reset by peer 11:02 (join) xharkonnen_ 11:03 (quit) Burlingk: Quit: Leaving 11:05 (quit) xharkonnen: Ping timeout: 256 seconds 11:05 (quit) ahinki: Quit: ChatZilla 0.9.87 [Firefox 8.0/20110928060149] 11:13 (quit) shofetim`: Quit: ERC Version 5.3 (IRC client for Emacs) 11:14 (join) shofetim 11:26 (join) jeapostrophe 11:33 (quit) jeapostrophe: Quit: jeapostrophe 11:43 (join) dnolen_ 11:45 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/Yi_SJw 11:45 RacketCommitBot: [racket/master] error message typo - Robby Findler 11:45 RacketCommitBot: [racket/master] adjust the autosave gui so that closing the window doesn't cause drracket to - Robby Findler 11:45 (quit) dnolen: Ping timeout: 252 seconds 11:55 (part) tim-brown: "Leaving" 11:56 (join) shofetim` 11:57 (quit) shofetim: Remote host closed the connection 11:58 (quit) shofetim`: Client Quit 11:58 (join) shofetim 12:02 (join) jeapostrophe 12:04 (join) mithos28 12:21 (join) wishbone4 12:27 (quit) Blkt: Quit: going home 12:35 (join) jonrafkind 12:37 (join) anRch 12:43 (quit) anRch: Ping timeout: 248 seconds 12:49 eli: ohwow: #rx"[()]" or #rx"\\(|\\)" 12:51 (join) anRch 12:53 ohwow: thanks 13:02 (quit) anRch: Quit: anRch 13:04 (quit) dingfeng: Ping timeout: 252 seconds 13:07 tewk: stamourv: QNX Port, a group in germany is interested in using places and distributed places for the higher-levels of a robotic system. 13:07 tewk: They run QNX and Linux in i386 hardware. 13:10 samth: tewk: ping 13:10 samth: tewk: any thoughts on the places gc logging issue that i sent you and matthew an email about? 13:15 (join) anRch 13:18 (quit) bluezenix: Ping timeout: 252 seconds 13:19 (join) mithos28_ 13:24 (join) bluezenix 13:27 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/WkTswQ 13:27 RacketCommitBot: [racket/master] more memory accounting fixes for places - Matthew Flatt 13:31 (join) dmac1 13:38 (quit) dmac1: Ping timeout: 260 seconds 14:14 stamourv: tewk: Cool. 14:17 (join) dmac1 14:37 (quit) anRch: Quit: anRch 14:48 (quit) jonrafkind: Read error: Operation timed out 15:15 danking: Is there a `leave!' which will allow me to return to the previous ... Well. I'm not sure I can intelligently say what I want, but I want to get my definitions back from before the enter!. 15:21 eli: danking: (enter! #f) 15:21 eli: danking: But if you're doing these kind of things, you should absolutely use xrepl. 15:25 danking: In that case, it would seem I should absolutely get the latest version of Racket as well. 15:27 eli: danking: Which version are you on? 15:27 danking: eli: 5.1 15:28 (join) jonrafkind 15:28 eli: danking: I have a version that I butchered into working with 5.1.3, it might work with 5.1 too -- but there's also the previous life of this thing which I referred to as my "interactive hack" (which you can get from my web page). 15:29 eli: But if you're on 5.1, it's definitely worth upgrading. 15:29 (quit) wishbone4: Remote host closed the connection 15:29 danking: eli: Yeah, I just grabbed 5.2.0.1 15:30 danking: I'll finally get to check out xrepl. 15:30 eli: danking: For your limited use, just add (require xrepl) to your ~/.racketrc, and then: ,en /your/file 15:32 (join) wishbone4 15:44 tewk: samth: I talked to mathew about it this morning. You could send the logging messages back to the original place over a place channel. Eventually we want to build that functionality in for the user, but I don't have a time frame. 15:53 danking: eli: Are you sure the ,en shortcut is in the latest verison of Racket? ,enter works fine. 15:54 eli: danking: What happens when you use ,en ? 15:56 danking: "unquote: not in quasiquote in: (unquote en) \n [,bt for context]" ,bt doesn't work either. I'm using geiser-mode, so perhaps that's messing with it. 15:57 eli: Try it on a plain shell, and if it does (which it should) then complain there... 15:58 danking: eli: Yeah, works fine in a shell. I'll have to go hunt down the geiser folks. 15:58 eli: jao: (see above) 16:03 (quit) cipher: Read error: Connection reset by peer 16:10 (join) cipher 16:10 (nick) cipher -> Guest28758 16:19 (join) DanBurton 17:11 (join) anRch 17:43 DanBurton: Random question: is there a way to compile Racket to JavaScript? 17:44 DanBurton: Meaning, I write a file with some functions and stuff in Racket, and I want it to produce a .js file with JS functions of the same name, that do the same thing. Or something like that. 17:47 stamourv: DanBurton: Have a look at dyoo's Moby and Whalesong. 17:47 stamourv: It's on dyoo's github. 17:47 (quit) anRch: Quit: anRch 17:49 DanBurton: stamourv: cool, I'll take a look 17:55 (nick) samth -> samth_away 18:13 (quit) shofetim: Quit: ERC Version 5.3 (IRC client for Emacs) 18:37 (quit) karswell: Remote host closed the connection 18:37 (join) karswell 18:41 (quit) jeapostrophe: Quit: jeapostrophe 18:51 (quit) DanBurton: Quit: ChatZilla 0.9.87 [Firefox 6.0/20110811165603] 19:12 (join) jeapostrophe 19:17 (quit) jeapostrophe: Client Quit 19:18 (join) francisl_ 19:27 RacketCommitBot: [racket] plt pushed 8 new commits to master: http://git.io/vH5d4A 19:27 RacketCommitBot: [racket/master] revert GC block cache to reasonable size - Matthew Flatt 19:27 RacketCommitBot: [racket/master] reduce place-channel allocation - Matthew Flatt 19:27 RacketCommitBot: [racket/master] skip future mutex if no futures started - Matthew Flatt 19:28 (quit) snorble: Quit: Lämnar 19:30 (quit) bluezenix: Quit: Leaving. 19:32 (join) snorble 20:01 (join) realitygrill 20:09 (quit) bfulgham: Quit: bfulgham 20:12 (quit) jonrafkind: Ping timeout: 256 seconds 20:13 (quit) dmac1: Ping timeout: 240 seconds 20:15 (join) jrslepak_ 20:17 (join) dmac1 20:24 (quit) masm: Quit: Leaving. 20:32 (quit) wishbone4: Remote host closed the connection 20:39 (join) jeapostrophe 20:44 (quit) jeapostrophe: Quit: jeapostrophe 21:09 (join) jeapostrophe 21:12 (quit) jeapostrophe: Client Quit 21:20 (join) francisl__ 21:22 (quit) francisl_: Read error: Operation timed out 21:38 (quit) mithos28_: Quit: mithos28_ 21:47 (join) jeapostrophe 22:06 (quit) dmac1: Ping timeout: 276 seconds 22:40 (join) igggy 22:41 igggy: could anyone point me some sample applications made with racket? 22:41 igggy: just curious about what people is doing with it 22:49 (join) veer 22:51 (quit) dnolen_: Quit: Page closed 23:08 asumu: igggy: There are some apps on PLaneT (planet.racket-lang.org), but the most significant app written in Racket is DrRacket. 23:09 igggy: the gui language seems pretty robust, Why isn't people hacking with it all over the place? 23:09 asumu: Also I believe fluxus uses Racket: http://www.pawfal.org/fluxus/ 23:10 asumu: igggy: I don't know, but there also tend to be uses of Racket we don't know much about. It's used by at least one game dev company for game DSLs. 23:12 igggy: looks cool 23:13 igggy: i find planet's browsing interface rather cluttered 23:13 igggy: is it possible to search based on specific language used? 23:13 asumu: Not that I know of. It would be nice if it were easier to navigate, yeah. 23:14 asumu: If you want to see GUI examples in particular, there is an e-mail client called SirMail in the source tree. 23:15 asumu: It seems like a fairly complete e-mail app, but I only know of one user (Matthew Flatt). 23:16 igggy: is it distributed with drracket installer? 23:23 francisl__: hi, I'm also curious, where can we find the SirMail? 23:28 francisl__: ok, tried to run it, but doesnt seem to run on osx, required cairo 23:33 (quit) francisl__: Quit: francisl__ 23:33 (join) dnolen 23:39 (quit) jrslepak_: Quit: Leaving 23:47 (join) francisl 23:50 (quit) francisl: Client Quit 23:55 (quit) igggy: Ping timeout: 252 seconds