[nem-en] one more question about macro system.

Ivan A Eryshov ivan.eryshov at gmail.com
Sat Mar 10 11:09:35 CET 2007


Macroses:

<nemerle>
[assembly: Nemerle.Internal.OperatorAttribute ("Nemerle.Core", ":", true,
210, 211)]

namespace Problem
{
  macro @:(label) { 
    <[ WriteLine($label); ]> 
  }

  macro deflbl (label) syntax ("deflbl", label) {
    <[ def $label = "test"; ]>
  }

  macro deflbl2 (label) syntax ("deflbl2", label) {
    <[ def $label = "test2"; WriteLine($label + " is defined."); ]>
  }
}
</nemerle>

Usage:

<nemerle>
using Problem;

deflbl lbl1;
:lbl1; // ok here

deflbl2 lbl2;
:lbl2; // error: unbound name `lbl2'
</nemerle>

I know why this problem occurs, but how I can avoid it?




More information about the devel-en mailing list