Re: [racket-dev] Revising Racket's home page
Eli wrote: Semi-Quick: take Prabhakar's intro (cs.uwaterloo.ca/~plragde/tyr/) and make it terse enough to fit a single (longish) page. I think that this is a fine choice for an aspiring hacker -- the only part that is missing, the advanced section, is probably the part that should at best be a very quick overview for a bunch of things that you could do, mostly serving as a link hub. If this idea meets with general approval, I'd be happy to collaborate/consult with a co-author on doing this, but I am not a hacker and don't purport to understand what they want, so I'd need a co-author who could curb my professorial tendencies. (And I really should get around to finishing the advanced section.) --PR _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] Is it possible to write `flatten' in TR?
Neil wrote: (define (flatten lst) (cond [(list? lst) (append* ((inst map (Listof A) (Listof* A)) flatten lst))] [else (list lst)])) This version of flatten has quadratic worst-case running time. Is that an issue? A linear-time implementation is possible. Eli has a nice post somewhere about this. That would probably run into the same type issues (no better, no worse). --PR _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] [racket] match and debug in Advanced Student
On 11/8/11 11:21 PM, Jay McCarthy wrote: I'm not sure I'm the best person to debug this (despite otherwise being responsible for match in ASL.) Then are you the person I lobby to get match into ISL+? --PR _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] racket/match is broken
On 10/6/11 2:12 PM, Eli Barzilay wrote: Sam is talking about building the ASTs *while* matching, which is what Jay was trying to do with uses of `app'. I think that a teaching context is in particular one where such a thing doesn't fit -- it obscures the distinction between the side the sexpr goes into, and the side where an AST comes out. Okay, I see the distinction, and I apologize for not having fully understood Jay's example. I agree that this obscurity is hazardous. I think, though, that I have always assumed left-to-right matching, though I may never have constructed anything that would break if it didn't happen. --PR _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] racket/match is broken
Sam wrote: Unlike, say, `syntax-parse', `match' isn't designed for the use-case of building ASTs while matching. Wait, what? That's exactly what I want to use it for when writing toy interpreters for pedagogical purposes. Or am I misunderstanding what you're saying here? I want to do PLAI-style things, but with `match' instead of `type-case'. --PR _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] Scribble output changes
Matthew wrote: Latex output changed in more ways: * Table content is vertically centered by default, making it more consistent with HTML. * In a table cell, a paragraph with a `#f' style name is rendered as a single line (as before), but a width is imposed on paragraphs that have a style name to make them flow as paragraphs. For what it's worth, I found the documentation on tables largely incomprehensible, and could not get them to render through LaTeX without everything all mushed together. I finally wrote my own table function (using \array, which spaces things out well) that had the formatting I wanted. Cell styles? No clue. Apropos of which, I don't know how to produce pure raw LaTeX code from within Scribble. I can usually cheat with things like (make-element (make-style "begin" '(exact-chars)) ...) or (make-style "relax" ...), but for LaTeX package macros that parse one of their arguments more exactly (where wrapping the argument in \relax{...} will not work), I have to resort to building what I want at a high enough level that I can wrap it all in \relax without LaTeX getting upset. I feel like I'm pretty much doing what the LaTeX renderer does, but trying to stay within a higher-level API. If we want Scribble to be a LaTeX replacement but still render through LaTeX, it might need more thinking as to how to provide access in a Rackety fashion. Sorry if I'm being completely ignorant here. I'm a passable Racket programmer but a lousy LaTeX programmer. --PR _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Fwd: a language example: brainfudge
I'm starting to work on a small example of a non-lisp-like language that uses the Racket infrastructure. ?I've chosen the language Brain@#! since it's obviously not parenthetical. Why did you sanitize the name? Is this language different than brainfuck? I found this e-mail exchange hilarious, and read it out loud to my kids. --PR _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] Scribble and DrRacket
I'd love to be able to see the LaTeX and/or HTML source generated in the course of rendering Scribble source using the Render buttons in DrRacket, to help debug errors where the rendering completes but the visual output is not what I expected. Menu items of some sort? (I know I can go to a terminal window and look at it.) When the PDF rendering does not complete, the modality of the error box is a little annoying. I can't do anything like change tabs or even scroll the current tab while the box is open. But the error goes away when I close the box. I suppose I could adopt a two-step workflow where I click Run, check that there are no errors, and then hit the Render button. But that duplicates work, and with longer documents, that's going to be annoying, also. I don't really have a suggestion here. Once again, I'm trying to avoid having to work in a terminal window. By the way, after only a couple of days of not-very-intense work with Scribble, I have duplicated the functionality of my previous setup for course slides (LaTeX/Beamer using Emacs/TeXShop). I now anticipate preparing all my course materials in Scribble, within DrRacket. I might still edit some HTML by hand for the top level of the course website. And I'm having fun, too. Thanks! --PR _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev