[plt-scheme] Contracts and macros?

From: Mark Engelberg (mark.engelberg at gmail.com)
Date: Thu Jul 3 06:15:03 EDT 2008

Is there a way to do any kind of contract checking on a macro?

Here's the scenario I'm looking at:
A macro is used to convert a certain syntactic sugar into a function
call.  I want to keep the function private, but provide the sugarized
macro version to other modules.

If I can't assign a contract to the macro, how can I ensure that blame
is properly assigned?  Is there a way to put a contract on the private
function in a way that will assign blame to other modules which call
the macro which expands to an incorrect call to the private function?


Posted on the users mailing list.