<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2716.2200" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=946123215-01082002>I'm doing a little
work in version 103 with define-syntax and I'm having a little trouble.
Here's my example and the results.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=946123215-01082002></SPAN></FONT> </DIV>
<DIV><FONT face="Courier New" size=2><SPAN
class=946123215-01082002>(require-library "synrule.ss")</SPAN></FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2><SPAN
class=946123215-01082002>(define-syntax d1<BR> (syntax-rules
()<BR>
((_ (fun arg1 . rest) pgm
...)<BR>
'improper-list)<BR>
((_ (fun arg1 ...) pgm
...)<BR>
'multi-args)<BR> ))</SPAN></FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2><SPAN
class=946123215-01082002>(define-syntax d2<BR> (syntax-rules
()<BR>
((_ (fun arg1 ...) pgm
...)<BR>
'multi-args)<BR>
((_ (fun arg1 . rest) pgm
...)<BR>
'improper-list)<BR> ))<BR></SPAN></FONT></DIV>
<DIV><FONT face="Courier New" size=2><SPAN
class=946123215-01082002></SPAN></FONT> </DIV>
<DIV><FONT face="Courier New" size=2><SPAN class=946123215-01082002><FONT
face=Arial>Results:</FONT></SPAN></FONT></DIV>
<DIV><FONT face="Courier New" size=2><SPAN class=946123215-01082002><FONT
face=Arial></FONT></SPAN></FONT> </DIV>
<DIV><FONT face="Courier New" size=2><SPAN class=946123215-01082002><FONT
face=Arial>Welcome to DrScheme, version 103p1.<BR>Language: Graphical Full
Scheme (MrEd) Custom.<BR>> <FONT face="Courier New">(d1 (x a b c)
a)<BR></FONT>improper-list<BR>> <FONT face="Courier New">(d2 (x a b c)
a)<BR></FONT>multi-args<BR>> <FONT face="Courier New">(d1 (x a . b)
a)<BR></FONT>improper-list<BR>> <FONT face="Courier New">(d2 (x a . b)
a)<BR></FONT> andmap: expects type <proper list> as 2nd argument,
given: (a . b); other arguments were: #<procedure><BR>>
</FONT></DIV></SPAN></FONT>
<P><FONT face=Arial size=2><SPAN class=946123215-01082002>My question is
this. How do I uniquely identify an improper list verses
multiple arguments. d1 works half the time and d2 works the other half,
but I need to have a solution that works all of the time. I know how to do
it in the 200 version with the use of syntax-case and fenders, but I need to be
able to support 103.</SPAN></FONT></P>
<P><FONT size=2></FONT> </P>
<P><FONT face=Arial size=2>Thanks,</FONT></P>
<P><FONT face=Arial size=2>Gary L. Pendleton<BR>Integra Software Systems,
LLC<BR>Phone: (615) 595-0900 Ext. 803<BR>Cell: (615) 394-6754<BR>Fax:
(615) 628-0100<BR>Email: </FONT><A
href="mailto:gpendleton@integra-online.com"><FONT face=Arial
size=2>gpendleton@integra-online.com</FONT></A><BR><FONT face=Arial
size=2> <BR></FONT></P>
<P><FONT face=Arial size=2></FONT> </P>
<DIV> </DIV></BODY></HTML>