[MLton-commit] r4964
Vesa Karvonen
vesak at mlton.org
Sun Dec 10 11:17:19 PST 2006
Reorganized public files.
----------------------------------------------------------------------
D mltonlib/trunk/com/ssh/extended-basis/unstable/public/iso.sig
----------------------------------------------------------------------
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/iso.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/iso.sig 2006-12-10 19:17:04 UTC (rev 4963)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/iso.sig 2006-12-10 19:17:13 UTC (rev 4964)
@@ -1,51 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * This code is released under the MLton license, a BSD-style license.
- * See the LICENSE file or http://mlton.org/License for details.
- *)
-
-(** Signature for the {Iso} structure for isomorphisms. *)
-signature ISO = sig
- type ('a, 'b) t = ('a -> 'b) * ('b -> 'a)
- (** Witness to an isomorphism between {'a} and {'b}. *)
-
- val id : ('a, 'a) t
- (** The trivial isomorphism. This is always equivalent to {(id, id)}. *)
-
- (** == Basic == *)
-
- val to : ('a, 'b) t -> 'a -> 'b
- (** Extracts the injection part of the given isomorphism. *)
-
- val from : ('a, 'b) t -> 'b -> 'a
- (** Extracts the projection part of the given isomorphism. *)
-
- val swap : ('a, 'b) t -> ('b, 'a) t
- (** Switch the direction of the isomorphism. *)
-
- (** == Combinators for Building Isomorphisms == *)
-
- val map : ('c, 'a) t * ('b, 'd) t -> ('a, 'b) t -> ('c, 'd) t
- (** Changes the domain and range of an isomorphism. *)
-
- val <--> : ('a, 'b) t * ('c, 'a) t -> ('c, 'b) t
- (** Isomorphism composition. *)
-
- val --> : ('c, 'a) t * ('b, 'd) t -> (('a, 'b) Fn.t, ('c, 'd) Fn.t) t
- (**
- * Creates an isomorphism between functions given isomorphisms between
- * domains and ranges.
- *)
-
- val +` : ('a, 'c) t * ('b, 'd) t -> (('a, 'b) Sum.t, ('c, 'd) Sum.t) t
- (**
- * Creates an isomorphism between sums given isomorphisms between
- * elements.
- *)
-
- val *` : ('a, 'c) t * ('b, 'd) t -> (('a, 'b) Product.t, ('c, 'd) Product.t) t
- (**
- * Creates an isomorphism between products given isomorphisms between
- * elements.
- *)
-end
More information about the MLton-commit
mailing list