aboutsummaryrefslogtreecommitdiff
path: root/lib/monad.mli
AgeCommit message (Collapse)Author
2017-12-23[lib] Split auxiliary libraries into Coq-specific and general.Emilio Jesus Gallego Arias
Up to this point the `lib` directory contained two different library archives, `clib.cma` and `lib.cma`, which a rough splitting between Coq-specific libraries and general-purpose ones. We know split the directory in two, as to make the distinction clear: - `clib`: contains libraries that are not Coq specific and implement common data structures and programming patterns. These libraries could be eventually replace with external dependencies and the rest of the code base wouldn't notice much. - `lib`: contains Coq-specific common libraries in widespread use along the codebase, but that are not considered part of other components. Examples are printing, error handling, or flags. In some cases we have coupling due to utility files depending on Coq specific flags, however this commit doesn't modify any files, but only moves them around, further cleanup is welcome, as indeed a few files in `lib` should likely be placed in `clib`. Also note that `Deque` is not used ATM.
2016-11-08Complete a truncated commentArnaud Spiwack
Introduce by myself, I'm afraid, in #308. Noticed by PMP during the review, but I forgot to fix it before merge.
2016-10-10Fix #4416: - Incorrect "Error: Incorrect number of goals"Arnaud Spiwack
In `Ftactic` the number of results could desynchronise with the number of goals when some goals were solved by side effect in a different branch of a `DISPATCH`. See [coq-bugs#4416](https://coq.inria.fr/bugs/show_bug.cgi?id=4416).
2014-10-23Monad: change the error managing of two-list combinators.Arnaud Spiwack
Otherwise I risked catching errors from the argument functions when I wanted to catch size mismatch to add information to errors.
2014-10-22An additional [List.iter] monadic combinator.Arnaud Spiwack
2014-10-22Add more primitives to the [Monad.Make] arguments.Arnaud Spiwack
For optimisation purposes.
2014-10-22Add a two-list monadic fold_left iterator.Arnaud Spiwack
2014-09-05Adding a Ftactic module for potentially focussing tactics.Pierre-Marie Pédrot
The code for the module was moved from Tacinterp. We still expose partially the implementation of the Ftactic.t type, for the sake of simplicity. It may be dangerous if used improperly though.
2014-02-27Tacinterp: more refactoring.Arnaud Spiwack
Introducing List.fold_right and List.fold_left in Monad.
2014-02-27Tacinterp: refactoring using Monad.Arnaud Spiwack
Adds a combinator List.map_right which chains effects from right to left.
2014-02-27Remove unsafe code (Obj.magic) in Tacinterp.Arnaud Spiwack
This commit also introduces a module Monad to generate monadic combinators (currently, only List.map).