<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2003/10/394f1643e7f9913c35c2089af46dc7c5"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-10-29T19:26:49"
  subject="Re: [Caml-list] non-exported functions"
  prev="2003/10/6d7fa911a5b65a5461dcf0ac4417c521"
  next="2003/10/a4b52f660d4a8eb90746fb46c97e4c5a"
  prev-in-thread="2003/10/a4b52f660d4a8eb90746fb46c97e4c5a"
  next-in-thread="2003/10/693f078aaae8a4c18319fd2939d8ed09"
  prev-thread="2003/10/5ebf3a77f0f4aa8b69a3ae8441a03d5c"
  next-thread="2003/10/ed044d47f888bfffb6ffeacf6d6db1b0"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] non-exported functions">
<msg 
  url="2003/10/7b2764972588e6c81d3ecd631f1a35da"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-10-28T20:02:45"
  subject="[Caml-list] non-exported functions">
<msg 
  url="2003/10/2016da30865b8e17cdf4cd5a1d838a1f"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-10-28T21:08:10"
  subject="Re: [Caml-list] non-exported functions">
<msg 
  url="2003/10/fdc59437a02222f99a7ec3b03d3aa0b3"
  from="Maxence Guesdon &lt;maxence.guesdon@i...&gt;"
  author="Maxence Guesdon"
  date="2003-10-28T22:15:56"
  subject="Re: [Caml-list] non-exported functions">
<msg 
  url="2003/10/7b6c4bf56102a2665c09c6f90ad25a3f"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-10-29T00:11:35"
  subject="Re: [Caml-list] non-exported functions">
<msg 
  url="2003/10/d193ec219165ecf11023420e9f1bd5c6"
  from="Jean-Baptiste Rouquier &lt;jean-baptiste.rouquier@e...&gt;"
  author="Jean-Baptiste Rouquier"
  date="2003-10-29T06:51:12"
  subject="Re: [Caml-list] non-exported functions">
<msg 
  url="2003/10/d2f1b208c9d36f5626b05e92dc16d26e"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-10-29T07:52:13"
  subject="Re: [Caml-list] non-exported functions">
<msg 
  url="2003/10/8d9c9af7853e5addbbe1165dc90eb59d"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-10-29T17:00:32"
  subject="Re: [Caml-list] non-exported functions">
</msg>
<msg 
  url="2003/10/a4b52f660d4a8eb90746fb46c97e4c5a"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-10-29T19:32:35"
  subject="Re: [Caml-list] non-exported functions">
</msg>
</msg>
</msg>
<msg 
  url="2003/10/394f1643e7f9913c35c2089af46dc7c5"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-10-29T19:26:49"
  subject="Re: [Caml-list] non-exported functions">
<msg 
  url="2003/10/693f078aaae8a4c18319fd2939d8ed09"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-10-29T21:09:43"
  subject="Re: [Caml-list] non-exported functions">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</thread>

<contents>
On Wed, 2003-10-29 at 11:11, Dustin Sallings wrote:
&gt; On Tue, 28 Oct 2003 21:07:57 +0000
&gt; Richard Jones &lt;rich@annexia.org&gt; wrote:
&gt; 
&gt; &gt; On Tue, Oct 28, 2003 at 12:02:40PM -0800, Dustin Sallings wrote:
&gt; &gt;&gt;
&gt; &gt;&gt; 	I've got a module that contains a few helper functions that should
&gt; &gt;&gt; only be used internally.  Is there a way to prevent them from being
&gt; &gt;&gt; exported and/or included in ocamldoc output?
&gt; &gt;
&gt; &gt; Define an .mli file for your module. Anything not listed explicitly in
&gt; &gt; the .mli file won't be exported.
&gt; 
&gt; 	I kinda liked automatically generating my .mli, but I guess I can live 
&gt; with that.

Aw, its kind of annoying. Two or three extra keywords might 
fix 95% of cases:

	let private x = ...

Just don't put x in the interface

	type abstract x = ..

put x in the interface as

	type x


Now you may need an mli in the unusual case a function of type

	A -&gt; B

is constrained to type

	C -&gt; D

in the module and to type

	E -&gt; F

in the interface. Explicit interfaces are of course still needed
for more complex constraints.


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

</contents>

</message>

