[plt-scheme] Problem with macro generated provide/contract

From: Jens Axel Søgaard (jensaxel at soegaard.net)
Date: Sun Nov 6 10:19:50 EST 2005

Matthew Flatt wrote:
> Did you mean
> 
> (module list-signature-with-contracts mzscheme
>    (provide provide-list-operations-with-contracts)
>    (define-syntax (provide-list-operations-with-contracts stx)
>      (syntax-case stx ()
>        [(provide-list-operations-with-contracts)
> 	(with-syntax
> 	    ([mycons  (datum->syntax-object stx 'mycons)]
> 	     [mycar   (datum->syntax-object stx 'mycar)]
> 	     [myempty (datum->syntax-object stx 'myempty)])
> 	  #'(begin
> 	      (require (lib "contract.ss"))
> 	      (define pair/c (flat-named-contract 'pair pair?))
> 	      (provide/contract
> 	       (mycons (-> any/c any/c  pair/c))
> 	       (mycar  (-> pair/c  any/c)))))])))
> 
> ?

Doh!

Sometimes you can't see the forrest for trees.

Thanks,
Jens Axel




Posted on the users mailing list.