<HTML> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- Created on December, 22 2009 by texi2html 1.64 --> <!-- Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others. Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de> Send bugs and suggestions to <texi2html@mathematik.uni-kl.de> --> <HEAD> <TITLE>APRON 0.9.10: OCaml Programming Guidelines</TITLE> <META NAME="description" CONTENT="APRON 0.9.10: OCaml Programming Guidelines"> <META NAME="keywords" CONTENT="APRON 0.9.10: OCaml Programming Guidelines"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META NAME="Generator" CONTENT="texi2html 1.64"> </HEAD> <BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000"> <A NAME="SEC46"></A> <TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> <TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_14.html#SEC45"> < </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_16.html#SEC47"> > </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_9.html#SEC40"> << </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_7.html#SEC38"> Up </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_17.html#SEC48"> >> </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron.html#SEC_Top">Top</A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_toc.html#SEC_Contents">Contents</A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_abt.html#SEC_About"> ? </A>]</TD> </TR></TABLE> <HR SIZE=1> <H2> OCaml Programming Guidelines </H2> <!--docid::SEC46::--> <P> All modules belonging to the APRON interface itself (<CODE>Scalar</CODE>, <CODE>Interval</CODE>, ..., <CODE>Manager</CODE>, <CODE>Linexpr0</CODE>, ... <CODE>Abstract1</CODE>) are included in a big encapsulating module named <CODE>Apron</CODE>. In addition, there are modules like <CODE>Box</CODE> (intervals), <CODE>Oct</CODE> (octagons), <CODE>Polka</CODE> (linear equalities and convex polyhedra) and <CODE>Ppl</CODE> (convex polyhedra and linear congruences) not included in <CODE>Apron</CODE>. </P><P> Generic abstract values have the type <CODE>'a Abstract1.t</CODE>, generic managers the type <CODE>'a Manager.t</CODE>. A typical operation like the emptiness test has the type <CODE>val is_bottom : 'a Manager.t -> 'a Abstract1.t -> bool</CODE>. </P><P> Octagons of OCTAGON have the type <CODE>Oct.t Apron.Abstract1.t</CODE>. The corresponding managers have thus the type <CODE>Oct.t Manager.t</CODE>. </P><P> See <A HREF="../mlapronidl/index.html">OCaml interface</A> for the documentation. </P><P> <A NAME="MakingLibrary"></A> <HR SIZE=1> <BR> <FONT SIZE="-1"> This document was generated by <I>Bertrand Jeannet</I> on <I>December, 22 2009</I> using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html "><I>texi2html</I></A> </BODY> </HTML>