00:00 (quit) dnolen: Quit: dnolen 00:19 (quit) superjudge: Quit: superjudge 00:27 (quit) sstrickl: Quit: sstrickl 00:36 (join) Demosthenes 00:44 Demosthenes: match is cool, but now i'm thinking case-lambda ;] 00:45 Sgeo: Can I use things like the sync stuff without using threads? 00:46 offby1: not sure if that makes any sense. 00:47 Sgeo: I know of at least one system that uses events in a single-threaded way 00:47 Sgeo: Not necessarily Racket events though 00:47 offby1: well, the answer is "sure" 00:48 offby1: and now that I'm looking, there seem to be plenty of synchronizable events ... many seem useless if you only have one thread, but some might be useful 00:48 offby1: you can sync a port,e.g. 00:48 offby1: But then you could also just read from it, which blocks as well 00:48 offby1: you could sync an alarm. 00:48 offby1: You can tune a piano, but you can't tuna fish. 00:49 Sgeo: Well, I'd be making my own events 00:49 offby1: sure are a lot of synchronizable events. 00:49 Sgeo: And triggering them as needed 00:49 offby1: oh? as far as I know the only way to do that is to make 'em a struct, and give 'em the magick prop:evt property 00:50 Sgeo: Sounds easy enough 00:50 offby1: well, the question is: how would you trigger them? If your racket program has only one thread, the trigger would have to come from the outside world 00:50 Sgeo: The triggers would come from a C SDK 00:51 offby1: sounds like you know more about it than I do 00:51 Sgeo: But then again, why would it have to come from the outside world, and not a dispatcher written in Racket? 00:52 offby1: well, if your only thread is blocked on this thing, how would the dispatcher code run? 00:52 (quit) Demosthenes: Quit: Lost terminal 00:52 Sgeo: Um... 00:52 Sgeo: I wouldn't allow blocking, I guess.... unless continuations were in use? 00:53 Sgeo: Maybe I should use threading, figure out how that would fit into this model 00:53 offby1: isn't blocking the whole point of "sync" ? 00:53 Sgeo: SDK is not considered thread-safe, but I think I can work around that 00:54 (join) ThePing 00:54 (part) ThePing 00:55 Sgeo: Although actually, can I make the blocking action do something other than a block? 00:55 Sgeo: Can I make it call a function of my choosing? 00:55 Sgeo: Such that I can abuse continuations? 00:55 offby1 stares blankly 01:26 (join) poindont` 01:38 (join) realitygrill_ 01:40 (quit) realitygrill: Ping timeout: 246 seconds 01:40 (nick) realitygrill_ -> realitygrill 02:03 (join) realitygrill_ 02:06 (quit) realitygrill: Ping timeout: 264 seconds 02:06 (nick) realitygrill_ -> realitygrill 02:06 (quit) no-name-: 02:10 (join) no-name- 02:25 (quit) realitygrill: Quit: realitygrill 02:26 (quit) ZachBeta: Ping timeout: 260 seconds 02:33 (quit) mithos28: Quit: mithos28 02:51 (join) realitygrill 03:15 (quit) ckrailo: Quit: Computer has gone to sleep. 03:43 (join) masm 04:02 (join) wwwd 04:05 (join) misterncw 04:11 wwwd: Is there anything like pycon for racket? 04:11 (quit) hussaibi: Ping timeout: 276 seconds 04:12 (quit) DT``: Ping timeout: 246 seconds 04:21 (quit) realitygrill: Quit: realitygrill 04:21 (join) realitygrill 04:24 (join) DT`` 04:38 (quit) wwwd: 05:10 (quit) realitygrill: Quit: realitygrill 06:02 (quit) misterncw: Read error: Connection reset by peer 06:03 (join) misterncw 07:25 (join) lucian 08:07 (join) dnolen 08:15 (quit) no-name-: 08:19 (join) jules2 08:30 jules2: in a macro, can you determine which variables are bound? 08:31 jules2: for example, in a pattern matching library you could have a (mlet ) form, that could work like this: (mlet (= a 2) ...) binds a to 2, similarly (mlet (= 2 a) ...) binds a to 2 08:32 jules2: but what about it b in bound in the environment, and a is unbound then do (mlet (= a b) ...) should expand to something like (let ((a b)) ...), but (mlet (= b a) ...) should expand to (let ((a b)) ...) too 08:33 DT``: jules2, expand the mlet inside your macro (using local-expand), then check for `let's. 08:34 jules2: DT``, I mean my question is how to write mlet 08:34 jules2: a simpler question would be: can you write a macro (bound? v) that expands to #t if v is bound and #f if v is not bound 08:35 DT``: oh. 08:35 DT``: yes, there's identifier-binding. 08:35 DT``: http://docs.racket-lang.org/reference/stxcmp.html?q=identifier-binding#(def._((quote._~23~25kernel)._identifier-binding)) 08:38 (quit) lucian: Remote host closed the connection 08:38 jules2: hmm, that seems exactly what i'm looking for except: 08:38 jules2: The result is #f if id-stx has a top-level binding (or, equivalently, if it is unbound). 08:38 jules2: so it is not possible to distinguish between top level bindings and unbound 08:38 DT``: top-level != module-level. 08:39 DT``: the top-level is the repl (this definition may be wrong) 08:40 jules2: oh, ok :) 08:40 jules2: thanks :) 08:40 DT``: np. 08:50 (quit) jules2: Ping timeout: 264 seconds 09:12 (quit) dnolen: Quit: dnolen 09:39 (join) PLT_Notify 09:39 PLT_Notify: racket: master Matthew Flatt * b44f217 (1 files in 1 dirs): fix 'exact-chars Latex rendering for `multiarg-element' - http://bit.ly/iw32Vd 09:39 (part) PLT_Notify 09:40 (join) mithos28 09:48 (quit) misterncw: Remote host closed the connection 10:13 samth_away: DT``, you're right about the top leve 10:13 samth_away: l 10:13 (nick) samth_away -> samth 10:14 (join) Sgeo_ 10:15 (join) ZachBeta 10:16 (quit) Sgeo: Ping timeout: 246 seconds 10:22 (quit) ZachBeta: Quit: Leaving 10:23 (join) ZachBeta 10:24 (join) anRch 10:33 (join) dnolen 10:49 (join) Demosthenes 11:13 (join) ckrailo 11:28 (join) elliott 11:44 (join) carleastlund 11:45 (quit) asumu: Ping timeout: 260 seconds 11:46 (quit) gmarceau: Ping timeout: 246 seconds 12:02 (join) leo2007 12:03 (quit) anRch: Quit: anRch 12:05 (quit) dnolen: Ping timeout: 252 seconds 12:05 (nick) martinhex -> mhex 12:05 (quit) Demosthenes: Quit: Lost terminal 12:06 (nick) mhex -> martinhex 12:12 (quit) shofetim: Quit: ERC Version 5.3 (IRC client for Emacs) 12:14 samth: mattmight, the PLDI schedule page is the ugliest single page on the web 12:15 mattmight: :) 12:16 samth: i blame you for choosing to do everything in MS Word :) 12:16 mattmight: Hah. 12:16 mattmight: They sent me word docs. 12:16 mattmight: I wish they'd just sent me latex or even XML. 12:17 mattmight: They also update that schedule about once a week. 12:17 (join) dnolen 12:19 samth: oh, so maybe my talk has moved 12:20 samth: nope 12:25 samth: eli, ping 12:28 (join) Demosthenes 12:35 (join) MayDaniel 12:38 eli: samth: ? 12:39 samth: eli, is it reasonable to use `meta/web' for other web pages 12:39 samth: in particular, to generate a single piece of html 12:39 (join) anRch 12:40 eli: samth: I don't understand the question. 12:40 (part) carleastlund 12:41 samth: eli, i want to use meta/web to write my personal web page 12:41 samth: what should i do to build the page 12:41 (join) carleastlund 12:42 samth: imagine i have a file `index.rkt' with the whole page 12:42 samth: how do i generate html? 12:42 eli: samth: Ah. 12:42 eli: There's two pieces -- scribble/html is the generic code for generating html. (And yes, I know it should be documented, I still didn't announc it because I didn't get to do it.) 12:43 eli: The other piece is meta/web which is supposed to be useful for racket pages. 12:43 samth: ok, so i should just use scribble/html 12:43 eli: So if you want your own page to look like a racket page, then use racket/web. 12:43 eli: Probably. 12:44 samth: so, once i have a page written in scribble/html, what do i do to generate html? 12:44 eli: Perhaps some parts of meta/web should be genralized, but there's too many options to make something more universal. 12:45 (quit) masm: Ping timeout: 246 seconds 12:46 samth: eli, so, how do i run a page in scribble/html? 12:47 eli: samth: It's similar to `scribble/text' -- if you use it as a `#lang', then it's text with html tags as functions, and generates the output when you run it. 12:48 (quit) MayDaniel: Read error: Connection reset by peer 12:48 eli: But using (require scribble/html) is generally more useful in this case if you want a single file that produces multiple pages. 12:49 eli: And then you'd use the resource thing to create each page. 12:50 (join) realitygrill 12:58 samth: what resource thing? 13:00 samth: eli, writing things in scribble/html is totally useless 13:09 eli: samth: re resources, see the top of "scribble/html/resource.rkt". 13:09 eli: re "writing things", I don't understand the commnt. 13:18 (join) tauntaun 13:21 (join) sstrickl 13:21 (join) Lajla 13:33 (part) Lajla: "I am gay for you" 13:43 (quit) realitygrill: Read error: Connection reset by peer 13:46 (join) realitygrill 13:47 (quit) anRch: Quit: anRch 13:48 (join) sstrickl_ 13:49 (join) PLT_Notify 13:49 PLT_Notify: racket: master Kevin Tew * 518f201 (2 files in 2 dirs): 11930 bug fix: added missing scheme_seal_parameters call - http://bit.ly/izR2SM 13:49 (part) PLT_Notify 13:51 (quit) sstrickl: Ping timeout: 246 seconds 13:51 (nick) sstrickl_ -> sstrickl 13:52 (join) realitygrill_ 13:53 (quit) realitygrill: Ping timeout: 246 seconds 13:53 (nick) realitygrill_ -> realitygrill 13:58 (join) asumu 14:02 (join) loopole 14:02 loopole: hi racket ppl 14:03 loopole: I'm trying to build a C extension with link to static lib, should this be possible? 14:04 loopole: when I load-extension, I get a "Symbol not found" 14:12 (join) realitygrill_ 14:14 (quit) realitygrill: Ping timeout: 240 seconds 14:14 (nick) realitygrill_ -> realitygrill 14:15 (quit) realitygrill: Read error: Connection reset by peer 14:17 (join) realitygrill 14:21 (join) masm 14:30 (quit) leo2007: Read error: Operation timed out 14:39 (join) bmp 14:40 bmp: Is there a more generic equivalent to with-input-from-file that you can use on any port to ensure it gets closed? I'm coming from Python, and thinking of a kind of equivalent to with blocks. 14:42 bmp: E.g., if I just wanted to quickly slurp in a URL, I could do (port->string (get-pure-port (string->url "http://google.com"))), but this leaks a port until the custodian gets shut down, as near as I can tell. 14:43 bmp: I feel that I must be missing a more common idiom. 14:47 eli: bmp: No, these ports should be GCed. 14:49 bmp: eli: So, in Racket, the GC actually *does* handle closing file handles and the like? 14:50 samth: eli, i don't see how to write a file that when run, produces an html page, but has arbitrary racket requires and such 14:50 eli: bmp: Not files. 14:50 bmp: So, sockets, but not files. 14:50 bmp: So it's port-specific. 14:51 eli: I think that files are special, and I think that tcp ports are fine -- but you can just try it. 14:52 eli: samth: Huh? If you're talking about `#lang scribble/html', then you just @(require something) as usual. 14:53 samth: eli, if i do that, it puts the require in the output 14:54 samth: actually, no, it doesn't seem to do anything at all 14:54 (join) dyoo 14:54 dyoo: anyone familiar with syntax/modcode 14:54 eli: samth: This doesn't make any sense. Put your file somewhere and I'll look. 14:55 dyoo: trying to figure out how to use it. I try: (get-module-code 'racket/base), and it errors 14:59 samth: eli, can you just write a trivial file that uses scribble/html and tell me how to run it? 15:00 (quit) loopole: Remote host closed the connection 15:07 samth: ok, eli, i think i've got it 15:07 samth: i don't know what i was doing wrong before 15:13 eli: samth: But still, I think that for a set of web pages it wouldn't be what you want. 15:14 eli: The `#lang' version is mostly useful for things like generating text for a blog post, or for a single page thing. 15:20 (join) superjudge 15:27 samth: eli, my web page is a single page 15:27 samth: also, is there a way to put in literal output? 15:29 eli: samth: if it is, then you'll be an exception where the #lang setup works fine... 15:29 eli: (The resource stuff can still be useful for you though -- it's useful in cases where you want to create any file, like a css file, or some file for downloading, or even some file to create a symlink to.) 15:30 eli: As for literal output, IIRC, you should use `literal'. 15:31 eli: That should be used only in cases where you have some content that you know is valid html, or in places where you want to have some literal text in, like inside a script block. 15:31 (quit) tauntaun: Ping timeout: 246 seconds 15:39 (join) loopole 15:49 (quit) ZachBeta: Quit: Leaving 15:56 (quit) loopole: Remote host closed the connection 15:57 Demosthenes: is anyone making business gui apps in racket ? 16:02 (join) lucian 16:04 (quit) superjudge: Quit: superjudge 16:14 (quit) petey-away: Read error: Connection reset by peer 16:14 (quit) tewk: Read error: Connection reset by peer 16:14 (join) petey-away 16:15 (join) tewk 16:20 (quit) petey-away: Read error: Connection reset by peer 16:20 (quit) tewk: Read error: Connection reset by peer 16:21 (join) petey-away 16:21 (join) tewk 16:31 (join) tauntaun 16:44 offby1 watches the tumbleweeds skitter down Main St 16:45 offby1: Demosthenes: the one group I know of who are using Racket commercially are "untyped" (http://www.untyped.com/) but I think they're mostly web-based stuff 16:48 samth: Demosthenes, Doug Williams at SET Corp is developing GUI apps in Racket 17:01 (join) no-name- 17:02 (join) realitygrill_ 17:04 (quit) realitygrill: Ping timeout: 276 seconds 17:04 (nick) realitygrill_ -> realitygrill 17:06 (quit) elliott: Read error: Connection reset by peer 17:22 Demosthenes: neat 17:22 (join) ice_man 17:33 (part) ice_man: "ERC Version 5.3 (IRC client for Emacs)" 17:39 (quit) bmp: Quit: bmp 17:53 Demosthenes: i'd heard clojure had been catching on because the apps could be easily deployed ... 17:55 (quit) samth: Quit: Ex-Chat 17:55 (join) samth 17:58 (join) wwwd 18:13 (join) tonyg 18:16 (join) PLT_Notify 18:16 PLT_Notify: racket: master Matthew Flatt * 7060fa5 (3 files in 2 dirs): fix problems with `letrec' splitting and constant procedures - http://bit.ly/kdslJA 18:16 (part) PLT_Notify 18:34 (quit) mithos28: Quit: mithos28 18:37 (join) realitygrill_ 18:38 (quit) realitygrill: Ping timeout: 264 seconds 18:38 (nick) realitygrill_ -> realitygrill 18:43 (quit) dnolen: Ping timeout: 252 seconds 18:52 (join) PLT_Notify 18:52 PLT_Notify: racket: master Robby Findler * 6bc4330 (2 files in 2 dirs): fix two format string mixup bugs (one in planet and one in the racket/cmdline library) - http://bit.ly/iseZl3 18:52 (part) PLT_Notify 18:56 (quit) asumu: Ping timeout: 240 seconds 18:57 (join) realitygrill_ 18:58 (quit) realitygrill: Ping timeout: 276 seconds 18:58 (nick) realitygrill_ -> realitygrill 18:59 (join) PLT_Notify 18:59 PLT_Notify: racket: master Matthew Flatt * 4b9d88c (2 files in 2 dirs): fix `sequence->stream' ... - http://bit.ly/kH03Cr 18:59 (part) PLT_Notify 19:07 (quit) Nightwolf: Ping timeout: 240 seconds 19:07 (join) Nightwolf 19:17 (quit) carleastlund: Quit: carleastlund 19:20 (nick) samth -> samth_away 19:27 (join) mithos28 19:57 (join) dnolen 20:13 (quit) ckrailo: Quit: Computer has gone to sleep. 20:50 (quit) lucian: Remote host closed the connection 21:13 (quit) tauntaun: Quit: Ex-Chat 21:55 (join) Checkie 22:32 Demosthenes: hrm, the irony. common lisp has "heritage" and "staying power" but packaging apps in it is nigh impossible. raco exec, bing! ;] 22:36 (quit) masm: Quit: Leaving. 22:44 (join) ckrailo 23:13 (quit) ckrailo: Quit: Computer has gone to sleep. 23:24 (join) ckrailo 23:53 (join) asumu