Racket: язык, в котором код — это данные, а программы пишут программы
A Friendly Introduction to Racket

Racket — наследник Lisp, одного из старейших языков программирования. В этом руководстве вы познакомитесь с историей Lisp и его потомков, установите Racket и освоите базовые концепции: функции, списки, рекурсию и макросы. Главный вывод: благодаря гомоиконичности в Racket можно создавать собственные языки и расширять синтаксис, что делает его идеальным для языково-ориентированного программирования.
Правило Lisp умещается в одну строку: всё — это `(оператор аргумент1 аргумент2 ...)`. Всегда. Без исключений.
- GregBuchholz
Мой первый язык, 1980 год, CMU, был Pascal... вскоре за ним последовали LISP на курсах CS/AI и C на курсах EE. В то время я был большим поклонником MacLisp, версии MIT, над которой работал GLS (его комментарии можно было увидеть по всему исходному коду). Конечно, GLS перешёл на Scheme и написал несколько определяющих статей о замыканиях. Да, это было до того, как PC стали повсеместными... очень давно. (C++ появился много лет спустя, и я не был его поклонником. Я бы остался с железом, если бы версию C с ++ мне навязали все те годы назад.)
GLS переехал в CMU в начале 80-х... Я помню, как посещал у него курс "Сравнительное программирование". Хороший преподаватель и впечатляющий человек. Помимо очевидного, он также рассказывал на этом курсе о SNOBOL и APL. Воспоминания :-)
- SA9G
> никакого специального синтаксиса ни для чего.
(list '(1. . #\#)
-5/6+7.s-8i
`(1 ,@2)
1@1 ;хм, никакой запятой для unquote splicing ;-)
10# ;удивлены?
(list #i+1 +1i 1+i) ;сложно или комплексно?
#e-1e10i ;Старый Макдональд?
"(* 9 10)" #())
- M0THXYZ
> В "Удивительном цифровом цирке" (8 серия, "hjsakldfhl"), когда Кингер открывает терминал, чтобы попытаться сбросить Кейна, видно, что Кейн (креативный ИИ, созданный в 1996 году) запрограммирован на Lisp. Файл буквально называется Caine-core.lisp.
Приятная деталь. Объясняет, как Кейн возвращается в 9 серии: продолжения в Lisp позволяют корректно восстанавливаться после ошибок.
- M0THXYZ
Как бы я ни любил Racket, это не дружелюбное введение. Это спидран.
Когда введение называется "дружелюбным", я не ожидаю, что оно предполагает, что я знаю, что такое лямбда.
Когда введение называется "дружелюбным", я не ожидаю, что в нём вообще появятся правила синтаксиса.
- perrygeo
Хотя язык интересный, к сожалению, никто не использует его в реальном мире. Может быть, из-за громоздких вариантов развёртывания? Возможность создавать нативные автономные исполняемые файлы, я думаю, повысила бы его использование.