[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: define-module, #:export and export
From: |
Jean Abou Samra |
Subject: |
Re: define-module, #:export and export |
Date: |
Sun, 8 Jan 2023 14:19:08 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 |
Le 08/01/2023 à 10:46, yarl baudig a écrit :
What if I replace
(define-syntax define-enumerate-type
(syntax-rules ()
((_ name->int (name id) ...)
(define-syntax name->int
(syntax-rules (name ...)
((_ name) id) ...)))))
with
(define-syntax define-enumerate-type
(syntax-rules ()
((_ name->int (name id) ...)
(define-syntax name->int
(syntax-rules ()
((_ name) id) ...)))))
?
Not going to work.
(define-syntax define-enumerate-type
(syntax-rules ()
((_ name->int (name id) ...)
(define-syntax name->int
(syntax-rules ()
((_ name) id) ...)))))
(define-enumerate-type my-enum
(member1 1)
(member2 2))
(my-enum member2)
⇒ 1
The define-enumerate-type invocation expands to
(define-syntax my-enum
(syntax-rules ()
((_ member1) 1)
((_ member2) 2)))
and since member1 is not declared as a literal in the first
argument to syntax-rules, it matches anything.
OpenPGP_signature
Description: OpenPGP digital signature
- define-module, #:export and export, yarl baudig, 2023/01/04
- Re: define-module, #:export and export, Maxime Devos, 2023/01/04
- Re: define-module, #:export and export, Jean Abou Samra, 2023/01/04
- Re: define-module, #:export and export, yarl baudig, 2023/01/06
- Re: define-module, #:export and export, Maxime Devos, 2023/01/06
- Re: define-module, #:export and export, Jean Abou Samra, 2023/01/07
- Re: define-module, #:export and export, yarl baudig, 2023/01/08
- Re: define-module, #:export and export,
Jean Abou Samra <=
- Re: define-module, #:export and export, yarl baudig, 2023/01/08
- Re: define-module, #:export and export, Jean Abou Samra, 2023/01/08
- Re: define-module, #:export and export, yarl baudig, 2023/01/13