Thread Schon jetzt an Perl 6 denken (41 answers)
Opened by Gast at 2008-12-12 20:52

murphy
 2008-12-15 18:27
#117264 #117264
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
moritz+2008-12-15 13:55:55--
[...]
Bei Perl 6 ist es so, dass die Symbole verwendet werden, die im lexikalischen Scope gelten, in dem das Makro definiert wird. Ist es damit hygenisch?


Das ist zumindest notwendig fuer die Hygiene, aber nicht hinreichend. Zusaetzlich muss es moeglich sein, in den lexikalischen Geltungsbereich an der Stelle, wo das Makro benutzt wird, neue Symbole einzufuehren, die fuer jeden Aufruf des Makros eindeutig, von ausserhalb des Makros unsichtbar und syntaktisch nicht von normalen lexikalischen Variablen zu unterscheiden sind.

Das ist zum Beispiel wichtig, wenn man ein Makro schreibt, das eine temporaere Variable anlegen und im Geltungsbereich dieser Variable an das Makro uebergebenen Code einbetten muss. Es sollte dann moeglich sein, die Variablendeklaration einfach hinzuschreiben, aber trotzdem sicher zu sein, dass sie nur innerhalb des vom Makro generierten Codes nicht aber im eigebetteten Code sichtbar ist.
When C++ is your hammer, every problem looks like your thumb.

View full thread Schon jetzt an Perl 6 denken