Racket の面白い点としてはS式への拘りを捨てさったところにあると思う。コードの先頭に `#lang X`(タグにならないように全角にした)って書いてあれば X 言語として Racket は読んでくれて、この X 言語は S 式でなくてもよい。X 言語の実装としては、構文解析をして Racket によって解釈可能なコードに変換するだけでよい。結局 X 言語は Racket のランタイム上で動くものになるんで、他の Racket 上で動く言語との間で手続きをインポートしたりエクスポートしたりできるんで凄い。