Dylan (мова програмування)

(Перенаправлено з Dylan)

Dylan — динамічна об'єктно-орієнтована мова програмування, націлена на швидку розробку програм; розроблений насамперед зусиллями Apple.

Dylan
Парадигма об'єктно-орієнтоване програмування[1], Функційне програмування[1] і мультипарадигмальне програмуванняd[1]
Дата появи 1992
Розробник Apple і Університет Карнегі-Меллон
Останній реліз 2019.1
Система типізації динамічна типізація[d] і строга типізаціяd
Під впливом від LISP, CLOS і Common Lisp
Платформа Cross-platform[d]
Репозиторій вихідного коду github.com/dylan-lang/opendylan
Вебсайт opendylan.org

При необхідності, пізніше можна оптимізувати програми введенням інформації про типи. Dylan підтримує множинну спадковість, поліморфізм і багато інших парадигм. Мова загального призначення, придатна як для прикладного, так і для системного програмування. Включає в себе збирання сміття, перевірки в ході виконання, відновлення після помилок і модульну систему.

Ім'я мови Dylan означає «DYnamic LANguage».

ІсторіяРедагувати

Ця мова народилася в Apple на початку 1990 р. ЇЇ розробники хотіли створити покращений гібрид з елегантного варіанту LISP — Scheme, системи ООП CLOS від потужного промислового варіанту LISP — Common Lisp та ідеями з Smalltalk — і все це з нормальною загальноприйнятою системою позначень алголо/паскале-подібного синтаксису. Незабаром після цього аналогічний проект був запущений в Університеті Карнегі-Меллон — над створенням компілятора Dylan працювала знаменита команда Карнегі-Меллон з реалізації CMU Common Lisp. Іншу, комерційну версію з повною IDE випустила компанія Harlequin.

СинтаксисРедагувати

Спочатку Dylan мав синтаксис, заснований на префіксній нотації та S-виразах - як у мові програмування LISP. На момент завершення розробки синтаксис набув алголоподібного вигляду - з огляду на те, що він знайомий більш широкому колу програмістів. Синтаксис був розроблений Michael Kahl. Його докладно описано в Dylan Reference Manual [Архівовано 28 лютого 2021 у Wayback Machine.](англ.).

Лексичний синтаксисРедагувати

Dylan не чутливий до регістру. Дозволяється використовувати дефіс (мінус) для поєднання частин ідентифікаторів із кількох слів (іноді їх називають "lisp-case[en]" або "kebab-case[en]"). Ця угода про найменування поширена в мовах типу LISP.

Окрім буквено-цифрових символів і знаків дефіс (мінус), дозволяється використовувати певні небуквенно-цифрові символи як частину ідентифікаторів. Ідентифікатори не можуть складатися тільки з цих небуквенно-цифрових символів або лише з числових символів. Якщо є якась неясність, використовується пробіл.

ПосиланняРедагувати

ЛітератураРедагувати

  • Dylan Programming, by Feinberg, Keene, Mathews, and Withington.
  • Dylan Reference Manual, by Shalit, Moon, and Starbuck
  • Eric Kidd. Getting Started with Dylan
  1. а б в https://opendylan.org/