Med Compile-time meta-programmering kan program konstrueras av användaren vid kompileringstid. Även LISP härledda språk har länge haft sådana faciliteter, få moderna språk är kapabla att sammanställa-tid meta-programmering, och av dem som gör många av de mest kraftfulla är statiskt maskinskrivna funktionella språk. I denna uppsats presenterar jag det dynamiskt maskinskrivna objektorienterade språket Converge som tillåter kompilering-tid meta-programmering i andan av Mall Haskell. Converge visar att integrering av kraftfulla, säkra metaprogrammeringsfunktioner i ett dynamiskt språk kräver få begränsningar av den flexibla utvecklingsstil som underlättas av paradigmet. I den här artikeln beskriver jag Converges metaprogrammeringsanläggningar, varav en stor del är anpassade från mall Haskell, innehåller flera funktioner som är nya för paradigmet. Slutligen förklarar jag hur en sådan möjlighet kan integreras i liknande språk.
Converge REF [13] är ett dynamiskt klassbaserat språk som tillåter CTMP i samma anda som mall Haskell.
Compile-time meta-programming in a dynamically typed OO language
{'venue': "DLS '05", 'journal': None, 'mag_field_of_study': ['Computer Science']}