Racket

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Racket — мова програмування загального призначення, що базується на мові Scheme і належить до сімейства мов Lisp. Хоча Racket бере за основу мову Scheme і підтримує виконання програм R5RS та R6RS Scheme,[1] мова Racket має свої розширення і відмінності і підтримує різні парадигми програмування. Однією з особливостей Racket є можливість створення на її основі спеціалізованих мов зі своїм спеціалізованим синтаксисом без потреби використання якихось зовнішніх інструментів на кшталт препроцесорів. Також мова має систему модулів та можливість об'єктно-орієнтованого програмування.

Racket використовує динамічну типізацію, але підтримує також варіант мови Typed Racket з статичною перевіркою типів.

Racket була початково створена для використання у педагогічних цілях, але згодом розвинулася у мову загального призначення. Racket виконується у віртуальній машині, яка інтерпретує байт-код, який, своєю чергою, компілюється в машинний код з допомогою JIT-компіляції[2][3]. До 2010 мова називалася PLT Scheme.[4] Racket також має інтегроване середовище розробки під назвою DrRacket, що має низку функцій, створених спеціально для тих, хто навчається програмуванню.

Примітки

[ред. | ред. код]
  1. 23 Dialects of Racket and Scheme. docs.racket-lang.org. Архів оригіналу за 24 вересня 2019. Процитовано 20 лютого 2020.
  2. 19 Performance. docs.racket-lang.org. Архів оригіналу за 20 лютого 2020. Процитовано 20 лютого 2020.
  3. У новій версії віртуальної машини CS байт-код замінено на безпосередньо машинний код.
  4. 1 Racket, Historically Speaking. felleisen.org. Архів оригіналу за 20 лютого 2020. Процитовано 20 лютого 2020.

Посилання

[ред. | ред. код]