Ich glaube, ein Weg, eine statisch typisierte, prototypbasierte Sprache zu erreichen, besteht darin, die Sprache auf Vorlagen und Konzepte zu stützen.
Konzepte waren einst ein geplantes Feature für C ++ 0x. Generischer Code in C ++ - Vorlagen ist de facto bereits "statisch ententypisiert". Die Idee von Concepts ist, in der Lage zu sein, einige Dinge über erforderliche Elemente und Merkmale von Typen zu sagen, ohne ein Klassenvererbungsmodell zu erfordern oder zu implizieren, das dieser Beziehung zugrunde liegt (weil es mit vorhandenem Vorlagencode funktionieren musste, der bereits "statisch getippt" war. ).
In einer Sprache, die von Grund auf auf Vorlagen und Konzepten basiert, wären es die Konzepte, die auf Prototypen basieren, und Vorlagen würden Sie davon befreien, sich um Klassenmodelle zu kümmern, die zur Implementierung der Wertetypen verwendet werden können oder nicht.
Abgesehen von Tricks bei der Verwendung von Staged-Compilation, damit die Sprache ihre eigene Metasprache sein kann, wären diese prototypischen Ableitungen von Concepts nach ihrer Erstellung notwendigerweise unveränderlich. Der Einwand, dass dies kein Prototyp ist, ist jedoch ein roter Hering. Es wäre einfach eine funktionale Sprache. Zumindest wurde versucht, eine dynamische Prototyp-Basissprache zu entwickeln, die auch funktionsfähig ist .