Постепенная типизация

Оглавление1 Постепенный ввод текста1.1 Безопасность типа и постепенная типизация1.2 История и реализация1.3 Примеры языков с постепенной типизацией1.4 Проверка типов и […]

Постепенный ввод текста

  • Безопасность типа и постепенная типизация

    • Постепенная типизация находится между статической и динамической типизацией. 
    • Статическая типизация проверяет правильность ввода во время компиляции, динамическая – во время выполнения. 
    • Постепенный ввод позволяет программистам выбирать между статической и динамической парадигмой ввода в рамках одного языка. 
  • История и реализация

    • Термин “постепенная типизация” был введен Джереми Сиеком в 2006 году. 
    • При постепенной типизации используется специальный тип dynamic для представления статически неизвестных типов. 
    • Отношение согласованности заменяет равенство типов и связывает динамический тип с другими типами. 
    • Подтипирование в языках с постепенной типизацией не исключает ошибок статического типа, как в динамических языках. 
  • Примеры языков с постепенной типизацией

    • Closure Compiler, TypeScript, Hack, PHP, Typed Racket, Typed Clojure, Cython, mypy, pyre, cperl – примеры языков с постепенной типизацией. 
    • ActionScript и J – примеры языков с постепенной типизацией, которые изначально не были динамическими. 
    • C# и Raku – примеры языков со статической типизацией, которые постепенно типизируются. 
  • Проверка типов и нетипизированные переменные

    • В Raku проверка типов выполняется во всех местах присваивания значений. 
    • Нетипизированные переменные вводятся как подходящие для всех значений. 
    • Компилятор выявляет конфликты проверки типов, если они никогда не будут успешными. 
  • Постепенная типизация в Objective-C

    • В Objective-C указатели на объекты имеют постепенную типизацию относительно вызовов методов. 
    • Статическая типизация используется для проверки соответствия класса объекта методу. 
    • Переменная типа id позволяет вызывать любой метод. 
  • JS++ как пример постепенной типизации

    • JS++ – это надмножество JavaScript с постепенной системой типов, подходящей для ECMAScript и DOM API. 

Полный текст статьи:

Постепенная типизация

Оставьте комментарий

Прокрутить вверх