Abstrakt. Vi introducerar MetaML, ett praktiskt taget motiverat, statiskt typat flerstegs programmeringsspråk. MetaML är ett riktigt "språk. Vi h a v e byggde ett genomförande och använde det för att lösa problem i ulti-stadiet. MetaML gör det möjligt för programmeraren att konstruera, kombinera och köra kodfragment på ett typsäkert sätt. Kodfragment kan innehålla fria variabler, men de följer principen om statisk övervakning. MetaML utför typkontroll för alla stadier en gång för alla innan genomförandet av den första etappen. Vissa anomalier med vår rst MetaML genomförande ledde oss att formalisera en illustrativ delmängd av MetaML genomförande. Vi presenterar både en stor steg semantik och typ system för denna delmängd, och bevisa typsystemets sundhet med avseende på en stor steg semantik. Ur en programvaruteknik synvinkel, innebär detta att generatorer skrivna i MetaML delmängd aldrig generera osäkra program. Ett typsystem och semantik för fullt MetaML pågår fortfarande. Vi hävdar att flera steg språk är användbara som programmeringsspråk i sig, att de ger en bra grund för hög nivå programgenerering teknik, och att de bör stödja funktioner som gör det möjligt för programmerare att skriva iscensatta beräkningar utan att avsevärt ändra sin normala programmering stil. För att illustrera detta ger vi ett enkelt trestegsexempel som tar fram ett antal praktiska frågor. Utformningen av MetaML baserades på två huvudprinciper som vi identifierade som grundläggande för högnivåprogramgenerering, nämligen crossstage persistens och cross-stage säkerhet. Redogör för dessa principer, förklara de tekniska problem de ger upphov till och hur vi tar itu med dessa problem i vårt genomförande.
MetaML är ett statiskt inskrivet programmeringsspråk som stöder programmanipulering REF.
MetaML and Multi-Stage Programming with Explicit Annotations
{'venue': 'Theoretical Computer Science', 'journal': None, 'mag_field_of_study': ['Computer Science']}