[plt-scheme] syntax question

From: Artem Baguinski (artm at v2.nl)
Date: Thu Oct 7 06:37:43 EDT 2004

Hello

I'd like to implement the following macro:

(define-readable-structure
  name
  ((field reader)
   ...))

which would expand to 

(define-struct 
  name 
  (field ...))

and a reader function:

(define read-name
  (lambda (port)
    (let* ((field (reader port)) ... )
       (make-name field ...))))c

but i have no clue where to even start... my problems:

1. How to generate reader function name? And how to make sure it's visible
outside the macro definition, as if i supplied it to
define-readable-structure.

2. How to find out structure's constructor name and insert it into reader
function?

3. May be something else i don't realise? Or may be there's some way to do
what I want already in mzscheme or mzlib? What i want is a structure that
knows how to read itself from port using supplied field readers. 

-- 
gr{oe|ee}t{en|ings}
artm 




Posted on the users mailing list.