00:00 (quit) superjudge: Quit: superjudge 00:33 (nick) elliottcable -> ec|detached 01:04 (quit) jeapostrophe: Quit: jeapostrophe 01:37 (join) realitygrill_ 01:37 (quit) realitygrill: Ping timeout: 246 seconds 01:37 (nick) realitygrill_ -> realitygrill 01:49 (quit) jonrafkind: Read error: Operation timed out 01:49 (quit) rekahsoft: Ping timeout: 250 seconds 01:50 (join) rekahsoft 02:02 (quit) DT``: Ping timeout: 264 seconds 02:04 (quit) dnolen: Quit: dnolen 02:15 (quit) realitygrill: Quit: realitygrill 02:30 (join) bogner 02:31 (join) mithos28 02:32 (quit) mithos28: Client Quit 02:33 (join) DT`` 02:40 bogner: On OSX, if I try to start any of the graphical tools from the commandline, I get a strange error, show here: https://gist.github.com/af617f9b3fcc7752f8f4 02:41 bogner: Does anyone know what that means? 02:47 bogner: Hmm, nevermind, seems to be some piece of completely unrelated software that failed at removing somehow 02:47 (part) bogner 02:52 (join) hkBst 03:17 (quit) samth: Ping timeout: 250 seconds 03:36 (quit) Checkie: Ping timeout: 260 seconds 03:37 (join) leo2007 04:05 (join) hussaibi 04:08 (join) mithos28 04:10 (quit) mithos28: Client Quit 04:29 (join) tfb 04:31 (quit) leo2007: Quit: battery dead 04:33 (join) tfb_ 04:34 (quit) tfb: Disconnected by services 04:34 (nick) tfb_ -> tfb 04:40 (join) misterncw 04:48 (join) Demosthenes 05:01 (join) masm 05:09 (quit) misterncw: Remote host closed the connection 05:09 (join) MayDaniel 05:10 (join) PLT_Notify 05:10 PLT_Notify: racket: master Matthew Flatt * 8f0921a (1 files in 1 dirs): add shortcut to expand R6RS `letrec' of procedures to Racket `letrec' - http://bit.ly/j2Ay9Y 05:10 (part) PLT_Notify 05:39 (quit) hkBst: Quit: No Ping reply in 180 seconds. 05:41 (join) hkBst 05:42 (join) wwwd 05:46 (quit) hkBst: Quit: No Ping reply in 180 seconds. 05:46 (join) hkBst 05:52 (join) misterncw 06:01 (quit) Demosthenes: Ping timeout: 260 seconds 06:10 (quit) wwwd: Quit: Page closed 06:11 (quit) MayDaniel: Read error: Connection reset by peer 06:12 (join) vu3rdd 06:12 (quit) vu3rdd: Changing host 06:12 (join) vu3rdd 06:34 (quit) _p4bl0: Remote host closed the connection 07:23 (join) _p4bl0 07:35 (join) MayDaniel 07:41 (quit) MayDaniel: Read error: Connection reset by peer 07:45 (join) lucian 07:53 (join) jeapostrophe 07:53 (quit) hussaibi: Quit: Ex-Chat 08:31 (join) leo2007 08:33 (join) PLT_Notify 08:33 PLT_Notify: racket: master Jay McCarthy * d4417fa (1 files in 1 dirs): Adding a few index entries - http://bit.ly/j4bxWp 08:33 (part) PLT_Notify 08:35 (join) dnolen 08:40 (quit) sstrickl: Quit: sstrickl 09:03 (join) lucian_ 09:04 (quit) lucian: Ping timeout: 240 seconds 09:11 (quit) dnolen: Quit: dnolen 09:16 hkBst: what's the difference between serializable structs and prefab-enabled structs? 09:22 ohwow: hello 09:23 ohwow: how are you doing? 09:24 (join) Checkie 09:27 (quit) tim-brown: Quit: ChatZilla 0.9.86.1 [SeaMonkey 2.1/20110511133425] 09:32 (join) bohanlon 09:33 (join) PLT_Notify 09:33 PLT_Notify: racket: master Matthew Flatt * e7d2cb7 (1 files in 1 dirs): doc formatting fixes 09:33 PLT_Notify: racket: master Matthew Flatt * 909aadd (1 files in 1 dirs): protect against nested snip deletes in `pasteboard%' 09:33 PLT_Notify: racket: master Matthew Flatt * c543554 (1 files in 1 dirs): fix GUI builder due to `pasteboard%' change way back ... 09:33 PLT_Notify: racket: master commits d4417fa...c543554 - http://bit.ly/lY1Twi 09:33 (part) PLT_Notify 09:34 ohwow: http://hivelogic.com/articles/top-10-programming-fonts/ 09:35 (join) sstrickl 09:44 (quit) jeapostrophe: Quit: jeapostrophe 09:46 (quit) asumu: Read error: Operation timed out 09:51 (join) RpR` 09:54 (join) MayDaniel 10:09 (quit) masm: Ping timeout: 252 seconds 10:17 (nick) ec|detached -> elliottcable 10:34 (quit) leo2007: Ping timeout: 260 seconds 10:37 (join) anRch 10:39 (nick) elliottcable -> ec|detached 10:40 (join) samth 10:42 (join) masm 10:45 (join) jeapostrophe 10:50 (join) PLT_Notify 10:50 PLT_Notify: racket: master Tony Garnock-Jones * c888222 (1 files in 1 dirs): Property accessors are now able to accept 1 or 2 arguments - http://bit.ly/kn8JCv 10:50 (part) PLT_Notify 10:51 (nick) ec|detached -> elliottcable 10:58 (quit) ckrailo: Quit: Computer has gone to sleep. 11:10 (join) asumu 11:13 (quit) samth: Ping timeout: 260 seconds 11:17 (quit) MayDaniel: Read error: Connection reset by peer 11:20 (join) tauntaun 11:23 (join) mithos28 11:29 (quit) mithos28: Quit: mithos28 11:30 (join) ckrailo 11:31 (join) samth 11:31 (join) leo2007 11:31 (join) ZachBeta 11:36 (quit) samth: Client Quit 11:36 (join) samth 11:42 (quit) misterncw: 11:43 (join) mithos28 11:44 (quit) samth: Quit: samth 11:45 (join) samth 11:45 (quit) jeapostrophe: Quit: jeapostrophe 11:46 (quit) mithos28: Client Quit 11:48 (join) jonrafkind 11:51 (join) dnolen 11:52 (quit) dnolen: Client Quit 11:52 (join) dnolen 11:53 (join) mithos28 11:55 (quit) samth: Ping timeout: 276 seconds 11:56 (quit) hkBst: Remote host closed the connection 12:00 (quit) mithos28: Quit: mithos28 12:02 (join) mithos28 12:07 (quit) mithos28: Client Quit 12:11 (join) dyoo 12:12 (quit) leo2007: Ping timeout: 260 seconds 12:15 (join) RandalSchwartz 12:15 RandalSchwartz wanders in to the chat room for no good reason ) 12:15 RandalSchwartz: interviewing matthew flatt on http://live.twit.tv/ in 15 minutes 12:16 jonrafkind: oh yea, almost forgot about that 12:17 jonrafkind: well I could always just sit outside his door anyway 12:17 RandalSchwartz: I had no idea how mature and complete an ecosystem racket had become 12:17 RandalSchwartz: this should be a fun show 12:17 RandalSchwartz: and probably bring another few thousand new members your way :) 12:18 jonrafkind: the current guy has cool hair 12:19 (quit) anRch: Quit: anRch 12:23 RandalSchwartz: cool hair? 12:23 RandalSchwartz: should I mention that? :) 12:23 jonrafkind: to the current guy with spikey hair? 12:23 jonrafkind: oh now its some commercial, i guess the last interview ended 12:24 RandalSchwartz: Oh - the live feed. 12:24 RandalSchwartz: not watching that 12:24 RandalSchwartz: I will *be* that in 5 minutes :) 12:24 RandalSchwartz: spikey hair likely brian brushwood 12:24 jonrafkind: are you going to broadcast this irc channel as well? or is that some other channel 12:24 RandalSchwartz: host of NSFW show 12:24 RandalSchwartz: the irc for the show is irc.twit.tv:#twitlive 12:25 (join) mithos28 12:25 RandalSchwartz: I probably *won't* be watching this show 12:25 RandalSchwartz: channel 12:25 RandalSchwartz: too many windows :) 12:26 RandalSchwartz wanders off 12:27 (nick) lucian_ -> lucian 12:28 (join) MayDaniel 12:30 offby1: huh, it was Merlin himself 12:30 offby1: who'd'a thunk 12:31 dyoo: hurrah, he's on 12:32 (quit) tauntaun: Ping timeout: 246 seconds 12:38 (quit) MayDaniel: Read error: Connection reset by peer 12:40 (join) anRch 12:41 (quit) mithos28: Quit: mithos28 12:42 offby1: gosh, Flatt sure is a young feller; who knew 12:42 offby1: that video crashed my whole machine :-| 12:42 (join) shofetim 12:42 jonrafkind: hes almost 40 12:43 (join) mithos28 12:44 (join) vu3rdd` 12:45 (join) lucian_ 12:46 (quit) vu3rdd: Ping timeout: 246 seconds 12:48 (quit) lucian: Ping timeout: 258 seconds 12:52 offby1: he's got a painting in his attic ... 12:53 (join) cmatheson 12:54 (join) tauntaun 12:58 offby1: RandalSchwartz's voice sounds like Jeff Bridges -- wonder if they both grew up in the same area 13:02 (quit) anRch: Quit: anRch 13:06 (quit) mithos28: Quit: mithos28 13:08 (join) samth 13:08 offby1: geiser~ 13:09 offby1: matthew should be watching IRC like a TelePromptR® :-) 13:10 samth: offby1: ? 13:10 jonrafkind: http://live.twit.tv/ 13:11 samth: exciting 13:12 (nick) lucian_ -> lucian 13:14 (topic) samth: http://live.twit.tv/ -- Racket -- http://racket-lang.org -- Come to Racket Days: July 23-24 -- logs @ http://racket-lang.org/irc-logs 13:15 (join) fds 13:17 offby1 engages Stone and Parker to write "Racket: The Broadway Musical" 13:18 eli prebuys tickets 13:20 (join) stride 13:28 (quit) sethalves: Remote host closed the connection 13:39 (join) mithos28 13:40 (quit) vu3rdd`: Remote host closed the connection 13:43 (quit) tfb: Quit: sleeping 13:44 (join) MayDaniel 13:45 (join) PLT_Notify 13:45 PLT_Notify: racket: master Robby Findler * 33e6802 (1 files in 1 dirs): make the two-argument version of redex-match use the right name for the procedure it returns - http://bit.ly/ls8nXy 13:45 (part) PLT_Notify 13:51 (quit) ZachBeta: Ping timeout: 255 seconds 13:52 RandalSchwartz: A little like Jeff Bridges, when I have a cold 13:54 RandalSchwartz: that was a fun show... should be published later today 13:54 shofetim: RandalSchwartz: you asked about other languages that are implemented ontop of racket besides scribble 13:54 shofetim: http://docs.racket-lang.org/honu/index.html 13:54 shofetim: might interest you 13:54 shofetim: http://docs.racket-lang.org/algol60/index.html 13:54 shofetim: http://docs.racket-lang.org/datalog/index.html 13:54 shofetim: as well... 13:54 RandalSchwartz: thanks! 13:54 (join) jeapostrophe 13:55 RandalSchwartz: seems like perl6 could target racket's vm 13:55 RandalSchwartz: and maybe vice versa 13:55 shofetim: I've heard of people building Python interpreters on top of it too (as an "academic exercise") 13:55 eli: RandalSchwartz: We'll wait patiently. 13:55 RandalSchwartz: well - there's already a perl6 to javascript 13:55 RandalSchwartz: and perl6 to parrot 13:55 eli: (For the video, not for perl6.) 13:55 RandalSchwartz: and perl6 to dotnet 13:55 dyoo: the show was cool; thank you! 13:56 RandalSchwartz: the audio should be out in a few hours. the video not likely until tomorrow 13:56 eli: Ah. 13:57 shofetim: Cool : ) going to pass it (podcast) on to my local LUG... doing a presentation for them tomorrow on Racket 13:57 RandalSchwartz: good timing then 13:58 eli: shofetim: Not in israel, by any chance? 13:58 shofetim: no... Montana : ) Languages are my thing... Hebrew, Latin, a little Greek, spanish etc... 13:59 eli: :) So you know what threw me off... 13:59 shofetim: your the first to know what "shofetim" meant : ) 14:00 eli: Heh... Actually, I should have known that it isn't in Israel -- 14:00 eli: if it were, you'd likely drop the "e". 14:02 (join) PLT_Notify 14:02 PLT_Notify: racket: master Kevin Tew * 8b334e1 (1 files in 1 dirs): Smaller stacks for green thread timers - http://bit.ly/lDuBt6 14:02 (part) PLT_Notify 14:02 eli: shofetim: BTW, why that word? Is it the bible thing, or the actual word? 14:04 shofetim: eli: most of my hebrew studies focused around biblical stuff, so I first encountered it while doing some comparative translating with the KJV 14:05 shofetim: I'm unaware if the meaning has changed in modern hebrew 14:06 (join) PLT_Notify 14:06 PLT_Notify: racket: master Matthias Felleisen * e3c552b (3 files in 1 dirs): boolean-valued functions in Intermediate and up now check their results; also fixed some error messages; Closes PR 11745 - http://bit.ly/lu0dfG 14:06 (part) PLT_Notify 14:06 eli: Not really. Literally, it means "judges", but since it's also a name of one of the bible books then that meaning is also very known. 14:06 shofetim: Its abit egotistic perhaps but few can understand it anyway... mostly I just like the word. 14:06 eli: :) 14:08 shofetim: Have you heard the "Specialization is for insects" quote/poem (I think by Robert Heinlein) 14:08 shofetim: Its not exactly related... but my professor at the time related the shofetim to that poem 14:09 shofetim: the judges/warriors/kings/movers of things and men. 14:09 shofetim: lots of the heroics of the OT 14:09 eli: My sci-fi readings were all in hebrew, so random quotes usually don't ring bells... 14:09 eli: (Actually all of my readings, except for CS stuff.) 14:09 shofetim: one sec let me find it.... 14:11 shofetim: I'http://en.wikiquote.org/wiki/Robert_A._Heinlein search for 14:11 shofetim: I'd past the whole thing but its abit long 14:11 shofetim: that link and then search for Specialization is for insects... 14:13 tauntaun: shofetim: under those criteria, Isaac Newton would not even remotely pass for a human being. And neither would I :-) 14:16 shofetim: tauntaun: : ) still an awesome quote 14:26 (quit) mithos28: Quit: mithos28 14:32 (join) superjudge 14:36 eli: shofetim: Doesn't sound familiar, I don't think I read it. (But I'm pretty certain I read one of the lazarus books.) 14:37 (join) tfb 14:47 (quit) MayDaniel: 14:56 (join) mithos28 15:01 (quit) mithos28: Ping timeout: 258 seconds 15:05 (join) mithos28 15:13 (quit) mithos28: Quit: mithos28 15:15 (join) bugQ 15:16 bugQ: (apropos "#lang plai") 15:20 (quit) tauntaun: Quit: Ex-Chat 15:23 (quit) jonrafkind: Read error: Connection reset by peer 15:24 (quit) dyoo: Ping timeout: 252 seconds 15:26 (join) jonrafkind 15:27 bugQ: does anyone see why the last test is bad? http://paste.lisp.org/display/122261 15:29 bugQ: and how to make is good without changing the expected value to (candle 9.0) ? 15:29 bugQ: *it 15:39 (join) mithos28 15:40 bugQ: I can't tell what equivalency function that test uses nor do I know how to override it for a custom type 15:40 (quit) mithos28: Client Quit 15:45 shofetim: are you looking for inexact->exact ? (9.0 -> 9) 15:45 shofetim: http://paste.lisp.org/display/122261#1 15:54 (quit) superjudge: Quit: superjudge 15:56 bugQ: not exactly. 15:56 bugQ: I'm looking for a way to make (candle 9.0) and (candle 9) to be equivalent values 15:57 (join) PLT_Notify 15:57 PLT_Notify: racket: master Robby Findler * d74810a (1 files in 1 dirs): fix broken earlier commit - http://bit.ly/maMVsi 15:57 (part) PLT_Notify 16:00 bugQ: so that it will pass when tested against either one 16:00 bugQ: I should have included both tests to make that more clear 16:10 bugQ: what I'm asking is essentially if either racket allows overloading of things like eqv? or that they are at least implemented in a modular way 16:11 bugQ: in which case I need to know where to register my own comparison function 16:11 samth: not eqv?, but `equal?' can be overriden 16:11 samth: but I don't think that's exposed in `define-type' in `plai' 16:13 bugQ: ok, I thought as much... 16:16 bugQ: I just come from a (perhaps unhealthy?) background of monkey patching with various script-like languages 16:17 (join) mithos28 16:17 bugQ: lisp seems to have more meta-power but less volatility than most 16:26 bugQ: (discounting eval :P) 16:27 (join) tauntaun 16:27 shofetim: I've never used the #lang plai, but if you want to change how the testing works, you could write your own... http://paste.lisp.org/display/122264 also maybe checkout rackunit http://docs.racket-lang.org/rackunit/index.html 16:30 (quit) mithos28: Quit: mithos28 16:30 bugQ: yeah, I realize that plai is not representative of ordinary testing tools 16:30 bugQ: it's just a junior-level textbook 16:30 bugQ: I'm "auditing" this class for free, since all materials are online 16:32 (quit) rekahsoft: Quit: leaving 16:35 (quit) bugQ: Ping timeout: 240 seconds 16:35 shofetim: What text?/course? 16:45 (join) mithos28 16:52 (quit) jonrafkind: Remote host closed the connection 16:53 (join) PLT_Notify 16:53 PLT_Notify: racket: master Matthew Flatt * b548bc5 (1 files in 1 dirs): fix timer thread double registration - http://bit.ly/lqoica 16:53 (part) PLT_Notify 16:54 (join) jonrafkind 17:12 RandalSchwartz: looks like it's out! twit.tv/floss167 17:13 jonrafkind: that was fast 17:13 RandalSchwartz: audio now, video later 17:13 RandalSchwartz: yeah 17:13 jonrafkind: when did the show end? i left at like 11:03 (it started at 10:30 here) 17:14 RandalSchwartz: we try to have about 45 minutes for the guest 17:14 RandalSchwartz: then we do 5-10 minutes of close, and 3-5 minutes of open 17:14 RandalSchwartz: goal is around an hour 17:14 jonrafkind: so you expect many more listeners for the end result? i saw ~410 live listeners 17:14 RandalSchwartz: heh. 59:56! 17:14 RandalSchwartz: pretty darn close 17:15 RandalSchwartz: there's about 2k to 5k live viewers 17:15 RandalSchwartz: it goes out through three video systems 17:15 jonrafkind: oh, i was watching on justin.tv 17:15 RandalSchwartz: and about 30k to 50k audio downloads in the first six weeks 17:16 RandalSchwartz: which are the only ones that count for the sponsors. :) 17:16 RandalSchwartz: we *do* get a lot of people downloading the back-catalog though, since the show is timeless 17:16 jonrafkind: i was confused about the whole setup, theres twit tv, floss weekly, and justin.tv. somehow they are all related.. 17:16 RandalSchwartz: twit.tv is the network name 17:16 RandalSchwartz: floss weekly is a show on the network :) 17:16 RandalSchwartz: justin is one of the video streaming services 17:16 jonrafkind: ok 17:16 RandalSchwartz: bitgravity is another 17:17 shofetim: RandalSchwartz: Nice (download numbers). Everyone should learn to program in either racket (lisp in general) or smalltalk : ) 17:17 RandalSchwartz: if you could tweet or blog about the show to your audience, that would help us both out. 17:17 RandalSchwartz: if you want to wait until the video tomorrow, that might have more impact 17:17 jonrafkind: ill tell all the people on my commute to work 17:18 RandalSchwartz: and hopefully matt will do the same 17:19 shofetim: The Montana LUGs know... & I'll see if I can send something out to MSU (Montana State University) CS students... 17:29 (quit) lucian: Remote host closed the connection 17:36 (quit) tfb: Quit: gone 17:56 (nick) elliottcable -> eliottcable 17:57 offby1: I floss weekly 17:57 offby1: or was that TMI 17:59 (nick) eliottcable -> Mikoangelo 18:01 samth: :) 18:01 (nick) Mikoangelo -> _sully 18:01 (nick) _sully -> elliottcable 18:03 offby1: RandalSchwartz: what prompted you to check out Racket recently? 18:04 RandalSchwartz: floss weekly! 18:04 offby1: heh 18:04 offby1: I guess I should be asking the editor over there, if that's what they call 'em. 18:05 jonrafkind: print out all the projects on freshmeat.net and throw a dart at it 18:05 RandalSchwartz: the editor over where? 18:05 offby1: floss weekly. 18:05 offby1: Of which, as you might guess, I'm quite ignorant. 18:05 RandalSchwartz: uh - I'm the producer and host of the show. 18:05 offby1: oh. 18:06 offby1: then lemme back up -- why racket as opposed to some other cool project? 18:06 RandalSchwartz: I crowdsource the upcoming projects list 18:06 shofetim: (Usually someone suggests an open source project, and gets one of its maintainers to contact Randall.... yes?) 18:06 RandalSchwartz: I have people interested in a project have the project leader contact me. 18:06 RandalSchwartz: that's how this got on 18:06 offby1: RandalSchwartz: sort of "by popular demand", then? _that_ is encouraging. 18:07 (quit) dnolen: Ping timeout: 252 seconds 18:07 RandalSchwartz: well - there's a lot of suggestions for projects, and I got tired of that. 18:07 RandalSchwartz: so I insist that the projects themselves contact me now 18:07 RandalSchwartz: and that gates it a bit 18:07 RandalSchwartz: xrl.us/flossweeklyguests 18:07 jonrafkind: oh buildbot is on there, nice 18:07 RandalSchwartz: we did buildbot a few weeks ago 18:08 jonrafkind: the floss weekly website is sort of confusing.. 18:08 jonrafkind: sensory overload 18:08 RandalSchwartz: I don't control that 18:08 RandalSchwartz: except that I select the guests and hosts. :) 18:09 RandalSchwartz: I also don't do the editing or distribution 18:09 RandalSchwartz: each show burns about 4 hours of my time though 18:10 RandalSchwartz: and we only occasionally have sponsors 18:10 offby1: ooh, buildot vs Jenkins! 18:10 offby1: bout of the century 18:10 offby1: ooh ooh! Sitaram Chamarty! I'll watch that. 18:11 jonrafkind: you guys should get carmack on ;) 18:12 offby1: I was gonna suggest Salvatore Sanfilippo, but there he is 18:12 RandalSchwartz: I forget... what open source has he done? 18:12 RandalSchwartz: Is Doom open source? 18:12 jonrafkind: i forget.. but quake3 is 18:12 offby1: yeah 18:13 jonrafkind: doom probably is 18:13 jonrafkind: and quake1 and quake2 18:13 offby1: y'know, I think this is the future of Journalism. I'm serious. 18:14 RandalSchwartz: podcasting? it's clearly one aspect of new media 18:14 RandalSchwartz: blogging is another important part though 18:17 offby1: I meant: individual experts (such as yourself) doin' it more or less by yourself, with the help of a relatively small number of people, and plenty of tech. As opposed to big companies (like newspapers). 18:25 (join) leo2007 18:27 (quit) bohanlon: Quit: Off to Boston 18:32 (quit) jeapostrophe: Quit: jeapostrophe 18:35 (join) gcd 18:40 (join) bugQ 18:44 (quit) asumu: Read error: Operation timed out 18:45 (join) dnolen 18:59 (join) jeapostrophe 19:02 (quit) jeapostrophe: Client Quit 19:06 RandalSchwartz: yeah - that makes sense 19:09 offby1: someone like you might decide to do it full time, and (somehow) charge for what they do. 19:09 offby1: Voilà: journalism 19:12 (quit) jonrafkind: Ping timeout: 258 seconds 19:14 samth: offby1: see lwn.net 19:14 offby1: I used to read them! They had/have a great editor. 19:15 offby1: But I am also the problem: I think I stopped reading once they charged $ :) 19:16 RandalSchwartz: well - so far, twit network has been supported by sponsors 19:17 RandalSchwartz: that seems to be a useful model 19:17 offby1: I didn't even notice any ads 19:17 RandalSchwartz: netflix, near the beginning 19:17 RandalSchwartz: which was at the end of the taping 19:18 offby1: huh 19:18 offby1: I use adblock; maybe that swallowed it 19:18 RandalSchwartz: we tape middle, end, beginning 19:18 RandalSchwartz: your adblock blocked my voice? :) 19:18 RandalSchwartz: I *read* the ad 19:18 RandalSchwartz: it's 2 minutes of time near the beginning of the show 19:18 RandalSchwartz: and a banner just ahead of the show open 19:19 RandalSchwartz: "banner" in this sense is me reading 15 seconds of ad copy 19:19 offby1: musta missed it 19:19 offby1: or else adblock got a lot smarter 19:19 offby1: I was running around cooking etc while listening :) 19:20 RandalSchwartz: heh 19:20 RandalSchwartz: would have been right around 10:40am 19:20 offby1: I'm surprised they're willing to pay $ for 15 seconds of nerd TV -- any sense of how many people watched, and will watch? 19:20 RandalSchwartz: or if you're listening to the audio, about 5 minutes in 19:22 RandalSchwartz: tag - netflix banner - bandwidth banner - my intro - co-host intro - a bit of banter - guest description - then the netflix ad 19:23 offby1: doin' the "Google Listen" thing. 19:23 shofetim: Anyone know of a publicly accessible web server that has racket running in a sandbox and can execute arbitrary code? (or source to quickly setup the same?) 19:24 offby1: now what on Earth gave you that idea :) 19:24 offby1: shofetim: Maybe I should put rudybot's sandbox thingy on the web somehow 19:24 shofetim: FLOSS weekly : ) sounds great for demos.... 19:24 shofetim: yeah! : ) 19:25 offby1: rudybot: (string-join (map string->list '(yes I am the scheme-evaluating bot that Matthew mentioned)) " ") 19:25 rudybot: *offby1: your scheme sandbox is ready 19:25 rudybot: *offby1: error: string->list: expects argument of type ; given yes 19:25 shofetim: I guess I should look at rudybot .... 19:25 offby1 rolls eyes 19:25 RandalSchwartz: given yes! 19:25 offby1: rudybot: (string-join (map symbol->string ' (yes I am the scheme-evaluating bot that Matthew mentioned)) " ") 19:25 rudybot: *offby1: ; Value: "yes I am the scheme-evaluating bot that Matthew mentioned" 19:26 RandalSchwartz: rudybot: #f 19:26 rudybot: RandalSchwartz: your sandbox is ready 19:26 rudybot: RandalSchwartz: ; Value: #f 19:26 offby1: right now I'm trying to teach the bot to log to Amazon's simpledb instead of the disk. Surprisingly hard, given that I have to roll my own simpledb client 19:26 RandalSchwartz: I have a sandbox! 19:26 offby1: RandalSchwartz: dude, don't be so negative 19:26 offby1 closes the cat door 19:27 RandalSchwartz: I didn't see a nil... just null 19:27 RandalSchwartz: did the lisp people finally get rid of nil? 19:27 offby1: RandalSchwartz: if you can crash the bot, eli and I will be impressed 19:27 offby1: I don't see nil _or_ null 19:27 RandalSchwartz: I was reading the docs today. Saw null 19:27 RandalSchwartz: but not nil 19:27 offby1: rudybot: null 19:27 rudybot: *offby1: ; Value: () 19:27 offby1: rudybot: (eq? '() null) 19:27 rudybot: *offby1: ; Value: #t 19:27 RandalSchwartz: yeah - like that 19:27 offby1: rudybot: (not '()) 19:27 rudybot: *offby1: ; Value: #f 19:28 offby1: null is the empty list, as you can see. But #f is the _only_ false value; everything else is true 19:28 RandalSchwartz: that part I understand too 19:28 shofetim: offby1: I have been working on an S3 api... but have been to busy lately. I general racket AWS collection would be cool. You sharing code for simple DB anywhere? 19:28 RandalSchwartz: rudybot:(while #t) 19:28 rudybot: RandalSchwartz: error: reference to an identifier before its definition: while in module: 'program 19:29 RandalSchwartz: rudybot:(while (#t)) 19:29 rudybot: RandalSchwartz: error: reference to an identifier before its definition: while in module: 'program 19:29 offby1: shofetim: kinda. Gimme a second. 19:29 RandalSchwartz: that's weird 19:29 RandalSchwartz: what identifier is it talking about? 19:29 offby1: shofetim: https://github.com/offby1/doodles/tree/master/plt-scheme/web/amazon 19:30 offby1: RandalSchwartz: we just don't have "while". 19:30 shofetim: offby1: thanks! 19:30 offby1: rudybot: (let loop () (loop)) 19:30 offby1: probably what you meant 19:30 (join) dyoo 19:30 offby1 drums fingers 19:30 rudybot: *offby1: error: with-limit: out of time 19:30 offby1: any seconds now ... 19:30 offby1: there we go 19:31 offby1: RandalSchwartz: it should have put quotes around the 'while', in the error message. 19:31 offby1: rudybot: (frotz (#t)) 19:31 rudybot: *offby1: error: reference to an identifier before its definition: frotz in module: 'program 19:32 shofetim: rudybot: ((λ (x) (x x)) (λ (x) (x x))) 19:32 rudybot: shofetim: your sandbox is ready 19:32 rudybot: shofetim: error: with-limit: out of time 19:33 offby1: *yawn* seen it, seen it :) 19:33 shofetim: *shrug* thought there could be a possibility with unicode.... 19:34 (quit) sstrickl: Quit: sstrickl 19:34 offby1: λ works fine. 19:39 RandalSchwartz: ahh - that was the confusing part 19:39 RandalSchwartz: I read that as "while in module..." 19:47 offby1: yep 19:47 offby1: I don't think I've ever come across an equivalent of "while" in racket-land. Probably trivial to write as a macro, but ... I've never felt the need 19:48 (quit) RpR`: Remote host closed the connection 19:48 offby1: rudybot: (define-syntax-rule (while test body ...) (let loop () (when test (begin body ... (loop))))) 19:48 rudybot: *offby1: Done. 19:48 offby1: rudybot: (let ([a 4]) (while (positive? a) (displayln a) (set! a (sub1 a)))) 19:48 rudybot: *offby1: ; stdout: "4\n3\n2\n1\n" 19:48 offby1: ta da 19:51 (join) jeapostrophe 19:52 (quit) jeapostrophe: Client Quit 19:52 (quit) gcd: Quit: Leaving 20:07 RandalSchwartz: rudydot:(current-seconds) 20:07 RandalSchwartz: rudydot: (current-seconds) 20:07 RandalSchwartz: it hates me now? :) 20:08 RandalSchwartz: rudydot: (require racket/date) (current-seconds) 20:10 samth: RandalSchwartz: it's rudy*b*ot 20:10 samth: rudybot: eval (current-seconds) 20:10 rudybot: samth: your sandbox is ready 20:10 rudybot: samth: ; Value: 1306368617 20:10 samth: RandalSchwartz: as above 20:11 RandalSchwartz: oh - left out the eval 20:11 RandalSchwartz: doh! 20:11 RandalSchwartz: no wait, why eval? 20:11 samth: RandalSchwartz: it's a disambiguiator 20:12 RandalSchwartz: why do some things need eval and not others? 20:12 (quit) dyoo: Ping timeout: 252 seconds 20:12 samth: you just misspelled the bots name 20:12 RandalSchwartz: oh heh! 20:12 samth: rudybot: (current-seconds) 20:12 rudybot: samth: ; Value: 1306368734 20:12 samth: rudybot: (hi 20:12 rudybot: samth: Hi kanru, in fact emacs-chess is the name of the debian package 20:12 RandalSchwartz: rudybot: (current-seconds) 20:12 samth: rudybot: eval (hi 20:12 rudybot: RandalSchwartz: your sandbox is ready 20:12 rudybot: RandalSchwartz: ; Value: 1306368752 20:12 rudybot: samth: error: eval:1:0: read: expected a `)' to close `(' 20:12 RandalSchwartz: rudybot: (seconds->date (current-seconds)) 20:12 rudybot: RandalSchwartz: ; Value: #(struct:date 44 12 0 26 5 2011 4 145 #f 0) 20:12 samth: RandalSchwartz: that's what eval is for 20:12 RandalSchwartz: rudybot: (date->string (seconds->date (current-seconds))) 20:12 rudybot: RandalSchwartz: error: reference to an identifier before its definition: date->string in module: 'program 20:13 RandalSchwartz: rudybot: (require racket/date) (date->string (seconds->date (current-seconds))) 20:13 rudybot: RandalSchwartz: master John Clements * dcb5e89 (2 files in 2 dirs): added raise-type-error to date->string, also test case - http://bit.ly/lAQwKn 20:13 RandalSchwartz: rudybot: eval (require racket/date) (date->string (seconds->date (current-seconds))) 20:13 rudybot: RandalSchwartz: ; Value: "Thursday, May 26th, 2011" 20:13 RandalSchwartz: there we go 20:14 samth: rudybot: (require racket/date) 20:14 rudybot: samth: Done. 20:14 samth: rudybot: (date->string (seconds->date (current-seconds))) 20:14 rudybot: samth: ; Value: "Thursday, May 26th, 2011" 20:14 samth: RandalSchwartz: rudybot is smart like that 20:14 offby1: RandalSchwartz: whether or not you need "eval" is super-ambiguous and ... I'll just admit it ... buggy. 20:15 offby1: what's worse (as you may have inferred) if he doesn't realize you wanted to eval something, he'll just pull up a semi-random quote that contains one of your words. I find this amusing; your mileage may vary. 20:15 RandalSchwartz: heh 20:16 samth: and that's why i always use eval 20:16 offby1: in theory you can use other languages too: 20:16 offby1: rudybot: init r5rs 20:16 rudybot: *offby1: your r5rs sandbox is ready 20:16 RandalSchwartz: offby1 - are you the same offby1 I know from some other irc channel? maybe postgresql? 20:16 offby1: RandalSchwartz: yep. 20:16 RandalSchwartz: ok 20:17 RandalSchwartz: was wondering if this was a nick collision. :) 20:17 offby1: there's an offbyone; naturally we have vowed to shoot each other on sight 20:17 offby1: #git more likely. 20:17 offby1: rudybot: (do something r5rs-like) 20:17 rudybot: *offby1: error: eval:1:0: do: bad syntax in: (do something r5rs-like) 20:18 offby1: I can't think of an example that will prove that my sandbox is now in a different language than yours. 20:18 offby1: but it is. 20:18 samth: use set-car 20:18 offby1: I think that fails even in R5RS, doesn't it? 20:18 offby1: let's see 20:18 offby1: rudybot: (let ([a (cons 1 2)]) (set-car! a 99) a) 20:18 rudybot: *offby1: error: eval:1:6: read: illegal use of open square bracket 20:18 offby1: huh 20:19 offby1: rudybot: (let ((a (cons 1 2)0) (set-car! a 99) a) 20:19 rudybot: *offby1: eval set-car! 20:19 samth: you have provide it 20:19 samth: *proved 20:19 offby1: rudybot: eval (let ((a (cons 1 2)0) (set-car! a 99) a)) 20:19 rudybot: *offby1: error: eval:1:6: let: bad syntax (not an identifier and expression for a binding) at: (a (cons 1 2) 0) in: (let ((a (cons 1 2) 0) (set-car! a 99) a) (r5rs:body)) 20:19 offby1: w0t have I done 20:19 offby1: rudybot: eval (let ((a (cons 1 2)) (set-car! a 99) a)) 20:19 rudybot: *offby1: error: eval:1:21: let: bad syntax (not an identifier and expression for a binding) at: (set-car! a 99) in: (let ((a (cons 1 2)) (set-car! a 99) a) (r5rs:body)) 20:19 offby1: *sigh* 20:19 offby1: samth: I'll take your word for it 20:19 offby1: rudybot: init racket 20:19 rudybot: *offby1: your sandbox is ready 20:19 offby1: whew 20:20 offby1: rudybot: init r5rs 20:20 rudybot: *offby1: your r5rs sandbox is ready 20:20 offby1: (let ((a (cons 1 2)) )(set-car! a 99) a) 20:20 offby1: rudybot: (let ((a (cons 1 2)) )(set-car! a 99) a) 20:20 rudybot: *offby1: ; Value: {99 . 2} 20:20 offby1: hard to get parens right when everything is all one one line. 20:21 samth: i need paren-matching in my irc client 20:21 offby1: try an Emacs IRC client. 20:21 offby1: I use erc 20:21 offby1: yes, there are more than one 20:22 RandalSchwartz: I use irc.el 20:22 RandalSchwartz: rocker's client 20:22 offby1: the { and } indicate that it's a "mutable cons", which just means "the same kind of cons every other lisp has" (except for clojure) 20:22 RandalSchwartz: because some of my code is in it 20:22 RandalSchwartz: "Mutable cons" is the name of my Blues Brothers cover band! 20:23 offby1: just outta Joliet. 20:23 RandalSchwartz: hmm. how long should my "welcome to PLaneT" email take? 20:23 RandalSchwartz: I wonder if it got eaten as spam 20:23 offby1: no idear 20:24 offby1: did you upload something? 20:24 offby1: oh, you created an account, I guess 20:24 offby1: I never log in 20:24 RandalSchwartz: yes 20:24 RandalSchwartz: I created an account... waiting for the confirmation email 20:25 RandalSchwartz: ahh - there it is 20:26 RandalSchwartz: oooh - does the "add.ss" mean planet is running arc or something? 20:27 offby1: I doubt Planet is running arc 20:28 offby1: where do you see "add.ss" ? 20:28 offby1: ah, gotcha 20:28 RandalSchwartz: on the confirmation url 20:28 offby1: no, ".ss" is the older conventional extension for mzscheme 20:28 offby1: nowadays it's .rkt but they both mean the same thing 20:28 offby1: if arc also uses .ss, it's because they are running inside mzscheme 20:28 (quit) masm: Quit: Leaving. 20:28 offby1: I should really make arc a proper #!lang 20:29 RandalSchwartz: rudybot:eval (current-output-port) 20:29 rudybot: RandalSchwartz: ; Value: # 20:29 RandalSchwartz: rudybot:eval (current-error-port) 20:29 rudybot: RandalSchwartz: ; Value: # 20:30 offby1: correct but not very useful 20:32 RandalSchwartz: yeah 20:32 RandalSchwartz: rudybot:eval (current-error-port) eq? (current-output-port) 20:32 rudybot: RandalSchwartz: ; Value: # 20:32 RandalSchwartz: oops 20:32 RandalSchwartz: bad lisp brain. bad. 20:32 RandalSchwartz: rudybot:eval (eq? (current-error-port) (current-output-port)) 20:32 rudybot: RandalSchwartz: ; Value: #f 20:32 RandalSchwartz: there we go 20:33 samth: offby1: you can't -- arc doesn't have the phase distinction 20:33 samth: or at least, it's really hard 20:33 samth: carl eastlund might have ideas, b/c he's worked w/ acl2 in racket 20:34 offby1: samth: bummer 20:34 offby1: at least that explains why it's not been done 20:34 samth: i tried to do it once 20:34 samth: otherwise it's trivial 20:35 offby1: samth: you should write a sentence or two describing why it's hard, and stick it in some README or FAQ in the arc source. 20:35 offby1: So that future generations will either avoid temptation, or will rise to the challenge. 20:35 samth: good idea 20:38 RandalSchwartz: rudybot:eval (regex-match-positions #rx"." "hello") 20:38 rudybot: RandalSchwartz: error: reference to an identifier before its definition: regex-match-positions in module: 'program 20:38 RandalSchwartz: rudybot:eval (regexp-match-positions #rx"." "hello") 20:38 rudybot: RandalSchwartz: ; Value: ((0 . 1)) 20:39 RandalSchwartz: heh #px... perl regex. :) 20:40 RandalSchwartz: ... The location between the ? and the : of a non-capturing cluster is called a cloister. 20:41 RandalSchwartz: I like these invented terms. we should reimport them back to perl docs. :) 20:41 offby1: you mean "cloister" is a _racket_ term? It sure sounds Larry-icious 20:41 RandalSchwartz: it's not Larry, no 20:42 RandalSchwartz: first I've seen () called cluster and (?i:...) called cloister 20:42 samth: that sounds like a typo to me 20:43 RandalSchwartz: rudybot:eval (/ 1 0) 20:43 rudybot: RandalSchwartz: error: /: division by zero 20:44 RandalSchwartz: rudybot:eval (raise hell) 20:44 rudybot: RandalSchwartz: error: reference to an identifier before its definition: hell in module: 'program 20:44 offby1: close though 20:44 offby1: rudybot: eval (error 'hell) 20:44 rudybot: *offby1: error: reference to an identifier before its definition: error in module: 'program 20:44 offby1: er? 20:44 RandalSchwartz: rudybot:eval (raise 'hell) 20:44 rudybot: RandalSchwartz: error: hell 20:44 offby1: rudybot: eval (error 'hell) 20:44 rudybot: *offby1: error: hell 20:44 offby1: musta still been in R5Rs mode 20:45 offby1: rudybot: eval (raise 'hell) 20:45 rudybot: *offby1: error: hell 20:45 offby1: there's a subtle difference but I forget what it is. 20:45 offby1: rudybot: doc raise 20:45 rudybot: *offby1: error: help: no documentation found for: raise provided by: "/usr/local/racket-textual/collects/racket/main.rkt" 20:45 offby1: *sigh* 20:45 offby1: rudybot: doc error 20:45 rudybot: *offby1: error: help: no documentation found for: error provided by: "/usr/local/racket-textual/collects/racket/main.rkt" 20:45 offby1: *gasp* 20:45 offby1: oh yeah, I installed "minimal" racket. 20:45 offby1 fumes 20:45 offby1: well, that's _supposed_ to point to the online docs. 20:46 offby1: next person to try "doc holliday" gets my foot in their *** 20:47 (quit) samth: Ping timeout: 258 seconds 20:47 (quit) dnolen: Read error: Connection reset by peer 20:47 (join) dnolen_ 20:52 (join) sstrickl 20:52 RandalSchwartz: rudybot:eval (in-range 1 4 1/5) 20:52 rudybot: RandalSchwartz: ; Value: # 20:53 RandalSchwartz: rudybot:eval (for/list ([i (in-range 1 4 1/5)]) i) 20:53 rudybot: RandalSchwartz: ; Value: (1 6/5 7/5 8/5 9/5 2 11/5 12/5 13/5 14/5 3 16/5 17/5 18/5 19/5) 20:53 RandalSchwartz: rudybot:eval (for/list ([i (in-range 1 4 1/5)]) (/ 5 i)) 20:53 rudybot: RandalSchwartz: ; Value: (5 25/6 25/7 25/8 25/9 5/2 25/11 25/12 25/13 25/14 5/3 25/16 25/17 25/18 25/19) 20:53 RandalSchwartz: nice 20:54 RandalSchwartz: rudybot:eval (for*/list ([i (in-range 1 4 1/5)]) (/ 5 i)) 20:54 rudybot: RandalSchwartz: ; Value: (5 25/6 25/7 25/8 25/9 5/2 25/11 25/12 25/13 25/14 5/3 25/16 25/17 25/18 25/19) 20:54 (quit) dnolen_: Quit: dnolen_ 20:55 RandalSchwartz: rudybot:eval (for*/list ([num (in-range 1 10)][den (in-range 1 10)]) (/ num den)) 20:55 rudybot: RandalSchwartz: ; Value: (1 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9 2 1 2/3 1/2 2/5 1/3 2/7 1/4 2/9 3 3/2 1 3/4 3/5 1/2 3/7 3/8 1/3 4 2 4/3 1 4/5 2/3 4/7 1/2 4/9 5 5/2 5/3 5/4 1 5/6 5/7 5/8 5/9 6 3 2 3/2 6/5 1 6/7 3/4 2/3 7 7/2 7/3 7/4 7/5 7/6 1 7/8 7/9 8 4 8/3 2 8/5 4/3 8/7 1 8/9 9 9/2 3 9/4 9/5 3/2 9/7 9/8 1) 20:58 offby1: eek 20:58 offby1: bot abuse 20:59 offby1: gosh, you just jumped into list comprehensions 20:59 RandalSchwartz: I'm just reading through the manual quickly :) 21:07 (quit) ckrailo: Quit: Computer has gone to sleep. 21:20 (quit) leo2007: Ping timeout: 248 seconds 21:48 (join) dnolen 21:50 (quit) bugQ: Ping timeout: 260 seconds 21:57 (quit) dnolen: Quit: dnolen 22:09 eli: rudybot: (define a 123) 22:09 rudybot: eli: your sandbox is ready 22:09 rudybot: eli: Done. 22:09 (nick) elliottcable -> ec|irssi 22:09 eli: rudybot: (define a 987) 22:09 rudybot: eli: Done. 22:09 eli: rudybot: a 22:09 rudybot: eli: ; Value: 987 22:10 eli: offby1: Those error messages that talk about a module are probably because I convinced you to use 'racket as a language rather than '(begin racket) which would be a bit more like a repl thing. 22:10 eli: rudybot: (define (b) a) 22:10 rudybot: eli: Done. 22:10 eli: rudybot: (b) 22:10 rudybot: eli: ; Value: 987 22:10 eli: rudybot: (define a 888) 22:10 rudybot: eli: Done. 22:10 eli: rudybot: (b) 22:10 rudybot: eli: ; Value: 888 22:10 eli: At least that works fine... 22:11 eli: RandalSchwartz: Re the sandbox aspect there's a whole bunch of issues that are controlled 22:11 eli: rudybot: (file->string "/etc/passwd") 22:11 rudybot: eli: error: file-size: `read' access denied for /etc/passwd 22:12 eli: rudybot: (delete-file "/etc/passwd") 22:12 rudybot: eli: error: delete-file: `delete' access denied for /etc/passwd 22:12 eli: rudybot: (tcp-listen 8765) 22:12 rudybot: eli: error: tcp-listen: network access denied: (#f 8765 server) 22:12 eli: rudybot: (require 'net/url) 22:12 rudybot: eli: error: require: unknown module: 'net/url 22:12 eli: rudybot: (require net/url) 22:12 rudybot: eli: Done. 22:13 eli: rudybot: (get-pure-port (string->url "http://google.com/")) 22:13 rudybot: eli: error: tcp-connect: network access denied: ("google.com" 80 client) 22:13 eli: rudybot: (make-bytes 10000000) 22:13 rudybot: eli: error: with-limit: out of memory 22:13 eli: Stuff like that. 22:19 (join) realitygrill 22:23 (quit) tauntaun: Quit: Ex-Chat 22:31 (nick) ec|irssi -> ec|detached 22:31 shofetim: rudybot: (require ffi/unsafe) 22:31 rudybot: shofetim: your sandbox is ready 22:31 rudybot: shofetim: Done. 22:32 shofetim: rudybot: (define-runtime-path libcrypto-so 22:32 shofetim: (case (system-type) 22:32 shofetim: [(windows) '(so "libeay32")] 22:32 shofetim: [else '(so "libcrypto")])) 22:32 rudybot: shofetim: (define-runtime-path my-file "my-file.txt") 22:32 shofetim: 22:33 shofetim: (define libcrypto 22:33 shofetim: (with-handlers 22:33 shofetim: ([exn:fail? (lambda (exn) 22:33 shofetim: (log-warning (format "warning: couldn't load Crypto library: ~a" 22:33 shofetim: (if (exn? exn) 22:33 shofetim: (exn-message exn) 22:33 shofetim: exn))) 22:33 shofetim: #f)]) 22:34 shofetim: (ffi-lib libcrypto-so '("" "0.9.8b" "0.9.8" "0.9.7")))) 22:34 shofetim: 22:34 shofetim: ack 22:34 shofetim: rubybot: (define libcrypto 22:34 shofetim: (with-handlers 22:34 shofetim: ([exn:fail? (lambda (exn) 22:34 shofetim: (log-warning (format "warning: couldn't load Crypto library: ~a" 22:34 shofetim: (if (exn? exn) 22:34 shofetim: (exn-message exn) 22:34 shofetim: exn))) 22:34 shofetim: #f)]) 22:34 shofetim: (ffi-lib libcrypto-so '("" "0.9.8b" "0.9.8" "0.9.7")))) 22:34 shofetim: 22:34 shofetim: rudybot: (define libcrypto 22:34 rudybot: shofetim: (define libcrypto 22:34 shofetim: (with-handlers 22:34 shofetim: ([exn:fail? (lambda (exn) 22:34 shofetim: (log-warning (format "warning: couldn't load Crypto library: ~a" 22:34 shofetim: (if (exn? exn) 22:34 shofetim: (exn-message exn) 22:34 shofetim: exn))) 22:34 shofetim: #f)]) 22:35 shofetim: (ffi-lib libcrypto-so '("" "0.9.8b" "0.9.8" "0.9.7")))) 22:35 shofetim: 22:35 shofetim: rudybot: (display "yes?") 22:35 rudybot: shofetim: ; stdout: "yes?" 22:36 shofetim: offby1: rudybot seems very slow this evening... 22:37 shofetim: offby1: not sure how... but could rudybot be made to do crashy things with ffi/unsafe? 22:40 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 22:40 (join) shofetim 22:43 eli: shofetim: It must receive a full expression on the line, you can't split it. 22:43 eli: rudybot: (require ffi/unsafe) 22:43 rudybot: eli: Done. 22:44 eli: rudybot: (get-ffi-obj "read" #f (_fun _int -> _int)) 22:44 rudybot: eli: error: eval:1:1: compile: access from an uncertified context to protected variable from module: "/usr/local/racket-textual/collects/ffi/unsafe.rkt" in: get-ffi-obj 22:44 eli: And that's the protection against it. 22:45 shofetim: eli: nice... thanks : ) 22:54 (join) alcuadrado 22:55 alcuadrado: how can I enable readline support in racket? 22:56 alcuadrado: (require readline) in .racketrc =) 22:59 eli: alcuadrado: http://docs.racket-lang.org/readline/index.html#(def._((lib._readline/main..rkt)._install-readline!)) 23:00 alcuadrado: nice, thanks eli 23:18 (join) jonrafkind 23:26 (join) jeapostrophe 23:29 (nick) ec|detached -> ec|irssi 23:29 (nick) ec|irssi -> ec|detached 23:30 (join) superjudge 23:40 (quit) superjudge: Quit: superjudge 23:44 (join) superjudge 23:45 (quit) superjudge: Client Quit 23:47 (join) superjudge