guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: define-module, #:export and export


From: yarl baudig
Subject: Re: define-module, #:export and export
Date: Sun, 8 Jan 2023 16:18:33 +0100 (CET)

> 
> Not going to work.
> , it matches anything.
> 
> 

Obviously...

Ok, I tried more.
Apparently,

(define-syntax define-enumerate-type
  (syntax-rules ()
    ((_ name->int (name id) ...)
     (define-syntax name->int
       (syntax-rules (name ...)
         ((_ name) id) ...)))))

works the same as

(define-syntax define-enumerate-type
  (syntax-rules ()
    ((_ name->int (name id) ...)
     (define-syntax name->int
       (lambda (x)
         (syntax-case x ()
           ((_ n) (free-identifier=? #'name #'n) #'id) ...))))))

. Now what about

(define-syntax define-enumerate-type
  (syntax-rules ()
    ((_ name->int (name id) ...)
     (define-syntax name->int
       (lambda (x)
         (syntax-case x ()
           ((_ n) (equal?
                   (syntax->datum #'name)
                   (syntax->datum #'n))
            #'id) ...))))))

?






reply via email to

[Prev in Thread] Current Thread [Next in Thread]