Browse thread
Inter-module dependences
- Damien Bobillot
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Damien Bobillot <damien.bobillot@m...> |
| Subject: | Inter-module dependences |
--Apple-Mail-3-944324957
Content-Type: multipart/alternative;
boundary=Apple-Mail-2-944324183
--Apple-Mail-2-944324183
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
delsp=yes;
format=flowed
Hello,
I'm defining a graph structure compatible with the ocamlgraph library.
I want to be able to access all neighbors and edge to neighbors of a
vertex in 0(1), so I think I need to store the outgoing edge list of
each vertex in the vertex structure. I also need to be able to access
the source and destination of an edge in 0(1), so I store these
vertex in the edge structure.
A standard Caml will be :
type vertex = {
label : int;
out_edges : edge list;
...
} and edge = {
label : int;
src : vertex;
dst : vertex;
...
}
However, in ocamlgraph, the vertex and edge type must be defined by
modules of signatures (and I cannot modify it) :
module type VERTEX = sig
type t
type label
val create : label -> t
val label : t -> label
end
module type EDGE = sig
type t
type label
type vertex
val create : vertex -> label -> vertex -> t
val label : t -> label
val src : t -> vertex
val dst : t -> vertex
end
module type GRAPH = sig
module V : VERTEX
module E : EDGE
...
end
Then the graph structure is generally created with a functor like :
module Make_Graph(V : VERTEX)(E : EDGE with type vertex = V.t) = struct
module V = V
module E = E
...
end
It works fine, but it doesn't respond to my problem : I want that V
use a type from E and at the same time E use a type of V. So I write
the following code :
module type MYVERTEX = sig
include VERTEX
type edge
val out_edges : t -> edge list
end
module MyVertex = struct
type edge
type t = { label : int; out_edges : edge list }
let out_edges v = v.out_edges
...
end
module MyEdge = struct
type vertex
type t = { label : int; src : vertex; dst : vertex }
...
end
module Make_MyGraph(V : MYVERTEX with type edge = E.t)(E : EDGE with
type vertex = V.t) = struct
module V = V
module E = E
...
end
The compiler found an error on "with type edge = E.t" : "Unbound type
constructor E.t". I understood it, E has not been defined yet, but I
want to do that any way : if I suppress "with type edge = E.t", the
V.edge and E.t types are not the same (and some other functions
inside Make_MyGraph won't work).
I tried things like :
module Make_MyGraph(VV : MYVERTEX)(EE : EDGE with type vertex = V.t)
= struct
module E = EE
module V = VV with type edge = E.t (*ocamlc doesn't understand
the with keyword here*)
...
end
or
module Make_MyEdge(E : EDGE)(V : MYVERTEX with type edge = E.t) = struct
include V
end
module Make_MyGraph(VV : MYVERTEX)(EE : EDGE with type vertex = VV.t)
= struct
module E = EE
module V = Make_MyEdge(E)(VV) (*ocamlc doesn't accepte VV,
Modules do not match:
sig type t = VV.t type label = VV.label type edge = VV.edge end
is not included in
sig type t type label type edge = E.t end
*)
...
end
--
Damien Bobillot
Test.ml file :
===================
module type VERTEX = sig
type t
type label
end
module type EDGE = sig
type t
type label
type vertex
end
module type MYVERTEX = sig
include VERTEX
type edge
end
module MyVertex = struct
type edge
type t = { label : int; out_edges : edge list }
end
module MyEdge = struct
type vertex
type t = { label : int; src : vertex; dst : vertex }
end
module Make_MyGraph(V : MYVERTEX with type edge = E.t)(E : EDGE with
type vertex = V.t) = struct
module V = V
module E = E
end
(*module Make_MyGraph(VV : MYVERTEX)(EE : EDGE with type vertex =
V.t) = struct
module E = EE
module V = VV with type edge = E.t
end*)
(*module Make_MyEdge(E : EDGE)(V : MYVERTEX with type edge = E.t) =
struct
include V
end
module Make_MyGraph(VV : MYVERTEX)(EE : EDGE with type vertex = VV.t)
= struct
module E = EE
module V = Make_MyEdge(E)(VV)
end*)
===========
--Apple-Mail-2-944324183
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=ISO-8859-1
<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; ">Hello,<DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I'm defining a graph =
structure compatible with the ocamlgraph library.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I want to be able to access =
all=A0neighbors and edge to=A0neighbors of a vertex in 0(1), so I think =
I need to store the outgoing edge list of each vertex in the vertex =
structure. I also need to be able to access the source and destination =
of an edge in 0(1), so I store these vertex in the edge =
structure.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>A=A0standard Caml will be =
:</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex =3D {</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">label : int;</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">out_edges : edge list;</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">} =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">and</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D =
{</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">label : int;</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">src : vertex;</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">dst : vertex;</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">}</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;"><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>However, in ocamlgraph, the =
vertex and edge type must be defined by modules of signatures (and I =
cannot modify it) :</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> VERTEX =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">=A0</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> create : label =
-> t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> label : t -> =
label</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> EDGE =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> create : vertex =
-> label -> vertex -> t</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">val</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label : t -> label</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> src : t -> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> dst : t -> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> GRAPH =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V : VERTEX</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E : EDGE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;"><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>Then the graph structure =
is=A0generally created with a functor like :</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> Make_Graph(V : =
VERTEX)(E : EDGE </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">with</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D V.t) =3D=
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D E</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;"><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>It works fine, but it =
doesn't respond to my problem : I want that V use a type from E and at =
the same time E use a type of V.=A0So I write the following code =
:</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV><DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> </SPAN></FONT><FONT class=3D"Apple-style-span"=
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
MYVERTEX =3D </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">sig</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">include</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
VERTEX</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
edge</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> out_edges : t =
-> edge list</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; font: normal normal normal 10px/normal Monaco; =
min-height: 14px; "><BR></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> MyVertex =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
edge</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> t =3D { label : =
int; out_edges : edge list }</SPAN></FONT></DIV><DIV style=3D"text-indent:=
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">let</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> out_edges v =3D =
v.out_edges</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; font: normal normal normal =
10px/normal Monaco; min-height: 14px; "><BR></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> MyEdge =3D </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">struct</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> t =3D { label : =
int; src : vertex; dst : vertex }</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; font: normal normal normal =
10px/normal Monaco; min-height: 14px; "><BR></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> Make_MyGraph(V : MYVERTEX =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D E.t)(E : =
EDGE </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D V.t) =3D=
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D E</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><P style=3D"text-indent:=
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; min-height: 14px; "><BR></P><P style=3D"margin: 0.0px =
0.0px 0.0px 0.0px; min-height: 14.0px">The compiler found an error on =
"with type edge =3D E.t" : "Unbound type constructor E.t". I understood =
it, E has not been defined yet, but I want to do that any way : if I =
suppress "with type edge =3D E.t", the V.edge and E.t types are not the =
same (and some other functions inside=A0Make_MyGraph won't work).</P><P =
style=3D"margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px"><BR =
class=3D"khtml-block-placeholder"></P><P style=3D"margin: 0.0px 0.0px =
0.0px 0.0px; min-height: 14.0px">I tried things like :</P><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> Make_MyGraph(VV : MYVERTEX)(EE : EDGE =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D V.t) =3D=
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D EE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D VV </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">with</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D E.t =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">(*ocamlc doesn't understand the with keyword =
here*)</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><P style=3D"text-indent:=
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; min-height: 14px; "><BR =
class=3D"khtml-block-placeholder"></P><P style=3D"margin: 0.0px 0.0px =
0.0px 0.0px; min-height: 14.0px">or=A0</P><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> Make_MyEdge(E : =
EDGE)(V : MYVERTEX </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">with</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D E.t) =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">include</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> Make_MyGraph(VV : =
MYVERTEX)(EE : EDGE </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">with</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D VV.t) =
=3D </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D EE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D Make_MyEdge(E)(VV) </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#236E25" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">(*ocamlc doesn't accepte VV,</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">Modules do not =
match:</SPAN></FONT></DIV><DIV style=3D"text-indent: -36px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 36px; "><FONT =
class=3D"Apple-style-span" color=3D"#236E25" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig type t =3D VV.t type label =3D VV.label =
type edge =3D VV.edge end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">is not included in</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -36px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 36px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig type t type label type edge =3D E.t =
end</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#236E25" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">*)</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><P style=3D"text-indent:=
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; min-height: 14px; "><BR =
class=3D"khtml-block-placeholder"></P> <P style=3D"margin: 0.0px 0.0px =
0.0px 0.0px"><FONT face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">--<SPAN class=3D"Apple-converted-space">=A0</SPAN></FONT></P> =
<P style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><FONT face=3D"Helvetica" =
size=3D"3" style=3D"font: 12.0px Helvetica">Damien Bobillot</FONT></P><P =
style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><BR =
class=3D"khtml-block-placeholder"></P><P style=3D"margin: 0.0px 0.0px =
0.0px 0.0px">Test.ml file :</P><P style=3D"margin: 0.0px 0.0px 0.0px =
0.0px">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</P><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> </SPAN></FONT><FONT class=3D"Apple-style-span"=
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
VERTEX =3D </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">sig</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> EDGE =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> MYVERTEX =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">include</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> VERTEX</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
edge</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; font: normal normal normal 10px/normal Monaco; =
min-height: 14px; "><BR></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> MyVertex =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
edge</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> t =3D { label : =
int; out_edges : edge list }</SPAN></FONT></DIV><DIV style=3D"text-indent:=
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> MyEdge =3D </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">struct</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
=A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> t =3D { label : =
int; src : vertex; dst : vertex }</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> Make_MyGraph(V : =
MYVERTEX </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D E.t)(E : =
EDGE </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D V.t) =3D=
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D E</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; font: normal normal normal 10px/normal Monaco; =
min-height: 14px; "><BR></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">(*module Make_MyGraph(VV : MYVERTEX)(EE : =
EDGE with type vertex =3D V.t) =3D struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module E =3D EE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module V =3D VV with type edge =3D =
E.t</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#236E25" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end*)</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; font: normal normal normal 10px/normal Monaco; =
min-height: 14px; "><BR></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">(*module Make_MyEdge(E : EDGE)(V : MYVERTEX =
with type edge =3D E.t) =3D struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">include V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module Make_MyGraph(VV : MYVERTEX)(EE : EDGE =
with type vertex =3D VV.t) =3D struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module E =3D EE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module V =3D =
Make_MyEdge(E)(VV)</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end*)</SPAN></FONT></DIV><P =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<=
/P> </DIV><BR></DIV></BODY></HTML>=
--Apple-Mail-2-944324183--
--Apple-Mail-3-944324957
Content-Transfer-Encoding: base64
Content-Type: application/pkcs7-signature;
name=smime.p7s
Content-Disposition: attachment;
filename=smime.p7s
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGIjCCAtsw
ggJEoAMCAQICAw54xzANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
YWlsIElzc3VpbmcgQ0EwHhcNMDUwNDEzMTc1MTAxWhcNMDYwNDEzMTc1MTAxWjBJMR8wHQYDVQQD
ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSYwJAYJKoZIhvcNAQkBFhdkYW1pZW4uYm9iaWxsb3RA
bTR4Lm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ1TOYBqwJ42s0Fzz56jY1p0
fplGyikFgoNEUKGnOpqt4vpeoqUppAnORt2yvdQJxfIkhsWkrD/diiPS7MTF73wcxlSJtqYzVzPK
G/2WDm6dBinuWCIyWYFhtGedyxbap3kJW44H7cL7HUVVxZ0JhOIOTsjCoEzaeKnML7bctbIJeXEE
lErfbDv2jA1PDG1ru5dx+Q+AmbexX92ygnntE6aX3QZLSbhrytg4yCRdV8cOyQ9eFruZBI42RJv3
nJXevjUOr4n+y/7bzijAJj4BFyUU+dllvj6bmk5brnUXheCSOD0Ci20dqGNC1MyJ43b6MoIrbW7j
JwYIv12D6KuWoaUCAwEAAaM0MDIwIgYDVR0RBBswGYEXZGFtaWVuLmJvYmlsbG90QG00eC5vcmcw
DAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQB0u5b6wgwsbcyzDHJTzshlCn4gshxWtU/1
mH77gBCpsY8L554YV4/Tvm1PzmDzErm++drQf5HMy8sEFjmwLvNfBP0BqtkSqsdRFGR4wHzTjMhS
EW5LgmlaccqBQzqQrANtzglgBVbtmBDAV92qHjQslwHK4FohCRRzGl4DLQmqBDCCAz8wggKooAMC
AQICAQ0wDQYJKoZIhvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENh
cGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNV
BAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJz
b25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3Rl
LmNvbTAeFw0wMzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYD
VQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29u
YWwgRnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV
+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqq
P3FWy688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEE
QB5kGXJgt/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSG
Mmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1Ud
DwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZI
hvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNw
PP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTl
EBpbNU1341YheILcIRk13iSx0x1G/11fZU8xggLnMIIC4wIBATBpMGIxCzAJBgNVBAYTAlpBMSUw
IwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVy
c29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIDDnjHMAkGBSsOAwIaBQCgggFTMBgGCSqGSIb3DQEJ
AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA1MDYxNTEyMTkyMlowIwYJKoZIhvcNAQkE
MRYEFAKgwkCW1up4y16I3Ne55Lsq/3VqMHgGCSsGAQQBgjcQBDFrMGkwYjELMAkGA1UEBhMCWkEx
JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ
ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMOeMcwegYLKoZIhvcNAQkQAgsxa6BpMGIxCzAJ
BgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQD
EyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIDDnjHMA0GCSqGSIb3DQEBAQUA
BIIBAEZr21taGXdpgU2d++77gj/fUUIKLgdjNoIrGhmn524wleGTEkTD410/wdW+sDvUY+GCmRjQ
LMjySFTujYuVcc+MGM4ZhQcIKnsG58yEmjOm4+m4LRd6Xtgxa+IAqtTrIiDbfTOKG54IN+YlENYY
HS6K/IUDl1Kv77P93q5d8GGnGhmBRMP72EIv7cmoU2wR6rtDUhe2/ChIeOk8tjtUEYQsAlz98d75
Vpm36oDsSfy8gbqxRrii5tBa++9Sj2GA3Cq+2IU53RSqY37V1kPFpKDEq9j8bfl97BzYNBcM7Fnr
JTFfoTBUw+lqjZmCMhllzOnmJXn3+PyFjDQs4lMsnoYAAAAAAAA=
--Apple-Mail-3-944324957--