of Na.
SemNe (only for dynamic) would use "topics" or sequences of entities being discussed
as payloads, so sent types are box(topic). What we really provide
- here is the Kleisli variation of this, so sent types = topic -> box(topic).
+ here is the Kleisli variation of this (SemNf), so sent types = topic -> box(topic).
*)
Next we develop some semantics that are closer to their actual presentation. *)
(* This develops Sem7c using in part the Kleisli strategy from Sem1b. *)
-module Sem7e = struct
+module Sem7f = struct
let dynamic = true
let extensional = true
Our meaning types (once we add worlds in 6e, below) will be:
topic -> (store -> world -> ([topic] * store))
We count a world as eliminated when it results in an empty list of topics.
- Note that our Sem8e doesn't yet properly handle Veltman's "might"; see remarks below.
+ Note that our Sem8f doesn't yet properly handle Veltman's "might"; see remarks below.
*)
type topic = entity list
let topic0 = []
let loves yy xx = wrap2 F.loves1 yy xx
let thinks pp xx = fun top -> failwith "Unimplemented"
let maybe pp = fun top -> failwith "Unimplemented"
-end (* Sem7e *)
+end (* Sem7f *)
-(* Add intensionality to Sem7e. See comments there. *)
-module Sem8e = struct
+(* Add intensionality to Sem7f. See comments there. *)
+module Sem8f = struct
let dynamic = true
let extensional = false
Testifying to the "modularity" of monads, which we have been recommending as one of their prominent virtues.
*)
-end (* Sem8e *)
+end (* Sem8f *)
module TestAll = struct
print_endline "\nTesting Sem1a";;
module T3c = Test(Sem4c);;
print_endline "\nTesting Sem7c";;
module T5c = Test(Sem7c);;
- print_endline "\nTesting Sem7e";;
- module T5e = Test(Sem7e);;
+ print_endline "\nTesting Sem7f";;
+ module T5e = Test(Sem7f);;
print_endline "\nTesting Sem8c";;
module T6c = Test(Sem8c);;
- print_endline "\nTesting Sem8e";;
- module T6e = Test(Sem8e);;
+ print_endline "\nTesting Sem8f";;
+ module T6e = Test(Sem8f);;
print_newline ()
end