Есть ли способ достичь языка. NET, который поддерживает типизацию утки без поддержки Dynami c? - PullRequest
0 голосов
/ 01 февраля 2020

Я хочу создать язык программирования, предназначенный для. NET и скомпилированный в IL, но среда выполнения. NET не поддерживает встроенную утку. Я знаю, что динамическое связывание c или запуск ИЛ во время выполнения могли бы достичь этого, но есть некоторые ограничения:

  • Значительные затраты производительности при связывании Dynami c.
  • Не поддерживается, когда есть собственная компиляция AOT (например, IL2 CPP, corert , новая встроенная функция сборки в . NET 5 ).
  • Возможно, не полностью поддерживается в некоторых специальных средах выполнения (например, Mono WebAssembly , IL Runtime ).

Не знаю, если Реализация утиной типизации в механизме. NET время выполнения должна зависеть от динамического связывания c, или если коды для утиной печати могут быть статически связаны без затрат времени выполнения.

Есть ли решение для достижения этой цели? с наименьшими затратами времени выполнения и наибольшей совместимостью?

...