~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ B5B91DA372FBB34D38A92CF214792151__1706434140 ✰
Заголовок документа оригинал.:
✰ ISWIM - Wikipedia ✰
Заголовок документа перевод.:
✰ ИСВИМ — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/ISWIM ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/b5/51/b5b91da372fbb34d38a92cf214792151.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/b5/51/b5b91da372fbb34d38a92cf214792151__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 09:21:28 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 28 January 2024, at 12:29 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

ИСВИМ — Википедия Jump to content

Я ПЛАВАЮ

Из Википедии, бесплатной энциклопедии
Я ПЛАВАЮ
Парадигма Императивный , функциональный
Разработано Питер Ландин
Впервые появился 1966 год ; 58 лет назад ( 1966 )
Под влиянием
АЛГОЛ 60 , Лисп
Под влиянием
SASL , Миранда , ML , Haskell , Clean , Lucid

ISWIM ( If You See What I Mean ) — абстрактный язык компьютерного программирования (или семейство языков), разработанный Питером Ландином и впервые описанный в его статье «Следующие 700 языков программирования», опубликованной в журнале Communications of ACM в 1966 году. [1]

Хотя он и не был реализован, он оказался очень влиятельным в разработке языков программирования, особенно языков функционального программирования , таких как SASL , Miranda , ML , Haskell и их преемников, а также программирования потоков данных, языков таких как Lucid .

Дизайн [ править ]

ISWIM — императивный язык программирования с функциональным ядром, состоящим из синтаксического шугаринга лямбда -исчисления , к которому добавляются изменяемые переменные и присваивание, а также мощный механизм управления: программной точки оператор . Основанный на лямбда-исчислении, ISWIM имеет функции высшего порядка и с лексической областью действия переменные .

Операционная семантика ISWIM определяется с использованием машины SECD Ландина и использует вызов по значению, то есть быструю оценку . [2] Целью ISWIM было больше походить на математическую запись, поэтому Ландин отказался от точек с запятой в Алголе между операторами и begin ... end блоки и заменил их правилом «вне игры» и областью действия, основанной на отступах .

Отличительной особенностью ISWIM является использование whereстатьи. Программа ISWIM представляет собой одно выражение, дополненное предложениямиwhere (вспомогательные определения, включая уравнения между переменными), условными выражениями и определениями функций. Наряду с CPL , ISWIM был одним из первых языков программирования, в котором использовались операторыwhere.

Примечательной семантической особенностью была возможность определять новые типы данных как (возможно, рекурсивную) сумму произведений. Это было сделано с использованием несколько подробного описания в стиле естественного языка, но, за исключением обозначений, оно в точности соответствует алгебраическим типам данных , встречающимся в современных функциональных языках. [3] Переменные ISWIM не имели явных объявлений типов, и вполне вероятно (хотя и не указано явно в статье 1966 года), что Ландин намеревался сделать язык динамически типизированным, как LISP и в отличие от ALGOL ; но также возможно, что он намеревался разработать некую форму вывода типа .

Реализации и производные [ править ]

Попыток прямой реализации ISWIM не предпринималось, кроме языка Арта Эвана PAL . [4] и Джона К. Рейнольдса языковые мысли , [5] уловил большую часть концепций Ландина, включая мощные операции по передаче контроля. Оба они были типизированы динамически . Робина Милнера можно ML считать эквивалентом I SWIM без оператора J и с выводом типа .

Другой путь от ISWIM — убрать императивные функции (присваивание и оператор J), оставив чисто функциональный язык. [6] Тогда становится возможным переключиться на отложенное вычисление . Этот путь привел к языкам программирования SASL , Kent Recursive Calculator (KRC), Hope , Miranda , Haskell и Clean .

Ссылки [ править ]

  1. ^ Ландин, П.Дж. (март 1966 г.). «Следующие 700 языков программирования» (PDF) . Коммуникации АКМ . 9 (3). Ассоциация вычислительной техники : 157–165. дои : 10.1145/365230.365257 . S2CID   13409665 .
  2. ^ Плоткин, Гордон (1975). Вызов по имени, вызов по значению и лямбда-исчисление (PDF) (отчет).
  3. ^ Тернер, Д.А. (2013), «Некоторые истории языков функционального программирования» , Конспекты лекций по информатике , Берлин, Гейдельберг: Springer Berlin Heidelberg, стр. 1–20, ISBN  978-3-642-40446-7 , получено 28 января 2024 г. , В документе ISWIM также впервые упоминаются определения алгебраических типов, используемые для определения структур. Это делается на словах, но идея суммы продуктов явно присутствует.
  4. ^ Эванс, Искусство (1968). «PAL: язык, предназначенный для обучения лингвистике программирования». Материалы Национальной конференции ACM . Национальная конференция ACM. Ассоциация вычислительной техники .
  5. ^ Рейнольдс, Джон К. (сентябрь 1969 г.). GEDANKEN: простой бестиповый язык, который допускает функциональные структуры данных и сопрограммы (Report). Аргоннская национальная лаборатория.
  6. ^ Иванович, Мирьяна; Будимак, Зоран (апрель 1993 г.). «Определение ISWIM-подобного языка через схему» . Уведомления ACM SIGPLAN . 28 (4): 29–38. дои : 10.1145/152739.152743 . S2CID   14379260 .
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: B5B91DA372FBB34D38A92CF214792151__1706434140
URL1:https://en.wikipedia.org/wiki/ISWIM
Заголовок, (Title) документа по адресу, URL1:
ISWIM - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)