00:01 (join) eli 00:01 (quit) eli: Changing host 00:01 (join) eli 00:03 (quit) pqmodn: Changing host 00:03 (join) pqmodn 00:12 (join) bro_grammer 00:15 (quit) hash_table: Ping timeout: 256 seconds 00:18 (join) hash_table 00:20 (quit) sklentikle: Ping timeout: 240 seconds 00:20 (join) sizz 00:20 (quit) popaya: Ping timeout: 256 seconds 00:20 (quit) form3: Ping timeout: 256 seconds 00:20 (quit) zwak: Ping timeout: 256 seconds 00:20 (quit) zurtik: Ping timeout: 256 seconds 00:20 (quit) triffidd: Ping timeout: 256 seconds 00:21 (join) triffidd 00:21 (join) zurtik 00:21 (join) popaya 00:21 (join) form3 00:21 (join) zwak 00:21 (join) sklentikle 00:21 (quit) bro_grammer: Ping timeout: 265 seconds 00:21 (quit) sizz_: Ping timeout: 264 seconds 01:08 (join) neilv 01:08 (quit) neilv: Changing host 01:08 (join) neilv 01:15 (quit) neilv: Quit: Leaving 01:27 (quit) jrslepak: Quit: What happened to Systems A through E? 01:48 (quit) pcavs: Quit: Leaving. 01:58 (quit) hash_table: Ping timeout: 246 seconds 02:06 (join) vu3rdd 02:06 (quit) vu3rdd: Changing host 02:06 (join) vu3rdd 02:16 (join) RacketCommitBot 02:16 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/ZuCbkg 02:16 RacketCommitBot: [racket/master] Reference: fix interface example typo - Asumu Takikawa 02:16 (part) RacketCommitBot 02:27 (join) mceier 02:44 (join) djcoin 02:50 (join) hkBst 02:50 (quit) hkBst: Changing host 02:50 (join) hkBst 03:10 (join) bitonic 03:35 (join) snorble_ 03:44 (quit) mithos28: Quit: mithos28 03:51 (join) RacketCommitBot 03:51 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/BtVy0w 03:51 RacketCommitBot: [racket/master] Synch German string constants with latest. - Mike Sperber 03:51 (part) RacketCommitBot 03:54 (join) bjz_ 03:56 (quit) bjz: Ping timeout: 265 seconds 04:09 (join) vkz 04:14 (join) cdidd 04:17 (quit) bjz_: Quit: Leaving... 04:18 (quit) BeLucid: Remote host closed the connection 04:22 (join) BeLucid 04:25 (quit) vkz: Quit: vkz 04:38 (join) hkBst_ 04:38 (quit) hkBst_: Changing host 04:38 (join) hkBst_ 04:38 (quit) hkBst: Ping timeout: 246 seconds 05:01 (quit) mattmight: *.net *.split 05:01 (quit) SeanTAllen: *.net *.split 05:01 (quit) typeless: *.net *.split 05:01 (quit) stamourv: *.net *.split 05:01 (quit) Draggor: *.net *.split 05:01 (quit) hyko: *.net *.split 05:01 (join) hyko 05:01 (join) mattmight 05:01 (join) typeless 05:02 (join) Draggor 05:05 (join) SeanTAllen 05:12 (join) stamourv 05:12 (quit) stamourv: Changing host 05:12 (join) stamourv 05:21 (join) vkz 05:41 (join) ambrosebs 05:44 (join) masm 05:58 (join) nilyaK 06:12 (quit) SeanTAllen: Changing host 06:12 (join) SeanTAllen 06:15 (quit) masm: Ping timeout: 252 seconds 06:20 (join) masm 06:25 (join) jesyspa 06:32 (join) bjz 06:39 (quit) Demosthenes: Ping timeout: 240 seconds 06:42 (join) Demosthenes 06:46 (quit) Demosthenes: Ping timeout: 245 seconds 06:54 (join) Demosthenes 06:59 (quit) Demosthenes: Ping timeout: 246 seconds 07:00 (join) Demosthenes 07:24 (quit) nilyaK: Quit: Leaving. 07:26 (quit) bitonic: Remote host closed the connection 07:27 (join) bitonic 07:47 (join) DraX 07:47 (quit) DraX: Changing host 07:47 (join) DraX 08:09 (join) wtetzner 08:24 (join) DT` 08:24 (quit) ambrosebs: Ping timeout: 244 seconds 08:25 (join) jrslepak 08:25 (quit) DT``: Ping timeout: 246 seconds 08:51 (quit) vu3rdd: Ping timeout: 246 seconds 08:51 (quit) bitonic: Ping timeout: 244 seconds 08:58 (join) hash_table 08:59 (join) ambrosebs 09:00 (join) bitonic 09:20 (join) crundar 09:22 (quit) masm: Read error: Connection reset by peer 09:24 (join) masm 09:35 (quit) hash_table: Ping timeout: 244 seconds 09:56 (join) stamourv` 09:57 (quit) stamourv`: Client Quit 09:59 (quit) stamourv: Quit: ERC Version 5.3 (IRC client for Emacs) 09:59 (join) stamourv 09:59 (quit) stamourv: Changing host 09:59 (join) stamourv 10:03 (join) pcavs 10:18 (quit) mceier: Quit: leaving 10:24 (join) roderic 10:24 (join) mye 10:42 (join) hash_table 10:55 (quit) crundar: Ping timeout: 244 seconds 10:56 (quit) masm: Ping timeout: 248 seconds 10:57 (quit) jrslepak: Quit: What happened to Systems A through E? 11:00 (join) crundar 11:03 (join) dzhus 11:04 (join) jeapostrophe 11:04 (quit) jeapostrophe: Changing host 11:04 (join) jeapostrophe 11:11 (join) anRch 11:15 (quit) ambrosebs: Ping timeout: 264 seconds 11:18 (quit) noam_: Quit: Leaving 11:30 (join) jrslepak 11:45 (quit) hkBst_: Quit: Konversation terminated! 11:51 (quit) anRch: Quit: anRch 11:59 (quit) pmatey: Ping timeout: 256 seconds 11:59 (join) pmatey 12:04 (quit) bjz: Quit: Leaving... 12:05 (quit) bitonic: Ping timeout: 265 seconds 12:08 (quit) djcoin: Quit: WeeChat 0.3.7 12:14 (join) bjz 12:14 (join) dyoo 12:14 (join) mithos28 12:16 (join) MayDaniel 12:22 (join) RacketCommitBot 12:22 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/Poy8ow 12:22 RacketCommitBot: [racket/master] Squelching port-closed error messages - Jay McCarthy 12:22 (part) RacketCommitBot 12:35 (join) anRch 12:41 (quit) mithos28: Quit: mithos28 12:42 (join) masm 12:42 (quit) dyoo: Quit: dyoo 12:49 (quit) anRch: Quit: anRch 12:50 (quit) masm: Ping timeout: 246 seconds 12:53 (quit) crundar: Ping timeout: 248 seconds 13:02 (join) crundar 13:12 (part) ChibaPet 13:17 asumu: https://twitter.com/littlecalculist/status/250632597678456833 13:17 asumu: https://twitter.com/littlecalculist/status/250632004851335168 13:26 (quit) acarrico: Ping timeout: 264 seconds 13:28 (quit) jeapostrophe: Ping timeout: 264 seconds 13:36 (join) mceier 13:41 (quit) vkz: Ping timeout: 246 seconds 13:42 (join) acarrico 13:44 (join) vkz 14:02 (join) getpwnam 14:06 (join) nilyaK 14:07 (quit) nilyaK: Read error: Connection reset by peer 14:08 (join) anRch 14:22 (quit) crundar: Ping timeout: 245 seconds 14:28 (join) crundar 14:46 (quit) cdidd: Remote host closed the connection 15:01 (join) crundar__ 15:03 (quit) crundar: Ping timeout: 248 seconds 15:14 (join) cdidd 15:24 (nick) rookiebrawnpower -> THREEfG 15:25 (quit) anRch: Quit: anRch 15:28 (nick) DCherkasov8657 -> dca 15:31 spanner: It'd be nice if DrRacket could auto-convert parens to square brackets where appropriate (either file-wide or by right-clicking on a paren) 15:31 spanner: For example, when I grab some code 15:35 spanner: (for let, cond etc.) 15:38 cky: spanner: Then you'd have to define style rules about when to use which, and _every_ developer has different ideas about that. 15:39 cky: There isn't a standard convention for that kind of thing. At least, not in the general Scheme world, where many people still live by "round brackets only". 15:40 spanner: I was just thinking for the standard idiomatic Racket (let, cond etc.). So there'd be standard parens-everywhere, and the alternate paren-bracket rather than paren-paren when they occur in pairs. 15:40 asumu: Generally, I use [] when I see binding pairs or conditional/pattern pairs, but that's not a rule everyone uses. 15:40 stamourv: cky: There's an almost universal style in Racket. 15:41 stamourv: Which is pretty much what asumu described. 15:41 cky: Yes, what asumu described makes sense. 15:42 spanner: I agree, and it's a pain to convert manually (e.g. if you're working with someone else 15:42 spanner: 's code 15:42 cky: What I sometimes hear is that some people use square brackets when it's not an expression, such as in lambda lists, so that you get Clojure-style (lambda [foo bar baz] ...). 15:42 cky: And different people seem to have different opinions on that. 15:43 cky: spanner: You can just implement your own writer to catch the let, cond, etc. forms. :-) 15:43 carleastlund: And in my code, I use: (lambda {foo bar baz} (cond [art bart] [cart dart] [eart ...])) 15:44 cky: Wow. 15:44 (join) masm 15:44 carleastlund: I know. One kind of delimiter was unsurprising, two was revolutionary, but THREE?!?! I'm just CA-RAZY! 15:46 cky: ;-) 15:46 spanner shuns carleastlund 15:46 carleastlund runs off to play with a frumious bandersnatch 15:48 acarrico: I don't use the square brackets. I think it would have been better to reserve them for literals, like vectors and maps or something. The current usage seems wasteful. 15:48 acarrico: (curly for maps). 15:48 carleastlund: Why is your use any better than ours? 15:49 cky: acarrico: Certainly that's what Clojure does. 15:49 cky: acarrico: Exception, in Clojure, lambda lists have to be a vector. 15:49 acarrico: Because we already have parens! 15:49 cky: *Except 15:49 carleastlund: We already have parens for vectors and maps, too. 15:49 cky: acarrico: So you have to use (fn [foo bar baz] ...), and (fn (foo bar baz) ...) would get rejected. 15:49 acarrico: I just love shift 3. 15:49 acarrico: :) 15:49 spanner: wow, I guess I've inadvertently opened a huge can of worms ;) 15:50 cky: acarrico: Lol. 15:50 acarrico: Syntax, just the kind of thing to start a holy war. 15:50 asumu: Special meanings for [ and ] makes the lives of macro writers more difficult, potentially. 15:50 asumu: The consistency of (, [, { is a plus for that. 15:50 carleastlund: I am Carl, the Curly-brace Crusader! 15:50 acarrico: Actually, I imagine "they" thought that the brackets were useful for teaching. 15:51 cky: asumu: Well, not that I'm batting for Clojure, but in Clojure, [] is just for vector literals, and all macro systems (whether Scheme or Clojure) have to deal explicitly with macros anyway. 15:51 cky: *have to deal explicitly with vectors anyway 15:51 asumu: So the fact that a `let` uses a vector literal is very odd. 15:51 carleastlund: I like (,{,[ for indicating the syntactic meaning of things that are otherwise indistinguishable lists. If we used them for actually semantically different things, I'd have to use, what, comments on every cond? 15:52 cky: asumu: Vector literals for those kinds of things in Clojure are standard practice, and (AFAIK) enforced. 15:52 asumu: Yes (pretty sure you're correct on the latter), but that's not really what I was getting at. 15:52 asumu: I just think it's odd that vector literal syntax can be used for things that are not really vectors. 15:53 asumu: Like binding pairs. 15:53 carleastlund: Confusing literals with the data they represent is a real pain. The fact that hash literals in Racket have to be hashes themselves leads to some very weird stuff. Hash _literals_ should be sequences of syntax object pairs _representing_ keys and values. Unfortunately, since syntax objects do not have meaningful hash keys, we can't do that. 15:53 asumu: ^ what he said (which is what I meant but more eloquently expressed, I think) 15:54 acarrico: It would make sense to make it easy to rebind the meaning of the two brackets, like [...] read macro for (square-bracket ...), then you could use them as you like locally. 15:54 acarrico: Maybe there is something like that in Racket for all I know :). 15:55 carleastlund: Yes, because what I want is for basic delimiters to change meaning locally inside a program. :( 15:55 pauls_: Well, #slideshow is able to detect things like that, I think. 15:55 acarrico: Why not? Just use lexical scope. 15:55 acarrico: X means different things in different places. 15:55 pauls_: (for `(code ...)`) 15:55 acarrico: So maybe {} is a assoc. list here, and a hash table there. 15:56 acarrico: As is convenient. 15:56 acarrico: By rebinding curly-bracket. 15:56 carleastlund: At the token level, X always means a symbol. It _is bound_ to different things at different points. But if I can't even parse it as X everywhere, I'm sunk. 15:57 acarrico: Well, parens are special, because of the macros, but already they expand to %#app or whatever. 15:57 (quit) getpwnam: Ping timeout: 245 seconds 15:57 (quit) hash_table: Ping timeout: 245 seconds 15:57 carleastlund: You're confusing the reader and the macro expander. 15:58 acarrico: So you can rebind the ones that make it through expansion as applications. 15:58 carleastlund: Parens always read to null, lists, or improper lists (depending on contents). The macro expander then processes lists, and some of that processing uses the binding for #%app. 15:58 acarrico: Right, parens are special. 15:58 asumu: ' is bad enough, having {} expand to an application would be very weird. Because the binding structure is not apparent to the user. 15:59 acarrico: I'm just saying that [] and {} could be like ' and `. 15:59 acarrico: and ,, 15:59 carleastlund: I don't think macro expansion is relevant to this discussion at all. I thought we were talking about the reader. The paren _characters_ mean nothing to the macro expander, and do not have "bindings". 15:59 carleastlund: ` and , and ' don't have bindings either, and can't be re-bound. 15:59 asumu: I meant "read as" rather than "expand to". 16:00 acarrico: Yes. I'm not suggesting doing anything special with parens, but treating brackets like quote and quasiquote, and comma. 16:00 cky: carleastlund: In the way that `, ,, and ' all get read as (respectively) quasiquote, unquote, and quote (and those particular identifiers can indeed be rebound), I think acarrico's point is that [] should be read in as something that's different to (), and that can be rebound. 16:01 acarrico: And I'm not even suggesting it seriously. I'm just saying I don't use them as parens, because it seems like a waste. 16:01 carleastlund: Parens, brackets, and braces _are_ treated like quote, quasiquote, and comma. They have special meaning to the reader, and produce a specific kind of value. 16:01 cky: For example, you can make it so that [a b c] gets read as (|[]| a b c), for example. 16:01 acarrico: cky: cool. 16:01 cky: And ditto with {a b c} => (|{}| a b c). 16:01 cky: acarrico: I'm not saying that Racket supports this. 16:01 cky: acarrico: I'm saying that you can write a reader to do it. 16:02 carleastlund: One can make custom readers. But then, you can make a custom reader that just parses things as Javascript. So the question is when you've left the territory of "Racket (or Scheme)-like syntax". 16:02 acarrico: cky: Ah. And I'd say that would be a better use of {} and [] than aliasing (). 16:02 cky: Sure, I can concur with that. 16:03 cky: And then by default, Racket can just make (|[]| items ...) => (items ...) 16:03 cky: And others can override that as they please. 16:03 carleastlund: Not really, because that won't work in non-expansion positions. 16:03 cky: Hmmm, fair point. 16:04 carleastlund: The cond macro would have to be specially written to interpret [question answer] the same as (question answer) and {question answer}. 16:04 cky: Yes. 16:04 carleastlund: Now, you could write a #%app macro that checks the () vs [] vs {} property of syntax objects, which _is_ recorded, and does different stuff with them then. 16:05 cky: That's pretty cool. 16:05 carleastlund: In a non-s-expression language, where lists weren't doing extra duty as every single kind of syntactic form, I would certainly use [] and {} for other stuff. 16:06 carleastlund: The fact of the matter is that lists are already "aliased" as ninety thousand different syntactic forms. So if they have three different lexical aliases, that's almost too few, not too many. 16:06 cky: It could probably even implement Clojure-style [] and {} expressions. By which, I mean, [a b c] is basically the same as `#(,a ,b ,c). 16:07 cky: (IIRC, that is. I'm not a Clojurian.) 16:07 cky: IANAC. :-P 16:07 carleastlund: But, you'd have trouble when a were a macro name, or when [] showed up inside quote. 16:07 cky: Yeah, you'd have to handle '[] and `[] differently, that's for sure. >_< 16:08 carleastlund: I think fundamentally to make this kind of thing work you'd need to go to a macros-with-lexical-syntax system, where actual parsing were going on. And that's open research. 16:09 pauls_: Rust has something sort of like this. 16:09 cky: That sound like a cool thing to research. Too bad it's not something you can present in a lightning talk at RacketCon. ;-) 16:09 cky still has to decide what to do a lightning talk about. 16:10 bremner`: about lightning, clearly.\ 16:10 cky: Basically, I don't currently have any interesting Racket projects to talk about. So I'd actually be implementing something, and writing a lightning talk about it, between now and RacketCon. :-P 16:11 cky: bremner`: :-D 16:11 (quit) cdidd: Remote host closed the connection 16:27 asumu: cky: FYI, I did implement Clojure style [], () using exactly the trick carleastlund describes. 16:27 asumu: I even allow , in hash literals using a nasty trick. 16:28 (join) jromine` 16:29 cky: asumu: Wow. 16:29 cky is impressed. 16:29 cky: But then again, you're the same person who implemented sweet-expressions in Racket. :-) 16:29 (quit) jromine`: Quit: ERC Version 5.3 (IRC client for Emacs) 16:29 asumu: examples: https://github.com/takikawa/racket-clojure/blob/master/tests/test.rkt 16:29 asumu: (various edge cases may fail, I didn't really put much time into this) 16:30 asumu: Also, the sweet expression thing should mostly be credited to the original authors, whose code I just ported. :) 16:32 cky: :-) 16:32 cky: Very nice (re test.rkt). 16:32 (join) RacketCommitBot 16:32 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/QkHetw 16:32 RacketCommitBot: [racket/master] fix redex pdf generation when a string is passed - Robby Findler 16:32 (part) RacketCommitBot 16:34 Cryovat: I'm not a huge fan of the Clojure literals 16:34 Cryovat: Being able to use ( and [ interchangingly helps readability a lot imo 16:36 chandler: Do you actually use them interchangeably? Or just for binding groups? 16:36 Cryovat: Mostly in let's 16:37 Cryovat: And objects 16:37 chandler: If we're going to get creative with the brackets, (let [a 1] [b 2] ... (body-expression-1) (body-expression-2) ...) would be a huge improvement. 16:38 Cryovat: Hmm 16:38 Cryovat: You lose some structure by doing that 16:38 carleastlund: I'm not sure I agree. I see where you're coming from, but there are a number of reasons I like the way let currently works. 16:38 Cryovat: Suddenly there's no distinct separation between declarations and body anymore 16:39 asumu: That breaks if you still use [] for application, I think. 16:39 chandler: Right; you'd have to reserve [] for syntax. 16:39 (quit) acarrico: Ping timeout: 256 seconds 16:39 carleastlund: Especially because I use (let {[a 1] [b 2]} body ...), and the distinction I use with ({[]}) is that I have Emacs indent them all differently. So there's a reason for which I use where. 16:39 asumu: I just avoid using let. 16:39 Cryovat: You prefer define? 16:40 carleastlund: define > let 16:40 asumu: Yes, usually. 16:40 asumu: I also tried out a #:with binding form (like Haskell's where) for define/match, but stamourv convined me it was a bad idea. 16:40 Cryovat: I see the argument for using define to avoid more indenting 16:41 Cryovat: But it doesn't feel "functional" 16:41 chandler: carleastlund: I'm no expert on Emacs indenting, but I don't see any reason why (let [a 1] [b 2] body ...) couldn't be indented the same way as the version with grouped binding expressions. 16:41 carleastlund: Because I don't want [ ] indented that way in cond. 16:42 carleastlund: I _only_ indent based on delimiters. That way I don't have to teach every darned new macro to my Emacs. 16:42 chandler: I'm pretty sure that Emacs can vary the indentation based on the expression. 16:42 chandler: Ah. 16:42 carleastlund: My .emacs had started to grow proportionally to the total amount of code I had ever written. And, uh, no thank you. 16:42 chandler: This really seems like a tool deficiency to me. 16:43 carleastlund: What does? 16:43 chandler: The whole indentation situation. 16:43 carleastlund: How would you like it to work? I really like the setup I have. 16:43 carleastlund: And I don't mean what mechanism. I just mean how do you want to conceptually correlate code with indentation. 16:44 carleastlund: (in a way that isn't entirely case-by-case for each new form) 16:46 chandler: For CL, Emacs + SLIME will use the argument list of the macro to inform the editor how the body should be indented. Obviously this falls down for more sophisticated macros; I suppose something like `syntax-parse' might be able to support some annotations that would allow smarter automatic formatting. 16:46 asumu: Cryovat: It's no less functional than let. Both allow mutation of variables, in particular. 16:46 chandler: I'm looking to see if geiser does this kind of smart indenting; I'm not finding a reference to it in the documentaiton. 16:47 Cryovat: asumu: That's true, but at least let desugars into a lambda 16:47 carleastlund: But then Emacs can only indent macros defined in the same file, right? 16:48 Cryovat: Hang on 16:48 Cryovat: Looks like define does that too 16:48 Cryovat: Seems like I stand corrected 16:48 chandler: carleastlund: I don't see why it would have that restriction. Certainly online expansion in DrRacket doesn't, and this seems very similar to me. 16:48 asumu: Actually, define turns into define-values which is a core form, I think. 16:49 carleastlund: But then Emacs has to know how to compile programs in your language. It basically needs the entire Racket VM inside it. 16:49 chandler: I don't follow that either; Emacs can certainly talk to an external Racket instance. 16:49 Cryovat: The Macro stepper in DrRacket turned the define into let-values 16:50 (quit) crundar__: Ping timeout: 245 seconds 16:50 carleastlund: I personally don't think Emacs should have to compile the code and ask DrRacket anything to be able to indent stuff. It should be able to indent stuff sensibly even for incomplete, non-compiling code. 16:50 asumu: Cryovat: Ah, you're right. It expands differently depending on its context. 16:51 (join) getpwnam 16:51 asumu: And it will expand into a letrec if you use it recursively. 16:52 (join) hash_table 16:52 carleastlund: define always expands into define-values itself, but internal defines local-expand their contents and restructure definitions as let[rec]-values. 16:52 Cryovat: That's interesting 16:52 Cryovat: And a little bit on the magical side 16:54 carleastlund: Welcome to the Racket macro expander ;) 16:55 (join) acarrico 17:00 asumu: It's weird that % in Racket lets you elide a handler, because this always breaks if you use an fcontrol in it. 17:00 asumu: rudybot: eval (required racket/control) (% (fcontrol 0)) 17:00 rudybot: asumu: your sandbox is ready 17:00 rudybot: asumu: error: reference to an identifier before its definition: required in module: 'program 17:00 asumu: rudybot: eval (require racket/control) (% (fcontrol 0)) 17:00 rudybot: asumu: error: call-with-continuation-prompt: context (application of default prompt handler) expected 1 value, received 2 values: 0 # 17:19 (quit) mceier: Quit: leaving 17:21 (quit) vkz: Quit: vkz 17:35 (quit) jrslepak: Quit: What happened to Systems A through E? 17:46 (join) crundar 17:51 (join) cdidd 17:57 (quit) MayDaniel: Read error: Connection reset by peer 18:04 (join) jrslepak 18:11 (quit) jesyspa: Quit: leaving 18:13 (quit) pcavs: Quit: Leaving. 18:24 (quit) carleastlund: Quit: carleastlund 18:29 (join) dyoo 18:35 (quit) mye: Quit: mye 18:39 (quit) ChanServ: *.net *.split 18:45 danl-ndi_: does anyone have a pointer to an example parser for a C style language (written in Racket)? 18:46 (join) ChanServ 18:47 (join) bitonic 18:48 (quit) bitonic: Remote host closed the connection 18:49 (join) bitonic 18:50 danl-ndi_: (lost by netsplit, I think) does anyone have a pointer to an example parser for a C style language (written in Racket)? 18:52 (join) pcavs 18:56 asumu: danl-ndi_: the first that comes to mind is honu https://github.com/plt/racket/blob/master/collects/honu/core/read.rkt 18:57 asumu: (which you can ask jonrafkind about when he's in here) 18:58 (quit) bjz: Quit: Leaving... 19:08 (quit) SeanTAllen: Remote host closed the connection 19:08 (quit) sid0: Remote host closed the connection 19:10 dyoo: danl-ndi: if you have an yacc-sytle grammar, you can use the parser-tools collection to generate a parser. If you're looking for a python-style parser, check with Joe Politz: he's written a "parseltongue" language for Shriram's language class and coded up his own parser 19:13 chandler: dyoo: speaking of such things, how's autogrammar coming along? 19:13 dyoo: I have to admit that I have not made process on it lately 19:13 dyoo: I finally moved into Salt Lake two weeks ago, and have been touring around 19:13 dyoo: I start my postdoc officially next week though 19:14 (join) sid0 19:14 dyoo: I'll look at autogrammar then. I want to play with jon rafkind's packrat parser package and see if it's more appropriate for auto grammar's backend 19:14 chandler: Cool. 19:17 dyoo: danl-ndi: that reminds me, take a look at jon rafkind's pegs package: he has a java parser in there if I'm not mistaken 19:18 dyoo: danl-ndi: here's the URL: https://github.com/kazzmir/Pegs 19:24 (quit) dzhus: Ping timeout: 245 seconds 19:30 (quit) sid0: Remote host closed the connection 19:32 (join) sid0 19:32 (quit) bitonic: Remote host closed the connection 19:32 (quit) crundar: Ping timeout: 256 seconds 19:37 (join) tuor_ 19:40 (part) dyoo 19:48 (join) bjz 19:49 (join) carleastlund 19:51 (quit) carleastlund: Client Quit 19:56 (join) bitonic 19:58 (join) SeanTAllen 20:04 (quit) bitonic: Remote host closed the connection 20:05 (quit) tuor_: Quit: tuor_ 20:05 (join) bitonic 20:10 (join) tuor_ 20:38 (join) jeapostrophe 20:38 (quit) jeapostrophe: Changing host 20:38 (join) jeapostrophe 20:40 (quit) masm: Quit: Leaving. 20:47 danl-ndi_: asumu: cool that honu parser seems to work a treat 20:47 danl-ndi_: thanks 20:47 (nick) danl-ndi_ -> danl-ndi 20:49 (join) crundar 20:50 (quit) pcavs: Read error: Connection reset by peer 20:50 (join) pcavs 21:03 (quit) bjz: Quit: Leaving... 21:21 (join) bjz 21:33 (quit) bitonic: Remote host closed the connection 21:40 (quit) bjz: Quit: Leaving... 21:43 (quit) jeapostrophe: Ping timeout: 246 seconds 22:08 (join) bjz 22:21 (join) Fare 22:21 Fare: eli: ping? 22:22 Fare: ? in Scribble is output correctly for HTML, but brokenly for PDF, as if doubly converted from l1 to u8. 22:22 Fare: is the racket-dev list appropriate to report such bugs? 22:30 (join) jeapostrophe 22:30 (quit) jeapostrophe: Changing host 22:30 (join) jeapostrophe 22:48 asumu: Fare: you could do that, but a bug report might be preferable. 22:48 asumu: You can send one through DrRacket or at bugs.racket-lang.org 22:49 Fare: thanks 22:58 (quit) jeapostrophe: Ping timeout: 256 seconds 23:06 Fare: (reported through the web site) 23:09 (quit) Shviller: Ping timeout: 264 seconds 23:10 (join) Shviller 23:20 (join) mithos28 23:38 (quit) tuor_: Quit: tuor_