[nem-pl] Dalsze rozważania o higienicznych makrach

Marcin 'Qrczak' Kowalczyk qrczak at knm.org.pl
Mon Feb 23 23:17:47 CET 2004


W liście z pon, 23-02-2004, godz. 23:01, Kamil Skalski pisze:

> ... chyba zły przykład wybrałeś, nie chce mi się tego kompilować, ale na 99% 
> będzie działać

A, racja, zły przykład. Dobry przykład z forem jest taki:

   macro do_times (n, body)
   syntax ("do_times", n, body) {
      <[ for (i <- 0; i < $n; i <- i + 1) $body ]>
   }

Kompilator powie, że "i" jest nieznane, bo nie widzi, że jedno "i"
zwiąże pozostałe.

Można to obejść NewSymbolem. Czyli higiena obowiązuje wybiórczo -
tylko dla wbudowanych w kompilator konstrukcji wiążących.

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak at knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/





More information about the devel-pl mailing list