Module Base__Applicative_intf
Applicatives model computations in which values computed by subcomputations cannot affect what subsequent computations will take place.
Relative to monads, this restriction takes power away from the user of the interface and gives it to the implementation. In particular, because the structure of the entire computation is known, one can augment its definition with some description of that structure.
For more information, see:
      Applicative Programming with Effects.
      Conor McBride and Ross Paterson.
      Journal of Functional Programming 18:1 (2008), pages 1-13.
      http://staff.city.ac.uk/~ross/papers/Applicative.pdfmodule type Basic = sig ... endmodule type Basic_using_map2 = sig ... endmodule type Applicative_infix = sig ... endmodule type For_let_syntax = sig ... endmodule type S = sig ... endmodule type Let_syntax = sig ... endmodule type Basic2 = sig ... endmodule type Basic2_using_map2 = sig ... endmodule type Applicative_infix2 = sig ... endmodule type For_let_syntax2 = sig ... endmodule type S2 = sig ... endmodule type Let_syntax2 = sig ... endmodule type Basic3 = sig ... endmodule type Basic3_using_map2 = sig ... endmodule type Applicative_infix3 = sig ... endmodule type For_let_syntax3 = sig ... endmodule type S3 = sig ... endmodule type Let_syntax3 = sig ... endmodule type Applicative = sig ... end