source: Deliverables/D4.1/Word.ml @ 85

Last change on this file since 85 was 85, checked in by mulligan, 10 years ago

Deleted Pretty.ml, as `pretty' functions have now been merged into
other files where they belong.
where

File size: 1.2 KB
Line 
1(*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*)
2(* FILENAME:    Word.ml                                                      *)
3(* DESCRIPTION: An ADT implementing standard 16 bit words, and common        *)
4(*              operations on them.                                          *)
5(* CREATED:     13/09/2010, Dominic Mulligan                                 *)
6(* BUGS:                                                                     *)
7(*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*)
8
9open Bit;;
10open Nibble;;
11open Byte;;
12
13module type WORD =
14sig
15  type bit
16  type nibble
17  type byte
18  type word = private byte * byte
19end;;
20
21module WordFunctor(Bit: BIT)
22                  (Nibble: NIBBLE
23                     with type bit    = Bit.bit)
24                  (Byte: BYTE
25                     with type bit    = Bit.bit
26                     and  type nibble = Nibble.nibble): WORD
27  with type bit    = Bit.bit
28  and  type nibble = Nibble.nibble
29  and  type byte   = Byte.byte =
30struct
31  type bit = Bit.bit
32  type nibble = Nibble.nibble
33  type byte = Byte.byte
34  type word = (byte * byte)
35end;;
36
37module Word = WordFunctor(Bit) (Nibble) (Byte);;
Note: See TracBrowser for help on using the repository browser.