aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/monad.ml
Commit message (Collapse)AuthorAge
* Fix #4416: - Incorrect "Error: Incorrect number of goals"Gravatar Arnaud Spiwack2016-10-10
| | | | | | | | 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).
* Removing dead code.Gravatar Pierre-Marie Pédrot2015-02-02
|
* Monad: change the error managing of two-list combinators.Gravatar Arnaud Spiwack2014-10-23
| | | Otherwise I risked catching errors from the argument functions when I wanted to catch size mismatch to add information to errors.
* An additional [List.iter] monadic combinator.Gravatar Arnaud Spiwack2014-10-22
|
* Add more primitives to the [Monad.Make] arguments.Gravatar Arnaud Spiwack2014-10-22
| | | | For optimisation purposes.
* Add a two-list monadic fold_left iterator.Gravatar Arnaud Spiwack2014-10-22
|
* Small optimisation in the monadic list combinators.Gravatar Arnaud Spiwack2014-10-22
| | | | The monadic bind can be costly, so sparing a few can be worth it. Therefore I unrolled the last element of the recursions. I took the opportunity to do some loop unrolling, which is probably more useful for map combinators than for fold.
* Factor module signatures.Gravatar Arnaud Spiwack2014-10-22
|
* Adding a Ftactic module for potentially focussing tactics.Gravatar Pierre-Marie Pédrot2014-09-05
| | | | | | 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.
* Tacinterp: more refactoring.Gravatar Arnaud Spiwack2014-02-27
| | | Introducing List.fold_right and List.fold_left in Monad.
* Tacinterp: refactoring using Monad.Gravatar Arnaud Spiwack2014-02-27
| | | Adds a combinator List.map_right which chains effects from right to left.
* Remove unsafe code (Obj.magic) in Tacinterp.Gravatar Arnaud Spiwack2014-02-27
This commit also introduces a module Monad to generate monadic combinators (currently, only List.map).