Size: a a a

Сообщество Scheme

2019 June 22

PG

Pïg Grëënëst in Сообщество Scheme
Могу показать кое чо с defmacro
источник

PG

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

L🇷

Lazzlo 🇷🇺 in Сообщество Scheme
Ну давай хоть это, если не трудно
источник

PG

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

PG

Pïg Grëënëst in Сообщество Scheme
loop: это макрос, но объявляется он через defalias, как видишь
источник

L🇷

Lazzlo 🇷🇺 in Сообщество Scheme
так loop ты сам как я понял придумал.
Я думал ты кинешь как определён некоторый синт. сахар елиспа который написан в стандартной библе елиспа (без использования этого сахара естественно)
источник

PG

Pïg Grëënëst in Сообщество Scheme
Ну это немного измененный и специализированный сахар defmacro
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Lazzlo 🇷🇺
так не интересно!) Буду РЕАЛЬНО признателен если кто-то найдёт отпределение в стандартной библе (и докажет что это не примитив) например синт. сахара let, или чего-нето подобного!
(define-syntax let
 (syntax-rules ()
   ((_ ((x v) ...) e1 e2 ...)
    ((lambda (x ...) e1 e2 ...) v ...))))
источник

L🇷

Lazzlo 🇷🇺 in Сообщество Scheme
Aydar Zarifullin
(define-syntax let
 (syntax-rules ()
   ((_ ((x v) ...) e1 e2 ...)
    ((lambda (x ...) e1 e2 ...) v ...))))
То есть эта штука заработает?) Троеточие входит в синтаксис? Это ты сам определил let, или в scheme этот синт сахар действительно так и определён в ст. библе?
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Lazzlo 🇷🇺
То есть эта штука заработает?) Троеточие входит в синтаксис? Это ты сам определил let, или в scheme этот синт сахар действительно так и определён в ст. библе?
Определение из книги The Scheme Programming Language
источник

AZ

Aydar Zarifullin in Сообщество Scheme
По идее он должен работать, троеточие это тоже синтаксис
источник

L🇷

Lazzlo 🇷🇺 in Сообщество Scheme
Aydar Zarifullin
По идее он должен работать, троеточие это тоже синтаксис
Понял! СПАСИБО! На самом деле очень интеренса эта тема
источник

O

O in Сообщество Scheme
wtf this?
G-expressions or “gexps”
источник

AZ

Aydar Zarifullin in Сообщество Scheme
O
wtf this?
G-expressions or “gexps”
Guile специфичная вещь. The (guix gexp) module implements G-​expressions, a form of S-expressions adapted to build expressions. Осталось только понять что такое build expression. Вероятно это относится к сборке guix или чего-то в guix
источник

A

Aragaer in Сообщество Scheme
а я нашел в чикене
источник

A

Aragaer in Сообщество Scheme
точнее что-то нашел, но вот оно ли это...
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Aragaer
точнее что-то нашел, но вот оно ли это...
Так можно вечно придумывать a-expressions, b-expressions, c-expressions и ещё (23?) варианта
источник

P1

Peter 11111000000 in Сообщество Scheme
#lang racket

(require (for-syntax syntax/parse))

(define-syntax (my-let* stx)
 (syntax-parse stx
   [(_my-let* ([name:id e:expr] ...) body ...)
    #'(let ()
        (define name e) ...
        body ...)]))
источник

P1

Peter 11111000000 in Сообщество Scheme
в схемофаке есть хорошее пояснение за многоточие http://community.schemewiki.org/?scheme-faq-macros
источник

P1

Peter 11111000000 in Сообщество Scheme
только не смотри определение let в racket - это не для слабонервных )))
источник