"макросы"

Jul 13, 2018 17:00

Читаю про системы "макросов" в Rust (с-style) и в Racket (Schema). Потом почитаю про макросы в Nemerle. Интересно, есть ли что-то ещё, про что стоит почитать. Я хочу попробовать сделать небольшой "чисто макросовый" язык, но современный - оперирующий с текстом только в самом начале, потом с лексемами, потом с не типированными переменными, потом... ( Read more... )

Leave a comment

Comments 20

kouzdra July 14 2018, 00:29:32 UTC
Caml - там в основном не макросы, а синтаксические расшерения на уровне грамматики (макросы тоже есть, но скольее для доменно-специфических расширений - когда как раз текст надо).

Причем этим активно пользуются - тот же Coq имеено библиотека с практически полностью переопределенным синтаксимом самого языка

Reply

rdia July 14 2018, 00:36:14 UTC
Это вы про camlp4 или про ppx?

Reply

kouzdra July 14 2018, 01:01:08 UTC
В принципе про ppx, но на деле там большой разницы нет - с разработчиком camlp4 там вообще больше похоже на несовместимость в группе

Reply

rdia July 14 2018, 01:07:03 UTC
О! Вы не знаете случайно, можно ли в Окамловском лексере сделать однострочные комменты с задаваемыми в runtime начальными символами?

Ну, чтобы можно было попробовать (*), |* и т.д.?

Я пока пришёл к мнению, что там на каждый стиль нужно собственный .mll сделать.

Reply


rdia July 14 2018, 00:40:42 UTC
Есть ещё Template Haskell - это Хаскель в Хаскеле.

Reply

sasha_gil July 14 2018, 01:03:57 UTC
Спасибо, поищу-почитаю.

Reply

rdia July 14 2018, 01:24:04 UTC
По вашей наводке начал разбираться с доктором "рэкетиров на дом вызывали?".

Интересно там с макросами - можно сделать на них pattern matching, а можно даже и GHCшные rewrite rules. И самое смешное, что это такие родственные вещи.

Reply

rdia July 14 2018, 01:04:35 UTC

Leave a comment

Up