Size: a a a

Сообщество Scheme

2019 June 06

AZ

Aydar Zarifullin in Сообщество Scheme
Aragaer
defmacro не гарантируют гигиеничность
Я уже точно не помню, но вроде же достаточно имена переменных на gensym'ы заменить, разве нет?
источник

AZ

Aydar Zarifullin in Сообщество Scheme
CC-BY-SA-4.0/Docker-ce27.1
А что такое гигиеничность макросов?
источник

PG

Pïg Grëënëst in Сообщество Scheme
Ну чот не особо гигиенично
источник

P1

Peter 11111000000 in Сообщество Scheme
Aydar Zarifullin
> Так называемые макросы в стиле common lisp не могут дать таких гарантий.

Не понял про какие гарантии автор. Учитывая что в CL тоже можно писать гигиенические макросы
эм. что непонятного. а вот гигиена в коммон-лиспе, это действительно непонятно.  К оригинальной цитате я бы добавил, что гигиеничность, и сохранение ссылочной прозрачности помогает избежать переопределения и правильно понять код макроса , но не только программисту, а и например IDE, для подсветки и разворачивания.
источник

PG

Pïg Grëënëst in Сообщество Scheme
Или так и в схеме будет?
источник

A

Aragaer in Сообщество Scheme
в схеме нету defmacro, там через syntax-rules описывается все
источник

A

Aragaer in Сообщество Scheme
и нет, оно проверит, что у тебя внутри макроса не задействуются переменные, не объявленные внутри, или же не указанные явно
источник

P1

Peter 11111000000 in Сообщество Scheme
другое дело, что всякие там анафорические макросы нельзя (сложно) сделать на схеме, но я вообще не могу представить зачем оно может понадобиться
источник

A

Aragaer in Сообщество Scheme
анафорический иф/лет? можно
источник

A

Aragaer in Сообщество Scheme
там можно указать, какие переменные будут введены макросом для использования во вложенных в него формах
источник

V(

Vλadimir (Hawthorne the Toolmaker) in Сообщество Scheme
Аргументы благородных донов, в принципе, понятны.
Непонятно, где для схемы найти прозрачный и адекватный гайд по макросам.
источник

A

Aragaer in Сообщество Scheme
я где-то находил, когда игрался с "корутинами"
источник

TZ

T Z in Сообщество Scheme
Всем доброго вечера. Скажите, пожалуйста, тот Лисп, который изобрел Джон МакКарти, сохранился в наши дни? Если да, то это Scheme? Или же он растворился частично в Scheme, частично в Common Lisp?
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Vλadimir (Hawthorne the Toolmaker)
Аргументы благородных донов, в принципе, понятны.
Непонятно, где для схемы найти прозрачный и адекватный гайд по макросам.
Сам ещё не смотрел но я бы сразу полез в доку https://docs.racket-lang.org/guide/macros.html
источник

O

O in Сообщество Scheme
T Z
Всем доброго вечера. Скажите, пожалуйста, тот Лисп, который изобрел Джон МакКарти, сохранился в наши дни? Если да, то это Scheme? Или же он растворился частично в Scheme, частично в Common Lisp?
источник

V(

Vλadimir (Hawthorne the Toolmaker) in Сообщество Scheme
Aydar Zarifullin
Сам ещё не смотрел но я бы сразу полез в доку https://docs.racket-lang.org/guide/macros.html
Главное не обращать внимания на
This chapter provides an introduction to Racket macros, but see Fear of Macros for an introduction from a different perspective.
источник

O

O in Сообщество Scheme
источник

V(

Vλadimir (Hawthorne the Toolmaker) in Сообщество Scheme
потому что там у автора в конце ОТКРОВЕНИЕ
источник

P1

Peter 11111000000 in Сообщество Scheme
T Z
Всем доброго вечера. Скажите, пожалуйста, тот Лисп, который изобрел Джон МакКарти, сохранился в наши дни? Если да, то это Scheme? Или же он растворился частично в Scheme, частично в Common Lisp?
emacs-lisp достаточно близкий
источник

O

O in Сообщество Scheme
Peter 11111000000
emacs-lisp достаточно близкий
20 лет разницы но в Lisp  время особо не имеет значение
источник