Как вы можете определить » λ «как псевдоним для «лямбда» в схеме?

#scheme #alias

#схема #псевдоним

Вопрос:

Я знаю, что могу создать псевдоним примерно так: (define first car) т. Е. (first '(a b c)) =gt; a
Но это не сработает для определенных ключевых слов, я не могу сказать (define alias define) или (define λ lambda)

Но то, что я хотел бы сделать, это определить λ как псевдоним lambda , чтобы я мог сказать:

 (define add  (λ args-list  (apply   args-list)))   

вместо обычного

 (define add  (lambda args-list  (apply   args-list)))  

Буду признателен, если кто-нибудь знает, как это сделать, или сможет указать мне правильное направление. Я знаю, что это не по правилам с Ракеткой, но я хочу знать, как это можно реализовать, при условии, что это возможно.

Ответ №1:

Вы должны использовать макрос

 (define-syntax λ  (syntax-rules ()  ((_ args body ...)  (lambda args body ...))))  

Комментарии:

1. Это сработало, спасибо!