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, що має низку функцій, створених спеціально для тих, хто навчається програмуванню.
Примітки
- ↑ 23 Dialects of Racket and Scheme. docs.racket-lang.org. Архів оригіналу за 24 вересня 2019. Процитовано 20 лютого 2020.
- ↑ 19 Performance. docs.racket-lang.org. Архів оригіналу за 20 лютого 2020. Процитовано 20 лютого 2020.
- ↑ У новій версії віртуальної машини CS байт-код замінено на безпосередньо машинний код.
- ↑ 1 Racket, Historically Speaking. felleisen.org. Архів оригіналу за 20 лютого 2020. Процитовано 20 лютого 2020.
Посилання
- Офіційний сайт [Архівовано 18 лютого 2020 у Wayback Machine.]