Add a header to every source file.
This commit is contained in:
parent
4ab55b4340
commit
f708bafdbc
|
@ -5,3 +5,4 @@
|
|||
|
||||
Copyright Inria. All rights reserved. This file is distributed under the
|
||||
terms of the MIT License, as described in the file LICENSE.
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
open UnifierSig
|
||||
|
||||
module Make (S : STRUCTURE) (U : UNIFIER with type 'a structure = 'a S.structure) = struct
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
open UnifierSig
|
||||
|
||||
(* This module takes care of creating and instantiating type schemes. It is
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(** This module implements infinite arrays, that is, arrays that grow
|
||||
transparently upon demand. *)
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(** This module implements infinite arrays. **)
|
||||
type 'a t
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
let iter f o =
|
||||
match o with
|
||||
| None ->
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
val iter: ('a -> unit) -> 'a option -> unit
|
||||
|
||||
val fold: ('a -> 'b -> 'b) -> 'a option -> 'b -> 'b
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
open UnifierSig
|
||||
open SolverSig
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
open UnifierSig
|
||||
open SolverSig
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
open UnifierSig
|
||||
open SolverSig
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
open UnifierSig
|
||||
open SolverSig
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(* This file defines some of the input signatures of the functor [Solver.Make]. *)
|
||||
|
||||
(* -------------------------------------------------------------------------- *)
|
||||
|
|
11
src/TRef.ml
11
src/TRef.ml
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(* Every cell records both its current (possibly uncommitted) value
|
||||
and its last committed value. A cell is considered stable when
|
||||
these two values are (physically) equal, and unstable otherwise. *)
|
||||
|
|
11
src/TRef.mli
11
src/TRef.mli
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(* This module provides a simple-minded of transactional reference cells.
|
||||
Like ordinary references, these references be created, read, and
|
||||
written. In addition, they support a notion of transaction. All writes must
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(* This module implements a transactional variant of the union-find
|
||||
algorithm. It uses transactional references instead of ordinary
|
||||
references, so that a series of operations performed within a
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(* This module implements a transactional variant of the union-find
|
||||
algorithm. It uses transactional references instead of ordinary
|
||||
references, so that a series of operations performed within a
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
open UnifierSig
|
||||
|
||||
module Make (S : STRUCTURE) = struct
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
open UnifierSig
|
||||
|
||||
(* The unifier is parameterized over the type structure. *)
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(* This file defines the input and output signatures of the functor
|
||||
[Unifier.Make]. *)
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(** This module implements a simple and efficient union/find algorithm.
|
||||
See Robert E. Tarjan, ``Efficiency of a Good But Not Linear Set
|
||||
Union Algorithm'', JACM 22(2), 1975. *)
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(** This module implements a simple and efficient union/find algorithm.
|
||||
See Robert E. Tarjan, ``Efficiency of a Good But Not Linear Set
|
||||
Union Algorithm'', JACM 22(2), 1975. *)
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
type 'a t =
|
||||
'a option ref
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
(******************************************************************************)
|
||||
(* *)
|
||||
(* Inferno *)
|
||||
(* *)
|
||||
(* François Pottier, Inria Paris *)
|
||||
(* *)
|
||||
(* Copyright Inria. All rights reserved. This file is distributed under the *)
|
||||
(* terms of the MIT License, as described in the file LICENSE. *)
|
||||
(* *)
|
||||
(******************************************************************************)
|
||||
|
||||
(* A type of write-once references. *)
|
||||
|
||||
type 'a t
|
||||
|
|
Loading…
Reference in New Issue