Hi Mike,

I think there may be a bug in the desugaring.  My understanding is that the 
only arguments to the quasi tag are the call site id & the SVE, and the SVE 
contains only the substitution values, but in the desugaring example literal 
portions are being passed to the quasiTag too:

        quasiTag(unguessableId1234, "literalPortion\0 ", x, " literalPortion1"])

I think this should be:

        quasiTag(unguessableId1234, x)

cheers,
G.


On Jun 15, 2011, at 5:49 PM, Mike Samuel wrote:

> 2011/6/15 Axel Rauschmayer <a...@rauschma.de>:
>> Quick feedback: I haven’t seen SVE (substitution value expression?) defined 
>> anywhere and can’t find a description of using ${{var}} as syntactic sugar 
>> for "{var:${var}}".
> 
> SVE is defined in
> http://wiki.ecmascript.org/doku.php?id=harmony:quasis#substitution_body_syntax
> reproduced below:
> 
> SVE
> 
> Production     Result
> QuasiLiteral :: QuasiTag`LiteralPortion QuasiLiteralTail       
> SVE(QuasiLiteralTail)
> QuasiLiteralTail :: Substitution LiteralPortion QuasiLiteralTail      
> array-concat(single-element-array(SVE(Substitution)),
> SVE(QuasiLiteralTail))
> QuasiLiteralTail :: `  an empty array
> Substitution :: $Identifier   PrimaryExpression : Identifier
> Substitution :: ${SubstitutionModifier Identifier}    PrimaryExpression
> SubstitutionBody :: Identifier IdentifierPathTail     MemberExpression :
> str-concat(SV(Identifier), SV(IdentifierPathTail))
> IdentifierPathTail :: .IdentifierName IdentifierPathTail      
> str-concat(“.”, SV(IdentifierName), SV(IdentifierPathTail))
> IdentifierPathTail :: ε        the empty string, ““
> 
> The SVE of a substitution is an expression that is evaluated in the
> scope in which the quasiliteral appears. The SVE of the quasi literal
> is the array of the SVE for each substitution.
> 
> E.g. the SVE of quasitag`literalPortion0 $x literalPortion1 $y.z
> literalPortion2` is [x, y.z].
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to