2012/3/14 Stephen Chang <[email protected]>:
>> What you have written suggests that
>> you're writing a metafunction that returns a pict, which would mean
>> that the terms in your language are being represented as Racket-level
>> picts (instead of the usual Racket-level sexpressions).
>
> Yes, that's what I'm trying to do. I want to convert an arbitrary term
> to a pict, to use in slideshow.

I think you probably want to use a racket macro, not a redex metafunction.

>
>> Anyways, if you want to render a term, you have to use lw->pict and
>> to-lw. It is more complex than it needs to be.
>
> I don't think this would work either, since to-lw is still a macro.
>
> Something like:
>
> (define-metafunction L
>  [(x->pict x) ,(lw->pict (language-nts L) (to-lw x))])
>
> still gives a pict of x for (term (x->pict y)).
>
>
> To get what I want, I figured out I can do:
>
> (define-metafunction L
>  [(x->pict x) ,(text (symbol->string (term x)))])

That's not going to work well for very many arguments to x->pict.

Robby

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to