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, що має низку функцій, створених спеціально для тих, хто навчається програмуванню.
Примітки
Посилання