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

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

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

Приклади Простий код де оголошується функція add та змінна x:

#lang racket/base

(define x 10)

(define (add a b) (+ a b))

(display (add x 2))

Примітки

Посилання Офіційний сайт