Hi Sam,<br><br>Below is the wrapper for file/tar.  I found a few discrepancies <a href="http://docs.plt-scheme.org/file/tar.html" target="_blank">from the doc</a>:<br><ol><li>both tar and tar-&gt;output returns a exact-nonenegative-integer? instead of void? (due to the last call being (write-bytes ...)), so I had them return Integer<br>

</li><li>tar-&gt;output takes (listof path?) instead of (listof path-string?)</li><li>tar-gzip is missing from the doc but is available in mzlib/tar (from which file/tar imports), so I export it as well, and it actually returns void? this time <br>

</li></ol>Also I didn&#39;t find a way to write optional parameters so I used case-lambda.  Let me know if there is another way to write it.  (What would be the way to write keyword parameter then?)<br><br>Thoughts?<br><br>
<font size="1"><span style="font-family: courier new,monospace;">#lang typed-scheme</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">;; tar.ss</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">;; typed-scheme wrapper on file/tar</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">;; yc 2009/2/25</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">;; licensed in LGPL, the same license as PLT Scheme itself.</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">;; basic type aliases.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">(define-type-alias Path-String (U Path String))</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">(require/typed file/tar</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               ;; tar appears to return exact-nonenegative-integer? instead of void?</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">               (tar (Path-String Path-String * -&gt; Integer))</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               ;; tar-&gt;output appears to take (listof path) instead of (listof path-string?)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">               ;; it also appears to return exact-nonenegative-integer?</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               (tar-&gt;output (case-lambda ((Listof Path) -&gt; Integer)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                                         ((Listof Path) Output-Port -&gt; Integer)))</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               ;; tar-&gt;gzip</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">               ;; missing from file/tar but available in mzlib/tar</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               ;; actually returns void? </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">               (tar-gzip (Path-String Path-String * -&gt; Void))</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               )</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">(provide tar tar-&gt;output tar-gzip)</span><br style="font-family: courier new,monospace;"></font><br>