17. Typical Day 2 : Real Job Starts Overwhelmed type 'a desc = { position : Postion.t; value : 'a } let rec typecheck env = function Exp_int n -> open Utils open Sourceloc open Spot module Kind = struct include Kind let to_string = function Value -> "Value" let escaped pred s = let b = Buffer.create (String.length s) in String.iter (fun c -> if pred c then Buffer.add_char b ''; module Make (M : Basic) : S with type 'a monad = 'a M.t = struct let bind = M.bind type error = E2BIG | EACCES | EAGAIN | EBADF let cflag_of_int = function | 0x0001 -> `CASELESS | 0x0002 -> `MULTILINE | 0x0004 -> `DOTALL | 0x0008 -> `EXTENDED class ['a] gobject_signals obj = object val obj : 'a obj = obj val after = false method after = {< after = true >} method private connect : 'b. ('a,'b) GtkSignal.t -> callback:'b -> _ =
19. Typical Day 100 Still being Overwhelmed... type 'a desc = { position : Postion.t; value : 'a } let rec typecheck env = function Exp_int n -> open Utils open Sourceloc open Spot module Kind = struct include Kind let to_string = function Value -> "Value" let escaped pred s = let b = Buffer.create (String.length s) in String.iter (fun c -> if pred c then Buffer.add_char b ''; module Make (M : Basic) : S with type 'a monad = 'a M.t = struct let bind = M.bind type error = E2BIG | EACCES | EAGAIN | EBADF let cflag_of_int = function | 0x0001 -> `CASELESS | 0x0002 -> `MULTILINE | 0x0004 -> `DOTALL | 0x0008 -> `EXTENDED class ['a] gobject_signals obj = object val obj : 'a obj = obj val after = false method after = {< after = true >} method private connect : 'b. ('a,'b) GtkSignal.t -> callback:'b -> _ =
36. Ask the Authors write them Write them, or I get Home. Not something automatically created.
37.
38.
39. Then Ask WHY, which the Code does NOT tell you Why this data type is designed like this? Some combinations never appear in the algorithm. It could be simpler. Oh, this new guy is Strong...