| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-10-07 | Explicitly pass around a state in Evarconv.second_order_matching. | Pierre-Marie Pédrot | |
| I know higher-order mutable state shared across call sites is a staple of Matthieu's style, but it is a footgun begging to be abused. | |||
| 2020-10-07 | Algorithmically faster implementation of Evarconv.apply_on_subterm. | Pierre-Marie Pédrot | |
| Instead of repeatedly checking for evars to appear in a term, we perform the search in one single pass. This slowdown was observed in fiat-crypto. This is still a naive algorithm though, since we recompute the set of evars for each subterm. This is thus quadratic. | |||
| 2020-10-02 | Merge PR #13106: Remove the forward class hint feature. | coqbot-app[bot] | |
| Reviewed-by: SkySkimmer | |||
| 2020-09-30 | Further simplification of the typeclass registration API. | Pierre-Marie Pédrot | |
| 2020-09-30 | Remove the forward class hint feature. | Pierre-Marie Pédrot | |
| It was not documented, not properly tested and thus likely buggy. Judging from the code alone I spotted already one potential bug. Further more it was prominently making use of the infamous "arbitrary term as hint" feature. Since the only user in our CI seems to be a math-classes file that introduced the feature under a claim of "cleanup", I believe we can safely remove it without anyone noticing. | |||
| 2020-09-28 | More precise information when unification fails because of incompatible ↵ | Hugo Herbelin | |
| candidates. We also show the incompatible contender. Ideally, we should also remember the source of the other contender. | |||
| 2020-09-03 | Comment AllowedEvars API | Maxime Dénès | |
| 2020-09-02 | More efficient data structure for allowed evars | Maxime Dénès | |
| 2020-09-02 | Abstract type for allowed evars | Maxime Dénès | |
| 2020-09-02 | Replace `frozen` by `allowed` evars in evarconv, and delay them | Maxime Dénès | |
| This is a follow-up of #9062, which introduced a discrenpancy between the two unification engines. | |||
| 2020-08-31 | Use a faster algorithm to check for class existence. | Pierre-Marie Pédrot | |
| There is a hidden invariant that guarantees that the class index and its reference field are the same. | |||
| 2020-08-27 | Merge PR #12849: Rename VM-related kernel/cfoo files to kernel/vmfoo | Pierre-Marie Pédrot | |
| Reviewed-by: gares Reviewed-by: ppedrot Reviewed-by: silene | |||
| 2020-08-19 | Merge PR #12725: Store evar identity instances in evarinfo / named_context_val | Enrico Tassi | |
| Ack-by: SkySkimmer Reviewed-by: gares | |||
| 2020-08-18 | Rename VM-related kernel/cfoo files to kernel/vmfoo | Gaëtan Gilbert | |
| 2020-08-17 | Merge PR #12751: Fixes reduction effect printing in the presence of non ↵ | Pierre-Marie Pédrot | |
| purely applicative stacks Ack-by: SkySkimmer Reviewed-by: ppedrot | |||
| 2020-08-11 | Small code simplification in contract_(co)fix. | Pierre-Marie Pédrot | |
| Probably a remnant of a time where the difference in code path was relevant. | |||
| 2020-08-11 | Move reduce_mind_case from Reductionops to Tacred. | Pierre-Marie Pédrot | |
| It was only used there, and its API required to export an ad-hoc type to represent pattern-matchings. | |||
| 2020-08-06 | Actually use the default instance stored inside named_context_val. | Pierre-Marie Pédrot | |
| 2020-08-06 | Use the evarinfo-stored identity substitution where applicable. | Pierre-Marie Pédrot | |
| 2020-07-24 | Fixes reduction effect printing in the presence of non purely applicative ↵ | Hugo Herbelin | |
| stacks. | |||
| 2020-07-22 | Remove redundant data from VM case switch. | Pierre-Marie Pédrot | |
| No need to store the case_info, all the data is reconstructible from the context. Furthermore, this reconstruction is performed in a context where we already access the environment, so performance is not at stake. Hopefully this will also reduce the number of globally allocated VM values, since the switch representation now only depends on the shape of the inductive type. | |||
| 2020-07-18 | Merge PR #12588: [exn] Remove some uses of print | Pierre-Marie Pédrot | |
| Ack-by: gares Reviewed-by: ppedrot | |||
| 2020-07-13 | Don't catch anomalies for evarconv "cannot find an instance" error | Gaëtan Gilbert | |
| 2020-07-11 | Merge PR #12650: Recordops: unify struc_typ summary record and libobject ↵ | Pierre-Marie Pédrot | |
| entry struc_tuple Reviewed-by: ppedrot | |||
| 2020-07-11 | Merge PR #12646: Correctly readback blocked CaseInvert matches in VM/native | Pierre-Marie Pédrot | |
| Reviewed-by: ppedrot | |||
| 2020-07-10 | Merge PR #12638: Some changes of representation in Tacred | Enrico Tassi | |
| Ack-by: backtracking Reviewed-by: gares | |||
| 2020-07-09 | [error handling] Anomaly in Conversion is a "precatchable_exception" | Emilio Jesus Gallego Arias | |
| This is just a fixup, likely all the places that are matching on `UserErr` directly are just buggy. | |||
| 2020-07-09 | [reductionops] Comment about absorption of anomalies. | Emilio Jesus Gallego Arias | |
| Co-authored-by: <Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | |||
| 2020-07-09 | [exn] Remove some uses of print | Emilio Jesus Gallego Arias | |
| Exceptions should not printed except for the top-level. There is the weird anomaly-absorbing code in `Reductionops`, I wonder how frequent that case is, but as the exception is absorbed printing there could have a real impact. | |||
| 2020-07-09 | Recordops: unify struc_typ summary record and libobject entry struc_tuple | Gaëtan Gilbert | |
| This requires updating the parameter count at section end, I felt it was easier to do with rebuild_function but it could be done in discharge if needed. Incidentally fixes #12649. | |||
| 2020-07-08 | Merge PR #12627: Fix Canonical with universe polymorphism and primitive ↵ | Enrico Tassi | |
| projection Reviewed-by: ejgallego Ack-by: gares | |||
| 2020-07-08 | Remove Evarutil.new_evar_instance from the API. | Pierre-Marie Pédrot | |
| 2020-07-06 | Correctly readback blocked CaseInvert matches in VM/native | Gaëtan Gilbert | |
| 2020-07-06 | Primitive persistent arrays | Maxime Dénès | |
| Persistent arrays expose a functional interface but are implemented using an imperative data structure. The OCaml implementation is based on Jean-Christophe Filliâtre's. Co-authored-by: Benjamin Grégoire <Benjamin.Gregoire@inria.fr> Co-authored-by: Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net> | |||
| 2020-07-05 | Further cleanup of dead code in the Reductionops API. | Pierre-Marie Pédrot | |
| 2020-07-05 | Remove the last use of the Stack module in Tacred. | Pierre-Marie Pédrot | |
| 2020-07-05 | Inline make_elim_fun in Tacred. | Pierre-Marie Pédrot | |
| We seize the opportunity to simplify the code and hoist out computations that can be avoided. | |||
| 2020-07-05 | Inline the Reductionops.fix_recarg function. | Pierre-Marie Pédrot | |
| It was only used in Tacred, and with a type that forced to perform a change of representation of stacks. | |||
| 2020-07-05 | Inline mutual recursion helpers in simpl implementation. | Pierre-Marie Pédrot | |
| This highlights static invariants about the function. | |||
| 2020-07-05 | Stop back-and-forth array to list conversions in simpl. | Pierre-Marie Pédrot | |
| 2020-07-05 | Fix Canonical with universe polymorphism and primitive projection | Gaëtan Gilbert | |
| Perhaps we should thread an evar map with the Var universes added through to cs_pattern_of_constr but that would be significantly more invasive. Fix #12528 | |||
| 2020-07-01 | UIP in SProp | Gaëtan Gilbert | |
| 2020-06-23 | Merge PR #12530: Fix glob_sort_family for SProp | Maxime Dénès | |
| Reviewed-by: gares Reviewed-by: maximedenes | |||
| 2020-06-19 | Share the identity instance in pretyping environments. | Pierre-Marie Pédrot | |
| 2020-06-19 | Do not reallocate named_context_val of the pretyping environment. | Pierre-Marie Pédrot | |
| Instead of costly linear reallocations, we share as much as possible of the prefixes of the various environment subcomponents. | |||
| 2020-06-17 | Fix glob_sort_family for SProp | Gaëtan Gilbert | |
| Fixes #12529 | |||
| 2020-06-04 | Move the Cbn module to tactics/. | Pierre-Marie Pédrot | |
| 2020-06-04 | Further cleanup. | Pierre-Marie Pédrot | |
| We factorize code between Cbn and Reductionops, and remove dead code as well. | |||
| 2020-06-04 | Move the cbn reduction to its own file, and simplify the RAKAM accordingly. | Pierre-Marie Pédrot | |
| 2020-05-29 | Fixes #12418 (inference of return clause meets assert false). | Hugo Herbelin | |
| This is a quick fix to avoid the anomaly, with a fallback on before b1b8243b7fc. | |||
