[racket-dev] P4P: A Syntax Proposal

From: Shriram Krishnamurthi (sk at cs.brown.edu)
Date: Thu Jul 29 14:19:41 EDT 2010

All good questions.

I certainly explicitly work to make all *functions* "pass through".

I can't guarantee that for syntactic forms.  I'm currently
re-exporting the whole Racket language, which might be leading to the
strange interaction you're seeing.

Dotted infix syntax: An infix-by-syntax-hack won't work well with P4P:
the language has too much syntax to "slide in" something like this.

I'd like to make so that syntactic forms can "pass through" with
minimal work, probably using the do:-style to achieve it for a
quick-and-dirty solution.


On Thu, Jul 29, 2010 at 9:57 AM, Guillaume Marceau <gmarceau at gmail.com> wrote:
> How does P4P interact with existing macros? How much work does it take
> to make a macro such as require/contract available to P4P programs?
> Is there an equivalent of the dotted-infix syntax in P4P? What would
> the following line look like in P4P? :
>    (provide/contract [process (path-string? path-string? (listof
> symbol?) . -> . any)])
> Right now, if I run
>   #lang s-exp "p4p.rkt"
>   require(srfi/1)
> I get the error
>   require: not at module level or top level in: require
> Is this a bug?

Posted on the dev mailing list.