[wg-camlp4] Meta Programming from the view of the implementaion

Török Edwin edwin+ml-ocaml at etorok.net
Thu Jan 31 13:43:37 GMT 2013


On 01/31/2013 03:27 PM, Hongbo Zhang wrote:
> 
> 
>     > In Fan,
>     > {:json| ... |}
>     > if "|}" is used inside,*the user (optionally) can introduce a new separator following "|" immediately*
>     > {:json|/ ... /|}
> 
>     So this would be similar to Leo's proposal but with the optional symbol on the inside, a mandatory whitespace
>     after the symbol, and no whitespace after the : right?
>     {:lid|x␣string x|}
> 
> no whitespace, we need the *precise location*, whitespace will introduce trouble here 
> The optional *character set is limited to [/+-] (serveral more)*, only those optional characters will be recgonized.
> so you can still write {:json|{a;b}|}
> but {:json|/{a;b|}}/|} also works

Without a whitespace how do you know if the '/' is your optional character or part of the quoted syntax?
(unless you restrict the quoted syntax's first character to be something else than the optional characters)

What do you think of this syntax:
{:lid|...|lid:}

Its still quite easy to find where quotation's bounds are, it is symmetric, and the end marker should be long enough
to not cause false matches inside the quotation.

Best regards,
--Edwin


More information about the wg-camlp4 mailing list