De flesta språk hamnar i ett av två läger: antingen antar de ett unikt, statiskt typsystem, eller så överger de statiska typkontroller för kontroll av körtiden. Pluggerbara typer suddar ut denna division genom att (i) göra statiska typsystem valfria, och (ii) stödja ett val av typsystem för resonemang om olika typer av statiska egenskaper. Dynamiska språk kan sedan dra nytta av statisk kontroll utan att offra dynamiska funktioner eller engagera sig i ett unikt, statiskt typsystem. Men overhead av att anta pluggbara typer kan vara mycket hög, särskilt om alla befintliga kod måste dekoreras med typ anteckningar innan någon typ-kontroll kan utföras. Vi föreslår ett praktiskt och pragmatiskt tillvägagångssätt för att införa pluggbara typsystem för dynamiska språk. Först av allt, bara kommenterad kod är typ-kontrollerad. För det andra görs en begränsad typslutsats på oannoterad kod för att minska antalet rapporterade fel. Slutligen kan externa noteringar användas för att skriva in tredje parts kod. Vi presenterar TypePlug, en Smalltalk implementering av vårt ramverk, och rapporterar om erfarenhet av att tillämpa ramverket på tre olika pluggbara typsystem.
Haldiman m.fl. REF presenterar ett praktiskt tillvägagångssätt för pluggbara typer som genomförs i Smalltalk där endast kod som innehåller partiella typanteckningar typkontrolleras med hjälp av typinferens och traditionell statisk typkontroll.
Practical, pluggable types for a dynamic language
{'venue': 'Comput. Lang. Syst. Struct.', 'journal': 'Comput. Lang. Syst. Struct.', 'mag_field_of_study': ['Computer Science']}