<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16447">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>1) In section 8 of the Racket reference there is 
this example:</FONT></DIV>
<DIV><FONT size=2 
face=Arial>-------------------------------------------</FONT></DIV>
<DIV><FONT size=2 face=Arial>Examples:<BR>(define-struct tree (val left 
right))</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&gt; (match (make-tree 0 (make-tree 1 #f #f) 
#f)<BR>&nbsp;&nbsp;&nbsp; [(tree a (tree b&nbsp; _ _) _) (list a b)])</DIV>
<DIV><BR>'(0 1)</DIV>
<DIV>----------------------------------</DIV>
<DIV>&nbsp;</DIV>
<DIV>but I wasn't able to find any reference in the documentation&nbsp;to&nbsp;a 
constructor&nbsp;form make-struct-id .&nbsp; I'm assuming that in the above 
example </DIV>
<DIV>(match (make-tree 0 (make-tree 1 #f #f) #f)</DIV>
<DIV>&nbsp;is equivalent to </DIV>
<DIV>(match (tree 0 (tree 1 #f #f) #f)</DIV>
<DIV>&nbsp;</DIV>
<DIV>Is that correct?&nbsp;Is make-struct-id&nbsp; a deprecated form of the 
constructor procedure struct-id?</DIV>
<DIV>&nbsp;</DIV>
<DIV>2) In a module which contains a structure, lets call it&nbsp; "structure-a" 
I can have the statement:</DIV>
<DIV>(provide (struct-out structure-a))</DIV>
<DIV>which provides the constructor procedure and the getters and 
setters&nbsp;to structure-a</DIV>
<DIV>but I can also have the statement</DIV>
<DIV>(provide structure-a)</DIV>
<DIV>which only provides the constructor function.</DIV>
<DIV>Are there any cases where you would want to have (provide structure-a) 
rather than (provide (struct-out structure-a)) ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks,</DIV>
<DIV>Harry Spier</DIV></FONT></BODY></HTML>