From 8ef691a427f7f522a8b0988632290c4693a5f2b8 Mon Sep 17 00:00:00 2001 From: gares Date: Fri, 12 Jan 2024 12:07:58 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20LPCIC/el?= =?UTF-8?q?pi@269c18c98517740e1e050996363a754e1e581f1d=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _sources/playground.rst.txt | 214 ++++---- elpi/Elpi/API/AlgebraicData/index.html | 2 +- elpi/Elpi/API/Ast/Loc/index.html | 2 +- elpi/Elpi/API/Ast/index.html | 2 +- elpi/Elpi/API/BuiltIn/index.html | 2 +- elpi/Elpi/API/BuiltInData/index.html | 2 +- .../BuiltInPredicate/HOAdaptors/index.html | 2 +- .../API/BuiltInPredicate/Notation/index.html | 2 +- elpi/Elpi/API/BuiltInPredicate/index.html | 2 +- elpi/Elpi/API/Calc/index.html | 2 +- elpi/Elpi/API/Compile/StrSet/index.html | 2 +- elpi/Elpi/API/Compile/index.html | 2 +- elpi/Elpi/API/ContextualConversion/index.html | 2 +- elpi/Elpi/API/Conversion/index.html | 2 +- elpi/Elpi/API/Data/StrMap/index.html | 2 +- elpi/Elpi/API/Data/index.html | 2 +- elpi/Elpi/API/Execute/index.html | 2 +- elpi/Elpi/API/FlexibleData/Elpi/index.html | 2 +- .../Map/argument-1-Host/index.html | 2 +- elpi/Elpi/API/FlexibleData/Map/index.html | 2 +- elpi/Elpi/API/FlexibleData/index.html | 2 +- .../FlexibleData/module-type-Host/index.html | 2 +- .../FlexibleData/module-type-Show/index.html | 2 +- elpi/Elpi/API/OpaqueData/index.html | 2 +- elpi/Elpi/API/Parse/index.html | 2 +- elpi/Elpi/API/Pp/Ast/index.html | 2 +- elpi/Elpi/API/Pp/index.html | 2 +- elpi/Elpi/API/Query/index.html | 2 +- elpi/Elpi/API/Quotation/index.html | 2 +- elpi/Elpi/API/RawData/Constants/index.html | 2 +- elpi/Elpi/API/RawData/index.html | 2 +- elpi/Elpi/API/RawOpaqueData/index.html | 2 +- elpi/Elpi/API/RawPp/Debug/index.html | 2 +- elpi/Elpi/API/RawPp/index.html | 2 +- elpi/Elpi/API/RawQuery/index.html | 2 +- elpi/Elpi/API/Setup/index.html | 2 +- elpi/Elpi/API/State/index.html | 2 +- elpi/Elpi/API/Utils/IntSet/index.html | 2 +- elpi/Elpi/API/Utils/LocSet/index.html | 2 +- .../Utils/Map/Make/argument-1-Ord/index.html | 2 +- elpi/Elpi/API/Utils/Map/Make/index.html | 2 +- elpi/Elpi/API/Utils/Map/index.html | 2 +- .../Map/module-type-OrderedType/index.html | 2 +- .../API/Utils/Map/module-type-S/index.html | 2 +- .../Utils/Set/Make/argument-1-Ord/index.html | 2 +- elpi/Elpi/API/Utils/Set/Make/index.html | 2 +- elpi/Elpi/API/Utils/Set/index.html | 2 +- .../Set/module-type-OrderedType/index.html | 2 +- .../API/Utils/Set/module-type-S/index.html | 2 +- elpi/Elpi/API/Utils/index.html | 4 +- .../API/Utils/module-type-Show/index.html | 2 +- .../API/Utils/module-type-Show1/index.html | 2 +- elpi/Elpi/API/index.html | 2 +- elpi/Elpi/Builtin/index.html | 2 +- elpi/Elpi/Builtin_checker/index.html | 2 +- elpi/Elpi/index.html | 2 +- .../Elpi_lexer_config/Lexer_config/index.html | 2 +- elpi/Elpi_lexer_config/Tokens/index.html | 2 +- elpi/Elpi_lexer_config/index.html | 2 +- elpi/Elpi_parser/Ast/Chr/index.html | 2 +- elpi/Elpi_parser/Ast/Clause/index.html | 2 +- elpi/Elpi_parser/Ast/Func/Map/index.html | 2 +- elpi/Elpi_parser/Ast/Func/index.html | 2 +- elpi/Elpi_parser/Ast/Goal/index.html | 2 +- elpi/Elpi_parser/Ast/Macro/index.html | 2 +- elpi/Elpi_parser/Ast/Mode/index.html | 2 +- elpi/Elpi_parser/Ast/Program/index.html | 2 +- elpi/Elpi_parser/Ast/Structured/index.html | 2 +- elpi/Elpi_parser/Ast/Term/index.html | 2 +- elpi/Elpi_parser/Ast/Type/index.html | 2 +- .../Ast/TypeAbbreviation/index.html | 2 +- elpi/Elpi_parser/Ast/index.html | 2 +- elpi/Elpi_parser/Error_messages/index.html | 2 +- .../Grammar/Make/argument-1-C/index.html | 2 +- elpi/Elpi_parser/Grammar/Make/index.html | 2 +- elpi/Elpi_parser/Grammar/index.html | 2 +- elpi/Elpi_parser/Lexer/index.html | 2 +- .../Parse/Make/Internal/index.html | 2 +- .../Parse/Make/argument-1-C/index.html | 2 +- elpi/Elpi_parser/Parse/Make/index.html | 2 +- elpi/Elpi_parser/Parse/index.html | 2 +- .../Parse/module-type-Config/index.html | 2 +- .../Parse/module-type-Parser/index.html | 2 +- .../Internal/index.html | 2 +- .../module-type-Parser_w_Internals/index.html | 2 +- elpi/Elpi_parser/Parser_config/index.html | 2 +- .../module-type-ParseFile/index.html | 2 +- elpi/Elpi_parser/index.html | 2 +- elpi/Elpi_util/Util/Bool/index.html | 2 +- elpi/Elpi_util/Util/CData/index.html | 2 +- elpi/Elpi_util/Util/Digest/index.html | 2 +- elpi/Elpi_util/Util/Fork/index.html | 2 +- .../Util/Hashtbl/Make/argument-1-H/index.html | 2 +- elpi/Elpi_util/Util/Hashtbl/Make/index.html | 2 +- .../MakeSeeded/argument-1-H/index.html | 2 +- .../Util/Hashtbl/MakeSeeded/index.html | 2 +- elpi/Elpi_util/Util/Hashtbl/index.html | 2 +- .../Hashtbl/module-type-HashedType/index.html | 2 +- .../Util/Hashtbl/module-type-S/index.html | 2 +- .../module-type-SeededHashedType/index.html | 2 +- .../Hashtbl/module-type-SeededS/index.html | 2 +- elpi/Elpi_util/Util/Int/index.html | 2 +- elpi/Elpi_util/Util/IntMap/index.html | 2 +- elpi/Elpi_util/Util/IntSet/index.html | 2 +- elpi/Elpi_util/Util/Loc/index.html | 2 +- .../Util/Map/Make/argument-1-Ord/index.html | 2 +- elpi/Elpi_util/Util/Map/Make/index.html | 2 +- elpi/Elpi_util/Util/Map/index.html | 2 +- .../Map/module-type-OrderedType/index.html | 2 +- .../Util/Map/module-type-S/index.html | 2 +- .../Util/Set/Make/argument-1-Ord/index.html | 2 +- elpi/Elpi_util/Util/Set/Make/index.html | 2 +- elpi/Elpi_util/Util/Set/index.html | 2 +- .../Set/module-type-OrderedType/index.html | 2 +- .../Util/Set/module-type-S/index.html | 2 +- elpi/Elpi_util/Util/StrMap/index.html | 2 +- elpi/Elpi_util/Util/StrSet/index.html | 2 +- elpi/Elpi_util/Util/String/index.html | 2 +- elpi/Elpi_util/Util/UUID/Htbl/index.html | 2 +- elpi/Elpi_util/Util/UUID/index.html | 2 +- elpi/Elpi_util/Util/index.html | 2 +- .../Util/module-type-Show/index.html | 2 +- .../Util/module-type-Show1/index.html | 2 +- .../Util/module-type-Show2/index.html | 2 +- elpi/Elpi_util/index.html | 2 +- elpi/Trace_ppx/index.html | 2 +- elpi/Trace_ppx_runtime/Runtime/index.html | 2 +- elpi/Trace_ppx_runtime/index.html | 2 +- elpi/index.html | 2 +- odoc.support/odoc.css | 467 ++++++++++++++++-- odoc.support/odoc_search.js | 66 +++ playground.html | 214 ++++---- searchindex.js | 2 +- 133 files changed, 840 insertions(+), 381 deletions(-) create mode 100644 odoc.support/odoc_search.js diff --git a/_sources/playground.rst.txt b/_sources/playground.rst.txt index ad7d97365..9fc22a980 100644 --- a/_sources/playground.rst.txt +++ b/_sources/playground.rst.txt @@ -151,7 +151,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.068 + Typechecking time: 0.065 **../../tests/sources/accumulate_twice2.elpi :** @@ -173,7 +173,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.073 + Typechecking time: 0.071 **../../tests/sources/accumulated.elpi :** @@ -195,7 +195,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.069 + Typechecking time: 0.068 **../../tests/sources/ackermann.elpi :** @@ -224,7 +224,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.077 + Typechecking time: 0.075 Success: @@ -262,7 +262,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.077 + Typechecking time: 0.076 Success: @@ -301,7 +301,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.078 + Typechecking time: 0.076 Success: @@ -369,7 +369,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.081 + Typechecking time: 0.079 Success: @@ -404,7 +404,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.068 + Typechecking time: 0.067 Success: @@ -438,7 +438,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.075 + Typechecking time: 0.073 Success: @@ -466,7 +466,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.063 Success: @@ -500,7 +500,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.071 + Typechecking time: 0.070 Success: @@ -553,7 +553,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.074 + Typechecking time: 0.073 Success: @@ -620,7 +620,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.065 + Typechecking time: 0.064 Success: @@ -669,7 +669,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.094 + Typechecking time: 0.092 Success: @@ -717,7 +717,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.094 + Typechecking time: 0.093 Success: @@ -760,7 +760,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.083 + Typechecking time: 0.081 Success: @@ -786,7 +786,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.066 + Typechecking time: 0.065 Success: @@ -840,7 +840,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.101 + Typechecking time: 0.099 Success: @@ -943,7 +943,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.072 + Typechecking time: 0.070 Success: @@ -981,7 +981,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.076 + Typechecking time: 0.073 Fatal error: Unification problem outside the pattern fragment. ((Data.Term.App (f, (Data.Term.Const x), [])) == (Data.Term.AppUVar ( { Data.Term.contents = please extend this printer; uid_private = 41508 }, 0, @@ -1045,7 +1045,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.078 + Typechecking time: 0.077 Success: @@ -1131,7 +1131,7 @@ Test Bed Compilation time: 0.002 - Typechecking time: 0.100 + Typechecking time: 0.097 Type error. To ignore it, pass -no-tc. **../../tests/sources/even-odd.elpi @@ -1205,7 +1205,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.089 + Typechecking time: 0.087 Success: @@ -1242,7 +1242,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.073 + Typechecking time: 0.070 Success: @@ -1319,7 +1319,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.076 + Typechecking time: 0.075 Success: @@ -1362,7 +1362,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.080 + Typechecking time: 0.079 Success: @@ -1400,7 +1400,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.076 + Typechecking time: 0.074 Success: @@ -1493,7 +1493,7 @@ Test Bed Compilation time: 0.002 - Typechecking time: 0.108 + Typechecking time: 0.107 Success: @@ -1519,7 +1519,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.066 Success: @@ -1586,7 +1586,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.071 + Typechecking time: 0.070 Success: @@ -1695,7 +1695,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.063 Success: @@ -1785,7 +1785,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.082 + Typechecking time: 0.080 Success: @@ -1817,11 +1817,11 @@ Test Bed Compilation time: 0.002 - Typechecking time: 0.081 + Typechecking time: 0.080 Success: - Time: 1.768 + Time: 1.756 Constraints: @@ -1850,7 +1850,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.068 + Typechecking time: 0.066 Success: @@ -1896,7 +1896,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.093 + Typechecking time: 0.091 Success: @@ -1938,7 +1938,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.082 + Typechecking time: 0.087 Success: @@ -2000,11 +2000,11 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.107 + Typechecking time: 0.106 Success: - Time: 0.300 + Time: 0.296 Constraints: @@ -2036,7 +2036,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.067 + Typechecking time: 0.068 Success: @@ -2062,7 +2062,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.063 Success: @@ -2296,7 +2296,7 @@ Test Bed Compilation time: 0.002 - Typechecking time: 0.112 + Typechecking time: 0.109 Success: @@ -2360,7 +2360,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.109 + Typechecking time: 0.108 Success: @@ -2381,7 +2381,7 @@ Test Bed .. code-block:: console - 1.278063 + 0.056375 + 0.920249 + 1.338665 + 0.054629 + 0.967089 .. code-block:: console @@ -2395,7 +2395,7 @@ Test Bed Success: - Time: 2.481 + Time: 2.587 Constraints: @@ -2412,7 +2412,7 @@ Test Bed .. code-block:: console - 5.942532 + 2.822595 + 0.355139 + 5.807320 + 2.611266 + 0.368343 .. code-block:: console @@ -2426,7 +2426,7 @@ Test Bed Success: - Time: 9.127 + Time: 8.794 Constraints: @@ -2443,7 +2443,7 @@ Test Bed .. code-block:: console - 5.363949 + 2.558965 + 0.226874 + 5.260207 + 2.487699 + 0.227113 .. code-block:: console @@ -2457,7 +2457,7 @@ Test Bed Success: - Time: 8.156 + Time: 7.981 Constraints: @@ -2485,7 +2485,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.067 + Typechecking time: 0.065 Type error. To ignore it, pass -no-tc. **../../tests/sources/named_clauses00.elpi @@ -2535,7 +2535,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.069 + Typechecking time: 0.067 Success: @@ -2567,7 +2567,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.070 + Typechecking time: 0.068 Success: @@ -2639,7 +2639,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.084 + Typechecking time: 0.082 Success: @@ -2683,7 +2683,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.096 + Typechecking time: 0.095 Success: @@ -2767,7 +2767,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.104 + Typechecking time: 0.103 Success: @@ -2889,7 +2889,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.080 + Typechecking time: 0.078 Success: @@ -2924,7 +2924,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.073 + Typechecking time: 0.070 Success: @@ -2966,7 +2966,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.083 + Typechecking time: 0.081 Success: @@ -3000,7 +3000,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.073 + Typechecking time: 0.070 Success: @@ -3044,7 +3044,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.092 + Typechecking time: 0.089 Success: @@ -3095,7 +3095,7 @@ Test Bed Compilation time: 0.002 - Typechecking time: 0.099 + Typechecking time: 0.097 Success: @@ -3175,7 +3175,7 @@ Test Bed Compilation time: 0.002 - Typechecking time: 0.128 + Typechecking time: 0.119 Success: @@ -3250,7 +3250,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.111 + Typechecking time: 0.103 Type error. To ignore it, pass -no-tc. **../../tests/sources/queens.elpi @@ -3306,11 +3306,11 @@ Test Bed Compilation time: 0.002 - Typechecking time: 0.114 + Typechecking time: 0.109 Success: - Time: 1.510 + Time: 1.453 Constraints: @@ -3340,11 +3340,11 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.066 + Typechecking time: 0.064 Success: - Time: 0.014 + Time: 0.013 Constraints: @@ -3361,7 +3361,7 @@ Test Bed .. code-block:: console - 5 + 9 .. code-block:: console @@ -3371,7 +3371,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.063 Success: @@ -3417,11 +3417,11 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.090 + Typechecking time: 0.089 Success: - Time: 0.246 + Time: 0.245 Constraints: @@ -3463,11 +3463,11 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.090 + Typechecking time: 0.088 Success: - Time: 1.860 + Time: 1.790 Constraints: @@ -3495,7 +3495,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.065 + Typechecking time: 0.063 **../../tests/sources/restriction3.elpi :** @@ -3525,7 +3525,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.071 + Typechecking time: 0.070 Success: @@ -3562,7 +3562,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.069 + Typechecking time: 0.067 Success: @@ -3631,7 +3631,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.069 + Typechecking time: 0.067 Success: @@ -3683,11 +3683,11 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.106 + Typechecking time: 0.103 Success: - Time: 0.141 + Time: 0.139 Constraints: @@ -3735,11 +3735,11 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.111 + Typechecking time: 0.109 Success: - Time: 0.142 + Time: 0.139 Constraints: @@ -3798,7 +3798,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.071 + Typechecking time: 0.070 Success: @@ -3819,7 +3819,7 @@ Test Bed .. code-block:: console - 1.124322 + 0.052078 + 0.786915 + 1.138590 + 0.049548 + 0.797339 .. code-block:: console @@ -3833,7 +3833,7 @@ Test Bed Success: - Time: 2.057 + Time: 2.077 Constraints: @@ -3905,7 +3905,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.080 + Typechecking time: 0.079 Success: @@ -3937,7 +3937,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.070 + Typechecking time: 0.067 **../../tests/sources/shorten_aux2.elpi :** @@ -3982,7 +3982,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.063 Success: @@ -4024,7 +4024,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.079 + Typechecking time: 0.077 Success: @@ -4055,7 +4055,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.065 + Typechecking time: 0.063 Success: @@ -4118,7 +4118,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.062 Success: @@ -4238,7 +4238,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.065 + Typechecking time: 0.063 Success: @@ -4272,7 +4272,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.068 + Typechecking time: 0.067 Success: @@ -4318,7 +4318,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.086 + Typechecking time: 0.085 Success: @@ -4370,7 +4370,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.062 Success: @@ -4410,7 +4410,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.066 + Typechecking time: 0.065 Type error. To ignore it, pass -no-tc. **../../tests/sources/typeabbrv11.elpi @@ -4433,7 +4433,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.062 Type error. To ignore it, pass -no-tc. **../../tests/sources/typeabbrv12.elpi @@ -4456,7 +4456,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.065 Type error. To ignore it, pass -no-tc. **../../tests/sources/typeabbrv2.elpi @@ -4486,7 +4486,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.065 + Typechecking time: 0.063 Success: @@ -4512,7 +4512,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.065 + Typechecking time: 0.062 Success: @@ -4566,7 +4566,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.063 Success: @@ -4592,7 +4592,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.065 + Typechecking time: 0.063 Success: @@ -4618,7 +4618,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.073 + Typechecking time: 0.063 Success: @@ -4644,7 +4644,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.063 + Typechecking time: 0.062 Success: @@ -4680,7 +4680,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.073 + Typechecking time: 0.072 Success: @@ -4713,7 +4713,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.065 + Typechecking time: 0.064 Success: @@ -4745,7 +4745,7 @@ Test Bed Compilation time: 0.001 - Typechecking time: 0.064 + Typechecking time: 0.063 Success: @@ -4822,7 +4822,7 @@ Test Bed Compilation time: 0.002 - Typechecking time: 0.118 + Typechecking time: 0.114 Success: diff --git a/elpi/Elpi/API/AlgebraicData/index.html b/elpi/Elpi/API/AlgebraicData/index.html index e27ff54a5..62a04f5b0 100644 --- a/elpi/Elpi/API/AlgebraicData/index.html +++ b/elpi/Elpi/API/AlgebraicData/index.html @@ -1,5 +1,5 @@ -AlgebraicData (elpi.Elpi.API.AlgebraicData)

Module API.AlgebraicData

Declare data from the host application that has syntax, like list or pair but not like int. So far there is no support for data with binder using this API. The type of each constructor is described using a GADT so that the code to build or match the data can be given the right type. Example: define the ADT for "option a"

let option_declaration a = {
+AlgebraicData (elpi.Elpi.API.AlgebraicData)

Module API.AlgebraicData

Declare data from the host application that has syntax, like list or pair but not like int. So far there is no support for data with binder using this API. The type of each constructor is described using a GADT so that the code to build or match the data can be given the right type. Example: define the ADT for "option a"

let option_declaration a = {
   ty = TyApp("option",a.ty,[]);
   doc = "The option type (aka Maybe)";
   pp = (fun fmt -> function
diff --git a/elpi/Elpi/API/Ast/Loc/index.html b/elpi/Elpi/API/Ast/Loc/index.html
index ab2e29ddf..09d24a293 100644
--- a/elpi/Elpi/API/Ast/Loc/index.html
+++ b/elpi/Elpi/API/Ast/Loc/index.html
@@ -1,2 +1,2 @@
 
-Loc (elpi.Elpi.API.Ast.Loc)

Module Ast.Loc

type t = {
  1. source_name : string;
  2. source_start : int;
  3. source_stop : int;
  4. line : int;
  5. line_starts_at : int;
}
val pp : Stdlib.Format.formatter -> t -> unit
val show : t -> string
val equal : t -> t -> bool
val compare : t -> t -> int
val initial : string -> t
+Loc (elpi.Elpi.API.Ast.Loc)

Module Ast.Loc

type t = {
  1. source_name : string;
  2. source_start : int;
  3. source_stop : int;
  4. line : int;
  5. line_starts_at : int;
}
val pp : Stdlib.Format.formatter -> t -> unit
val show : t -> string
val equal : t -> t -> bool
val compare : t -> t -> int
val initial : string -> t
diff --git a/elpi/Elpi/API/Ast/index.html b/elpi/Elpi/API/Ast/index.html index 8319849e9..365802f7e 100644 --- a/elpi/Elpi/API/Ast/index.html +++ b/elpi/Elpi/API/Ast/index.html @@ -1,2 +1,2 @@ -Ast (elpi.Elpi.API.Ast)

Module API.Ast

type program
type query
module Loc : sig ... end
+Ast (elpi.Elpi.API.Ast)

Module API.Ast

type program
type query
module Loc : sig ... end
diff --git a/elpi/Elpi/API/BuiltIn/index.html b/elpi/Elpi/API/BuiltIn/index.html index 8be020f6f..e65019b6b 100644 --- a/elpi/Elpi/API/BuiltIn/index.html +++ b/elpi/Elpi/API/BuiltIn/index.html @@ -1,5 +1,5 @@ -BuiltIn (elpi.Elpi.API.BuiltIn)

Module API.BuiltIn

Setup.init takes a list of declarations of data types and predicates, plus some doc and eventually some Elpi code. All this constitutes the "prelude", that is what is avaiable to an Elpi program

type doc_spec =
  1. | DocAbove
  2. | DocNext

Where to print the documentation. For the running example DocAbove * generates * % div N M D R division of N by M gives D with reminder R * pred div i:int, i:int, o:int, o:int. * while DocNext generates * pred div % division of N by M gives D with reminder R * i:int, % N * i:int, % M * o:int, % D * o:int. % R * The latter format it is useful to give longer doc for each argument.

type declaration =
  1. | MLCode of BuiltInPredicate.t * doc_spec
  2. | MLData : 'a Conversion.t -> declaration
  3. | MLDataC : ('a, 'h, 'c) ContextualConversion.t -> declaration
  4. | LPDoc of string
  5. | LPCode of string
val declare : file_name:string -> declaration list -> Setup.builtins

What is passed to Setup.init

val document_fmt : +BuiltIn (elpi.Elpi.API.BuiltIn)

Module API.BuiltIn

Setup.init takes a list of declarations of data types and predicates, plus some doc and eventually some Elpi code. All this constitutes the "prelude", that is what is avaiable to an Elpi program

type doc_spec =
  1. | DocAbove
  2. | DocNext

Where to print the documentation. For the running example DocAbove * generates * % div N M D R division of N by M gives D with reminder R * pred div i:int, i:int, o:int, o:int. * while DocNext generates * pred div % division of N by M gives D with reminder R * i:int, % N * i:int, % M * o:int, % D * o:int. % R * The latter format it is useful to give longer doc for each argument.

type declaration =
  1. | MLCode of BuiltInPredicate.t * doc_spec
  2. | MLData : 'a Conversion.t -> declaration
  3. | MLDataC : ('a, 'h, 'c) ContextualConversion.t -> declaration
  4. | LPDoc of string
  5. | LPCode of string
val declare : file_name:string -> declaration list -> Setup.builtins

What is passed to Setup.init

val document_fmt : Stdlib.Format.formatter -> ?calc:Setup.calc_descriptor -> Setup.builtins -> diff --git a/elpi/Elpi/API/BuiltInData/index.html b/elpi/Elpi/API/BuiltInData/index.html index 10a1893d4..2fda50bcd 100644 --- a/elpi/Elpi/API/BuiltInData/index.html +++ b/elpi/Elpi/API/BuiltInData/index.html @@ -1,2 +1,2 @@ -BuiltInData (elpi.Elpi.API.BuiltInData)

Module API.BuiltInData

Conversion for Elpi's built-in data types

val int : int Conversion.t

See Elpi.Builtin for a few more

val float : float Conversion.t
val string : string Conversion.t
val list : 'a Conversion.t -> 'a list Conversion.t
val poly : string -> Data.term Conversion.t
val closed : string -> (Data.term * int) Conversion.t
+BuiltInData (elpi.Elpi.API.BuiltInData)

Module API.BuiltInData

Conversion for Elpi's built-in data types

val int : int Conversion.t

See Elpi.Builtin for a few more

val float : float Conversion.t
val string : string Conversion.t
val list : 'a Conversion.t -> 'a list Conversion.t
val poly : string -> Data.term Conversion.t
val closed : string -> (Data.term * int) Conversion.t
diff --git a/elpi/Elpi/API/BuiltInPredicate/HOAdaptors/index.html b/elpi/Elpi/API/BuiltInPredicate/HOAdaptors/index.html index 94e09479b..ba560dd6f 100644 --- a/elpi/Elpi/API/BuiltInPredicate/HOAdaptors/index.html +++ b/elpi/Elpi/API/BuiltInPredicate/HOAdaptors/index.html @@ -1,5 +1,5 @@ -HOAdaptors (elpi.Elpi.API.BuiltInPredicate.HOAdaptors)

Module BuiltInPredicate.HOAdaptors

Adaptors for standard HO functions

type 'a pred1
type ('a, 'b) pred2
type ('a, 'b, 'c) pred3
val pred1 : 'a Conversion.t -> 'a pred1 Conversion.t
val pred2 : 'a Conversion.t -> 'b Conversion.t -> ('a, 'b) pred2 Conversion.t
val pred3 : +HOAdaptors (elpi.Elpi.API.BuiltInPredicate.HOAdaptors)

Module BuiltInPredicate.HOAdaptors

Adaptors for standard HO functions

type 'a pred1
type ('a, 'b) pred2
type ('a, 'b, 'c) pred3
val pred1 : 'a Conversion.t -> 'a pred1 Conversion.t
val pred2 : 'a Conversion.t -> 'b Conversion.t -> ('a, 'b) pred2 Conversion.t
val pred3 : 'a Conversion.t -> 'b Conversion.t -> 'c Conversion.t -> diff --git a/elpi/Elpi/API/BuiltInPredicate/Notation/index.html b/elpi/Elpi/API/BuiltInPredicate/Notation/index.html index 8974d3817..ba3d9503b 100644 --- a/elpi/Elpi/API/BuiltInPredicate/Notation/index.html +++ b/elpi/Elpi/API/BuiltInPredicate/Notation/index.html @@ -1,2 +1,2 @@ -Notation (elpi.Elpi.API.BuiltInPredicate.Notation)

Module BuiltInPredicate.Notation

val (?:) : 'a -> unit * 'a
val (!:) : 'a -> unit * 'a option
val (+?) : 'a -> 'b -> 'a * 'b
val (+!) : 'a -> 'b -> 'a * 'b option
+Notation (elpi.Elpi.API.BuiltInPredicate.Notation)

Module BuiltInPredicate.Notation

val (?:) : 'a -> unit * 'a
val (!:) : 'a -> unit * 'a option
val (+?) : 'a -> 'b -> 'a * 'b
val (+!) : 'a -> 'b -> 'a * 'b option
diff --git a/elpi/Elpi/API/BuiltInPredicate/index.html b/elpi/Elpi/API/BuiltInPredicate/index.html index 62e66a45d..14f24f11d 100644 --- a/elpi/Elpi/API/BuiltInPredicate/index.html +++ b/elpi/Elpi/API/BuiltInPredicate/index.html @@ -1,5 +1,5 @@ -BuiltInPredicate (elpi.Elpi.API.BuiltInPredicate)

Module API.BuiltInPredicate

exception No_clause
type name = string
type doc = string
type 'a oarg =
  1. | Keep
  2. | Discard
type 'a ioarg = private
  1. | Data of 'a
  2. | NoData
type once
type ('function_type, 'inernal_outtype_in, 'internal_hyps, 'internal_constraints) +BuiltInPredicate (elpi.Elpi.API.BuiltInPredicate)

Module API.BuiltInPredicate

exception No_clause
type name = string
type doc = string
type 'a oarg =
  1. | Keep
  2. | Discard
type 'a ioarg = private
  1. | Data of 'a
  2. | NoData
type once
type ('function_type, 'inernal_outtype_in, 'internal_hyps, 'internal_constraints) ffi =
  1. | In : 't Conversion.t * doc * ('i, 'o, 'h, 'c) ffi -> ('t -> 'i, 'o, 'h, 'c) ffi
  2. | Out : 't Conversion.t * doc diff --git a/elpi/Elpi/API/Calc/index.html b/elpi/Elpi/API/Calc/index.html index fd737f3e7..d89b36e78 100644 --- a/elpi/Elpi/API/Calc/index.html +++ b/elpi/Elpi/API/Calc/index.html @@ -1,5 +1,5 @@ -Calc (elpi.Elpi.API.Calc)

    Module API.Calc

    type operation_declaration = {
    1. symbol : string;
    2. infix : bool;
    3. args : string list list;
    4. code : Data.term list -> Data.term;
    }
    val register : +Calc (elpi.Elpi.API.Calc)

    Module API.Calc

    type operation_declaration = {
    1. symbol : string;
    2. infix : bool;
    3. args : string list list;
    4. code : Data.term list -> Data.term;
    }
    val register : descriptor:Setup.calc_descriptor -> operation_declaration -> unit

    Registering an operation

    val new_calc_descriptor : unit -> Setup.calc_descriptor

    An empty descriptor for registering operations

    val default_calc : operation_declaration list

    Standard operations

    val calc : BuiltIn.declaration list

    The calc and is declarations

    val eval : depth:int -> State.t -> Data.term -> Data.term

    for use in other builtins

    diff --git a/elpi/Elpi/API/Compile/StrSet/index.html b/elpi/Elpi/API/Compile/StrSet/index.html index 715137a08..68c17aee7 100644 --- a/elpi/Elpi/API/Compile/StrSet/index.html +++ b/elpi/Elpi/API/Compile/StrSet/index.html @@ -1,2 +1,2 @@ -StrSet (elpi.Elpi.API.Compile.StrSet)

    Module Compile.StrSet

    include Stdlib.Set.S with type elt = string
    type elt = string
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val show : t -> string
    val pp : Stdlib.Format.formatter -> t -> unit
    +StrSet (elpi.Elpi.API.Compile.StrSet)

    Module Compile.StrSet

    include Stdlib.Set.S with type elt = string
    type elt = string
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val show : t -> string
    val pp : Stdlib.Format.formatter -> t -> unit
    diff --git a/elpi/Elpi/API/Compile/index.html b/elpi/Elpi/API/Compile/index.html index e1741270a..e995b96b0 100644 --- a/elpi/Elpi/API/Compile/index.html +++ b/elpi/Elpi/API/Compile/index.html @@ -1,5 +1,5 @@ -Compile (elpi.Elpi.API.Compile)

    Module API.Compile

    module StrSet : sig ... end
    type flags = {
    1. defined_variables : StrSet.t;
    2. print_passes : bool;
    3. print_units : bool;
    }
    val default_flags : flags
    val to_setup_flags : flags -> Setup.flags
    type program
    type 'a query
    type 'a executable
    exception CompileError of Ast.Loc.t option * string
    val program : ?flags:flags -> elpi:Setup.elpi -> Ast.program list -> program
    type compilation_unit
    val unit : ?flags:flags -> elpi:Setup.elpi -> Ast.program -> compilation_unit
    val assemble : +Compile (elpi.Elpi.API.Compile)

    Module API.Compile

    module StrSet : sig ... end
    type flags = {
    1. defined_variables : StrSet.t;
    2. print_passes : bool;
    3. print_units : bool;
    }
    val default_flags : flags
    val to_setup_flags : flags -> Setup.flags
    type program
    type 'a query
    type 'a executable
    exception CompileError of Ast.Loc.t option * string
    val program : ?flags:flags -> elpi:Setup.elpi -> Ast.program list -> program
    type compilation_unit
    val unit : ?flags:flags -> elpi:Setup.elpi -> Ast.program -> compilation_unit
    val assemble : ?flags:flags -> elpi:Setup.elpi -> compilation_unit list -> diff --git a/elpi/Elpi/API/ContextualConversion/index.html b/elpi/Elpi/API/ContextualConversion/index.html index ac02a3258..9936d28a3 100644 --- a/elpi/Elpi/API/ContextualConversion/index.html +++ b/elpi/Elpi/API/ContextualConversion/index.html @@ -1,5 +1,5 @@ -ContextualConversion (elpi.Elpi.API.ContextualConversion)

    Module API.ContextualConversion

    This module defines what embedding and readback functions are for datatypes that need the context of the program (hypothetical clauses and constraints)

    type ty_ast = Conversion.ty_ast =
    1. | TyName of string
    2. | TyApp of string * ty_ast * ty_ast list
    type ('a, 'hyps, 'constraints) embedding = +ContextualConversion (elpi.Elpi.API.ContextualConversion)

    Module API.ContextualConversion

    This module defines what embedding and readback functions are for datatypes that need the context of the program (hypothetical clauses and constraints)

    type ty_ast = Conversion.ty_ast =
    1. | TyName of string
    2. | TyApp of string * ty_ast * ty_ast list
    type ('a, 'hyps, 'constraints) embedding = depth:int -> 'hyps -> 'constraints -> diff --git a/elpi/Elpi/API/Conversion/index.html b/elpi/Elpi/API/Conversion/index.html index 5cff82135..6ebc4b843 100644 --- a/elpi/Elpi/API/Conversion/index.html +++ b/elpi/Elpi/API/Conversion/index.html @@ -1,5 +1,5 @@ -Conversion (elpi.Elpi.API.Conversion)

    Module API.Conversion

    This module defines what embedding and readback functions are

    type ty_ast =
    1. | TyName of string
    2. | TyApp of string * ty_ast * ty_ast list
    type extra_goal = ..
    type extra_goal +=
    1. | Unify of Data.term * Data.term
    type extra_goals = extra_goal list
    type 'a embedding = +Conversion (elpi.Elpi.API.Conversion)

    Module API.Conversion

    This module defines what embedding and readback functions are

    type ty_ast =
    1. | TyName of string
    2. | TyApp of string * ty_ast * ty_ast list
    type extra_goal = ..
    type extra_goal +=
    1. | Unify of Data.term * Data.term
    type extra_goals = extra_goal list
    type 'a embedding = depth:int -> Data.state -> 'a -> diff --git a/elpi/Elpi/API/Data/StrMap/index.html b/elpi/Elpi/API/Data/StrMap/index.html index c54f10ceb..9f8f71479 100644 --- a/elpi/Elpi/API/Data/StrMap/index.html +++ b/elpi/Elpi/API/Data/StrMap/index.html @@ -1,5 +1,5 @@ -StrMap (elpi.Elpi.API.Data.StrMap)

    Module Data.StrMap

    include Stdlib.Map.S with type key = string
    type key = string
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +StrMap (elpi.Elpi.API.Data.StrMap)

    Module Data.StrMap

    include Stdlib.Map.S with type key = string
    type key = string
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/elpi/Elpi/API/Data/index.html b/elpi/Elpi/API/Data/index.html index 7259d3313..9a409ff89 100644 --- a/elpi/Elpi/API/Data/index.html +++ b/elpi/Elpi/API/Data/index.html @@ -1,5 +1,5 @@ -Data (elpi.Elpi.API.Data)

    Module API.Data

    module StrMap : sig ... end
    type term
    type constraints
    type state
    type pretty_printer_context
    type 'a solution = {
    1. assignments : term StrMap.t;
    2. constraints : constraints;
    3. state : state;
    4. output : 'a;
    5. pp_ctx : pretty_printer_context;
    6. relocate_assignment_to_runtime : target:state -> +Data (elpi.Elpi.API.Data)

      Module API.Data

      module StrMap : sig ... end
      type term
      type constraints
      type state
      type pretty_printer_context
      type 'a solution = {
      1. assignments : term StrMap.t;
      2. constraints : constraints;
      3. state : state;
      4. output : 'a;
      5. pp_ctx : pretty_printer_context;
      6. relocate_assignment_to_runtime : target:state -> depth:int -> string -> (term, string) Stdlib.Result.t;
      }
      type hyp
      type hyps = hyp list
      diff --git a/elpi/Elpi/API/Execute/index.html b/elpi/Elpi/API/Execute/index.html index 3012e7602..2e3e135c5 100644 --- a/elpi/Elpi/API/Execute/index.html +++ b/elpi/Elpi/API/Execute/index.html @@ -1,5 +1,5 @@ -Execute (elpi.Elpi.API.Execute)

      Module API.Execute

      type 'a outcome =
      1. | Success of 'a Data.solution
      2. | Failure
      3. | NoMoreSteps
      val once : +Execute (elpi.Elpi.API.Execute)

      Module API.Execute

      type 'a outcome =
      1. | Success of 'a Data.solution
      2. | Failure
      3. | NoMoreSteps
      val once : ?max_steps:int -> ?delay_outside_fragment:bool -> 'a Compile.executable -> diff --git a/elpi/Elpi/API/FlexibleData/Elpi/index.html b/elpi/Elpi/API/FlexibleData/Elpi/index.html index 68830fee6..c4b5bd734 100644 --- a/elpi/Elpi/API/FlexibleData/Elpi/index.html +++ b/elpi/Elpi/API/FlexibleData/Elpi/index.html @@ -1,2 +1,2 @@ -Elpi (elpi.Elpi.API.FlexibleData.Elpi)

      Module FlexibleData.Elpi

      key for Elpi's flexible data

      type t
      val make : ?name:string -> Data.state -> Data.state * t
      val get : name:string -> Data.state -> t option
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val hash : t -> int
      +Elpi (elpi.Elpi.API.FlexibleData.Elpi)

      Module FlexibleData.Elpi

      key for Elpi's flexible data

      type t
      val make : ?name:string -> Data.state -> Data.state * t
      val get : name:string -> Data.state -> t option
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val hash : t -> int
      diff --git a/elpi/Elpi/API/FlexibleData/Map/argument-1-Host/index.html b/elpi/Elpi/API/FlexibleData/Map/argument-1-Host/index.html index 29ef40fc9..107ca46a7 100644 --- a/elpi/Elpi/API/FlexibleData/Map/argument-1-Host/index.html +++ b/elpi/Elpi/API/FlexibleData/Map/argument-1-Host/index.html @@ -1,2 +1,2 @@ -Host (elpi.Elpi.API.FlexibleData.Map.Host)

      Parameter Map.Host

      type t
      val compare : t -> t -> int
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Host (elpi.Elpi.API.FlexibleData.Map.Host)

      Parameter Map.Host

      type t
      val compare : t -> t -> int
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/FlexibleData/Map/index.html b/elpi/Elpi/API/FlexibleData/Map/index.html index 6114bf375..0c48a728c 100644 --- a/elpi/Elpi/API/FlexibleData/Map/index.html +++ b/elpi/Elpi/API/FlexibleData/Map/index.html @@ -1,2 +1,2 @@ -Map (elpi.Elpi.API.FlexibleData.Map)

      Module FlexibleData.Map

      Parameters

      module Host : Host

      Signature

      type t
      val empty : t
      val add : Elpi.t -> Host.t -> t -> t
      val remove_elpi : Elpi.t -> t -> t
      val remove_host : Host.t -> t -> t
      val filter : (Host.t -> Elpi.t -> bool) -> t -> t
      val fold : (Host.t -> Elpi.t -> Data.term option -> 'a -> 'a) -> t -> 'a -> 'a
      val elpi : Host.t -> t -> Elpi.t
      val host : Elpi.t -> t -> Host.t
      val uvmap : t State.component
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Map (elpi.Elpi.API.FlexibleData.Map)

      Module FlexibleData.Map

      Parameters

      module Host : Host

      Signature

      type t
      val empty : t
      val add : Elpi.t -> Host.t -> t -> t
      val remove_elpi : Elpi.t -> t -> t
      val remove_host : Host.t -> t -> t
      val filter : (Host.t -> Elpi.t -> bool) -> t -> t
      val fold : (Host.t -> Elpi.t -> Data.term option -> 'a -> 'a) -> t -> 'a -> 'a
      val elpi : Host.t -> t -> Elpi.t
      val host : Elpi.t -> t -> Host.t
      val uvmap : t State.component
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/FlexibleData/index.html b/elpi/Elpi/API/FlexibleData/index.html index 2edec3dbb..14903c185 100644 --- a/elpi/Elpi/API/FlexibleData/index.html +++ b/elpi/Elpi/API/FlexibleData/index.html @@ -1,5 +1,5 @@ -FlexibleData (elpi.Elpi.API.FlexibleData)

      Module API.FlexibleData

      Flexible data is for unification variables. One can use Elpi's unification variables to represent the host equivalent, here the API the keep a link between the two.

      module Elpi : sig ... end

      key for Elpi's flexible data

      module type Host = sig ... end
      module Map (Host : Host) : sig ... end
      module type Show = sig ... end

      Example from Hol-light + elpi:

      module UV2STV = FlexibleData.Map(struct
      +FlexibleData (elpi.Elpi.API.FlexibleData)

      Module API.FlexibleData

      Flexible data is for unification variables. One can use Elpi's unification variables to represent the host equivalent, here the API the keep a link between the two.

      module Elpi : sig ... end

      key for Elpi's flexible data

      module type Host = sig ... end
      module Map (Host : Host) : sig ... end
      module type Show = sig ... end

      Example from Hol-light + elpi:

      module UV2STV = FlexibleData.Map(struct
          type t = int
          let compare x y = x - y
          let pp fmt i = Format.fprintf fmt "%d" i
      diff --git a/elpi/Elpi/API/FlexibleData/module-type-Host/index.html b/elpi/Elpi/API/FlexibleData/module-type-Host/index.html
      index aadca1926..ae73e6197 100644
      --- a/elpi/Elpi/API/FlexibleData/module-type-Host/index.html
      +++ b/elpi/Elpi/API/FlexibleData/module-type-Host/index.html
      @@ -1,2 +1,2 @@
       
      -Host (elpi.Elpi.API.FlexibleData.Host)

      Module type FlexibleData.Host

      type t
      val compare : t -> t -> int
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Host (elpi.Elpi.API.FlexibleData.Host)

      Module type FlexibleData.Host

      type t
      val compare : t -> t -> int
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/FlexibleData/module-type-Show/index.html b/elpi/Elpi/API/FlexibleData/module-type-Show/index.html index 6925b0594..568f5233c 100644 --- a/elpi/Elpi/API/FlexibleData/module-type-Show/index.html +++ b/elpi/Elpi/API/FlexibleData/module-type-Show/index.html @@ -1,2 +1,2 @@ -Show (elpi.Elpi.API.FlexibleData.Show)

      Module type FlexibleData.Show

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Show (elpi.Elpi.API.FlexibleData.Show)

      Module type FlexibleData.Show

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/OpaqueData/index.html b/elpi/Elpi/API/OpaqueData/index.html index 4e107e08b..f87d02f9f 100644 --- a/elpi/Elpi/API/OpaqueData/index.html +++ b/elpi/Elpi/API/OpaqueData/index.html @@ -1,2 +1,2 @@ -OpaqueData (elpi.Elpi.API.OpaqueData)

      Module API.OpaqueData

      Declare data from the host application that is opaque (no syntax), like int but not like list or pair

      type doc = string
      type name = string
      type 'a declaration = {
      1. name : name;
      2. doc : doc;
      3. pp : Stdlib.Format.formatter -> 'a -> unit;
      4. compare : 'a -> 'a -> int;
      5. hash : 'a -> int;
      6. hconsed : bool;
      7. constants : (name * 'a) list;
      }

      The eq function is used by unification. Limitation: unification of * two cdata cannot alter the constraint store. This can be lifted in the * future if there is user request. * * If the hconsed is true, then the readback function is * automatically hashcons the data using the eq and hash functions.

      val declare : 'a declaration -> 'a Conversion.t
      +OpaqueData (elpi.Elpi.API.OpaqueData)

      Module API.OpaqueData

      Declare data from the host application that is opaque (no syntax), like int but not like list or pair

      type doc = string
      type name = string
      type 'a declaration = {
      1. name : name;
      2. doc : doc;
      3. pp : Stdlib.Format.formatter -> 'a -> unit;
      4. compare : 'a -> 'a -> int;
      5. hash : 'a -> int;
      6. hconsed : bool;
      7. constants : (name * 'a) list;
      }

      The eq function is used by unification. Limitation: unification of * two cdata cannot alter the constraint store. This can be lifted in the * future if there is user request. * * If the hconsed is true, then the readback function is * automatically hashcons the data using the eq and hash functions.

      val declare : 'a declaration -> 'a Conversion.t
      diff --git a/elpi/Elpi/API/Parse/index.html b/elpi/Elpi/API/Parse/index.html index 63d473e7d..d1137dc99 100644 --- a/elpi/Elpi/API/Parse/index.html +++ b/elpi/Elpi/API/Parse/index.html @@ -1,5 +1,5 @@ -Parse (elpi.Elpi.API.Parse)

      Module API.Parse

      val program : elpi:Setup.elpi -> files:string list -> Ast.program

      program file_list parses a list of files, Raises Failure if the file does not exist.

      val program_from : +Parse (elpi.Elpi.API.Parse)

      Module API.Parse

      val program : elpi:Setup.elpi -> files:string list -> Ast.program

      program file_list parses a list of files, Raises Failure if the file does not exist.

      val program_from : elpi:Setup.elpi -> loc:Ast.Loc.t -> Stdlib.Lexing.lexbuf -> diff --git a/elpi/Elpi/API/Pp/Ast/index.html b/elpi/Elpi/API/Pp/Ast/index.html index 7411b37fe..38545f812 100644 --- a/elpi/Elpi/API/Pp/Ast/index.html +++ b/elpi/Elpi/API/Pp/Ast/index.html @@ -1,2 +1,2 @@ -Ast (elpi.Elpi.API.Pp.Ast)

      Module Pp.Ast

      val program : Stdlib.Format.formatter -> Ast.program -> unit
      val query : Stdlib.Format.formatter -> Ast.query -> unit
      +Ast (elpi.Elpi.API.Pp.Ast)

      Module Pp.Ast

      val program : Stdlib.Format.formatter -> Ast.program -> unit
      val query : Stdlib.Format.formatter -> Ast.query -> unit
      diff --git a/elpi/Elpi/API/Pp/index.html b/elpi/Elpi/API/Pp/index.html index 3340060b0..cc9198946 100644 --- a/elpi/Elpi/API/Pp/index.html +++ b/elpi/Elpi/API/Pp/index.html @@ -1,5 +1,5 @@ -Pp (elpi.Elpi.API.Pp)

      Module API.Pp

      val term : +Pp (elpi.Elpi.API.Pp)

      Module API.Pp

      val term : Data.pretty_printer_context -> Stdlib.Format.formatter -> Data.term -> diff --git a/elpi/Elpi/API/Query/index.html b/elpi/Elpi/API/Query/index.html index bcb756b52..3a141eb79 100644 --- a/elpi/Elpi/API/Query/index.html +++ b/elpi/Elpi/API/Query/index.html @@ -1,5 +1,5 @@ -Query (elpi.Elpi.API.Query)

      Module API.Query

      Commodity module to build a simple query and extract the output from the solution found by Elpi.

      Example: "foo data Output" where data has type t (a is t Conversion.t) and Output has type v (b is a v Conversion.t) can be described as:

      let q : (v * unit) t = Query {
      +Query (elpi.Elpi.API.Query)

      Module API.Query

      Commodity module to build a simple query and extract the output from the solution found by Elpi.

      Example: "foo data Output" where data has type t (a is t Conversion.t) and Output has type v (b is a v Conversion.t) can be described as:

      let q : (v * unit) t = Query {
         predicate = "foo";
         arguments = D(a, data,
                     Q(b, "Output",
      diff --git a/elpi/Elpi/API/Quotation/index.html b/elpi/Elpi/API/Quotation/index.html
      index 8ecb98f05..431da715d 100644
      --- a/elpi/Elpi/API/Quotation/index.html
      +++ b/elpi/Elpi/API/Quotation/index.html
      @@ -1,5 +1,5 @@
       
      -Quotation (elpi.Elpi.API.Quotation)

      Module API.Quotation

      type quotation = +Quotation (elpi.Elpi.API.Quotation)

      Module API.Quotation

      type quotation = depth:int -> State.t -> Ast.Loc.t -> diff --git a/elpi/Elpi/API/RawData/Constants/index.html b/elpi/Elpi/API/RawData/Constants/index.html index 93012f84e..7f09d9294 100644 --- a/elpi/Elpi/API/RawData/Constants/index.html +++ b/elpi/Elpi/API/RawData/Constants/index.html @@ -1,2 +1,2 @@ -Constants (elpi.Elpi.API.RawData.Constants)

      Module RawData.Constants

      val declare_global_symbol : string -> constant
      val show : constant -> string
      val eqc : builtin
      val orc : constant
      val andc : constant
      val rimplc : constant
      val pic : constant
      val sigmac : constant
      val implc : constant
      val cutc : builtin
      val ctypec : constant
      val spillc : constant
      module Map : Stdlib.Map.S with type key = constant
      module Set : Stdlib.Set.S with type elt = constant
      +Constants (elpi.Elpi.API.RawData.Constants)

      Module RawData.Constants

      val declare_global_symbol : string -> constant
      val show : constant -> string
      val eqc : builtin
      val orc : constant
      val andc : constant
      val rimplc : constant
      val pic : constant
      val sigmac : constant
      val implc : constant
      val cutc : builtin
      val ctypec : constant
      val spillc : constant
      module Map : Stdlib.Map.S with type key = constant
      module Set : Stdlib.Set.S with type elt = constant
      diff --git a/elpi/Elpi/API/RawData/index.html b/elpi/Elpi/API/RawData/index.html index 2d13cc806..5ab95803f 100644 --- a/elpi/Elpi/API/RawData/index.html +++ b/elpi/Elpi/API/RawData/index.html @@ -1,5 +1,5 @@ -RawData (elpi.Elpi.API.RawData)

      Module API.RawData

      This module exposes the low level representation of terms. * * The data type term is opaque and can only be accessed by using the * look API that exposes a term view. The look view automatically * substitutes assigned unification variables by their value.

      type constant = int

      De Bruijn levels (not indexes): the distance of the binder from the root. Starts at 0 and grows for bound variables; global constants have negative values.

      type builtin

      De Bruijn levels (not indexes): the distance of the binder from the root. Starts at 0 and grows for bound variables; global constants have negative values.

      type term = Data.term
      type view = private
      1. | Const of constant
      2. | Lam of term
      3. | App of constant * term * term list
      4. | Cons of term * term
      5. | Nil
      6. | Builtin of builtin * term list
      7. | CData of RawOpaqueData.t
      8. | UnifVar of FlexibleData.Elpi.t * term list
      val look : depth:int -> term -> view

      Terms must be inspected after dereferencing their head. If the resulting term is UVar then its uvar_body is such that get_assignment uvar_body = None

      val kool : view -> term
      val mkBound : constant -> term

      Smart constructors

      val mkLam : term -> term
      val mkCons : term -> term -> term
      val mkNil : term
      val mkDiscard : term
      val mkCData : RawOpaqueData.t -> term
      val mkUnifVar : FlexibleData.Elpi.t -> args:term list -> State.t -> term
      val mkGlobal : constant -> term

      Lower level smart constructors

      val mkApp : constant -> term -> term list -> term
      val mkAppL : constant -> term list -> term
      val mkBuiltin : builtin -> term list -> term
      val mkConst : constant -> term
      val cmp_builtin : builtin -> builtin -> int
      type hyp = {
      1. hdepth : int;
      2. hsrc : term;
      }
      type hyps = hyp list
      val of_hyp : Data.hyp -> hyp
      val of_hyps : Data.hyp list -> hyps
      type suspended_goal = {
      1. context : hyps;
      2. goal : int * term;
      }
      val constraints : Data.constraints -> suspended_goal list
      val no_constraints : Data.constraints
      module Constants : sig ... end
      type Conversion.extra_goal +=
      1. | RawGoal of Data.term
      val set_extra_goals_postprocessing : +RawData (elpi.Elpi.API.RawData)

      Module API.RawData

      This module exposes the low level representation of terms. * * The data type term is opaque and can only be accessed by using the * look API that exposes a term view. The look view automatically * substitutes assigned unification variables by their value.

      type constant = int

      De Bruijn levels (not indexes): the distance of the binder from the root. Starts at 0 and grows for bound variables; global constants have negative values.

      type builtin

      De Bruijn levels (not indexes): the distance of the binder from the root. Starts at 0 and grows for bound variables; global constants have negative values.

      type term = Data.term
      type view = private
      1. | Const of constant
      2. | Lam of term
      3. | App of constant * term * term list
      4. | Cons of term * term
      5. | Nil
      6. | Builtin of builtin * term list
      7. | CData of RawOpaqueData.t
      8. | UnifVar of FlexibleData.Elpi.t * term list
      val look : depth:int -> term -> view

      Terms must be inspected after dereferencing their head. If the resulting term is UVar then its uvar_body is such that get_assignment uvar_body = None

      val kool : view -> term
      val mkBound : constant -> term

      Smart constructors

      val mkLam : term -> term
      val mkCons : term -> term -> term
      val mkNil : term
      val mkDiscard : term
      val mkCData : RawOpaqueData.t -> term
      val mkUnifVar : FlexibleData.Elpi.t -> args:term list -> State.t -> term
      val mkGlobal : constant -> term

      Lower level smart constructors

      val mkApp : constant -> term -> term list -> term
      val mkAppL : constant -> term list -> term
      val mkBuiltin : builtin -> term list -> term
      val mkConst : constant -> term
      val cmp_builtin : builtin -> builtin -> int
      type hyp = {
      1. hdepth : int;
      2. hsrc : term;
      }
      type hyps = hyp list
      val of_hyp : Data.hyp -> hyp
      val of_hyps : Data.hyp list -> hyps
      type suspended_goal = {
      1. context : hyps;
      2. goal : int * term;
      }
      val constraints : Data.constraints -> suspended_goal list
      val no_constraints : Data.constraints
      module Constants : sig ... end
      type Conversion.extra_goal +=
      1. | RawGoal of Data.term
      val set_extra_goals_postprocessing : ?descriptor:Setup.hoas_descriptor -> (Conversion.extra_goals -> State.t -> State.t * Conversion.extra_goals) -> unit
      val new_hoas_descriptor : unit -> Setup.hoas_descriptor
      diff --git a/elpi/Elpi/API/RawOpaqueData/index.html b/elpi/Elpi/API/RawOpaqueData/index.html index 96383581c..c69400575 100644 --- a/elpi/Elpi/API/RawOpaqueData/index.html +++ b/elpi/Elpi/API/RawOpaqueData/index.html @@ -1,2 +1,2 @@ -RawOpaqueData (elpi.Elpi.API.RawOpaqueData)

      Module API.RawOpaqueData

      Low level module for OpaqueData

      type name = string
      type doc = string
      type t
      type 'a declaration = 'a OpaqueData.declaration = {
      1. name : name;
      2. doc : doc;
      3. pp : Stdlib.Format.formatter -> 'a -> unit;
      4. compare : 'a -> 'a -> int;
      5. hash : 'a -> int;
      6. hconsed : bool;
      7. constants : (name * 'a) list;
      }

      If the data_hconsed is true, then the cin function below will automatically hashcons the data using the eq and hash functions.

      type 'a cdata = private {
      1. cin : 'a -> Data.term;
      2. isc : t -> bool;
      3. cout : t -> 'a;
      4. name : string;
      }
      val declare : 'a declaration -> 'a cdata * 'a Conversion.t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      val hash : t -> int
      val name : t -> string
      val hcons : t -> t
      val ty2 : 'a cdata -> t -> t -> bool
      val morph1 : 'a cdata -> ('a -> 'a) -> t -> Data.term
      val morph2 : 'a cdata -> ('a -> 'a -> 'a) -> t -> t -> Data.term
      val map : 'a cdata -> 'b cdata -> ('a -> 'b) -> t -> Data.term
      val int : int cdata
      val is_int : t -> bool
      val to_int : t -> int
      val of_int : int -> Data.term
      val float : float cdata
      val is_float : t -> bool
      val to_float : t -> float
      val of_float : float -> Data.term
      val string : string cdata
      val is_string : t -> bool
      val to_string : t -> string
      val of_string : string -> Data.term
      val loc : Ast.Loc.t cdata
      val is_loc : t -> bool
      val to_loc : t -> Ast.Loc.t
      val of_loc : Ast.Loc.t -> Data.term
      +RawOpaqueData (elpi.Elpi.API.RawOpaqueData)

      Module API.RawOpaqueData

      Low level module for OpaqueData

      type name = string
      type doc = string
      type t
      type 'a declaration = 'a OpaqueData.declaration = {
      1. name : name;
      2. doc : doc;
      3. pp : Stdlib.Format.formatter -> 'a -> unit;
      4. compare : 'a -> 'a -> int;
      5. hash : 'a -> int;
      6. hconsed : bool;
      7. constants : (name * 'a) list;
      }

      If the data_hconsed is true, then the cin function below will automatically hashcons the data using the eq and hash functions.

      type 'a cdata = private {
      1. cin : 'a -> Data.term;
      2. isc : t -> bool;
      3. cout : t -> 'a;
      4. name : string;
      }
      val declare : 'a declaration -> 'a cdata * 'a Conversion.t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      val hash : t -> int
      val name : t -> string
      val hcons : t -> t
      val ty2 : 'a cdata -> t -> t -> bool
      val morph1 : 'a cdata -> ('a -> 'a) -> t -> Data.term
      val morph2 : 'a cdata -> ('a -> 'a -> 'a) -> t -> t -> Data.term
      val map : 'a cdata -> 'b cdata -> ('a -> 'b) -> t -> Data.term
      val int : int cdata
      val is_int : t -> bool
      val to_int : t -> int
      val of_int : int -> Data.term
      val float : float cdata
      val is_float : t -> bool
      val to_float : t -> float
      val of_float : float -> Data.term
      val string : string cdata
      val is_string : t -> bool
      val to_string : t -> string
      val of_string : string -> Data.term
      val loc : Ast.Loc.t cdata
      val is_loc : t -> bool
      val to_loc : t -> Ast.Loc.t
      val of_loc : Ast.Loc.t -> Data.term
      diff --git a/elpi/Elpi/API/RawPp/Debug/index.html b/elpi/Elpi/API/RawPp/Debug/index.html index ae5a073c3..1a0315129 100644 --- a/elpi/Elpi/API/RawPp/Debug/index.html +++ b/elpi/Elpi/API/RawPp/Debug/index.html @@ -1,2 +1,2 @@ -Debug (elpi.Elpi.API.RawPp.Debug)

      Module RawPp.Debug

      val term : int -> Stdlib.Format.formatter -> Data.term -> unit
      val show_term : Data.term -> string
      +Debug (elpi.Elpi.API.RawPp.Debug)

      Module RawPp.Debug

      val term : int -> Stdlib.Format.formatter -> Data.term -> unit
      val show_term : Data.term -> string
      diff --git a/elpi/Elpi/API/RawPp/index.html b/elpi/Elpi/API/RawPp/index.html index cae86abfa..0cdaf6602 100644 --- a/elpi/Elpi/API/RawPp/index.html +++ b/elpi/Elpi/API/RawPp/index.html @@ -1,5 +1,5 @@ -RawPp (elpi.Elpi.API.RawPp)

      Module API.RawPp

      val term : int -> Stdlib.Format.formatter -> Data.term -> unit

      If the term is under depth binders this is the function that has to be * called in order to print the term correct. WARNING: as of today printing * an open term (i.e. containing unification variables) in the *wrong* depth * can cause the pruning of the unification variable. * This behavior shall be cleaned up in the future

      val constraints : Stdlib.Format.formatter -> Data.constraints -> unit
      val list : +RawPp (elpi.Elpi.API.RawPp)

      Module API.RawPp

      val term : int -> Stdlib.Format.formatter -> Data.term -> unit

      If the term is under depth binders this is the function that has to be * called in order to print the term correct. WARNING: as of today printing * an open term (i.e. containing unification variables) in the *wrong* depth * can cause the pruning of the unification variable. * This behavior shall be cleaned up in the future

      val constraints : Stdlib.Format.formatter -> Data.constraints -> unit
      val list : ?max:int -> ?boxed:bool -> (Stdlib.Format.formatter -> 'a -> unit) -> diff --git a/elpi/Elpi/API/RawQuery/index.html b/elpi/Elpi/API/RawQuery/index.html index 2b79dbb9a..8c31fbd52 100644 --- a/elpi/Elpi/API/RawQuery/index.html +++ b/elpi/Elpi/API/RawQuery/index.html @@ -1,5 +1,5 @@ -RawQuery (elpi.Elpi.API.RawQuery)

      Module API.RawQuery

      This module lets one generate a query by providing a RawData.term directly

      val mk_Arg : +RawQuery (elpi.Elpi.API.RawQuery)

      Module API.RawQuery

      This module lets one generate a query by providing a RawData.term directly

      val mk_Arg : State.t -> name:string -> args:Data.term list -> diff --git a/elpi/Elpi/API/Setup/index.html b/elpi/Elpi/API/Setup/index.html index 4788a537e..38af0bc22 100644 --- a/elpi/Elpi/API/Setup/index.html +++ b/elpi/Elpi/API/Setup/index.html @@ -1,5 +1,5 @@ -Setup (elpi.Elpi.API.Setup)

      Module API.Setup

      type state_descriptor
      type quotations_descriptor
      type hoas_descriptor
      type builtins
      type calc_descriptor
      type flags
      type elpi
      val init : +Setup (elpi.Elpi.API.Setup)

      Module API.Setup

      type state_descriptor
      type quotations_descriptor
      type hoas_descriptor
      type builtins
      type calc_descriptor
      type flags
      type elpi
      val init : ?flags:flags -> ?state:state_descriptor -> ?quotations:quotations_descriptor -> diff --git a/elpi/Elpi/API/State/index.html b/elpi/Elpi/API/State/index.html index 966c81bf6..9ed4b4e41 100644 --- a/elpi/Elpi/API/State/index.html +++ b/elpi/Elpi/API/State/index.html @@ -1,5 +1,5 @@ -State (elpi.Elpi.API.State)

      Module API.State

      State is a collection of purely functional piece of data carried by the interpreter. Such data is kept in sync with the backtracking, i.e. changes made in a branch are lost if that branch fails. It can be used to both store custom constraints to be manipulated by custom solvers, or any other piece of data the host application may need to use.

      val new_state_descriptor : unit -> Setup.state_descriptor
      type 'a component

      'a MUST be purely functional, i.e. backtracking is implemented by using * an old binding for 'a. * This limitation can be lifted if there is user request.

      val declare : +State (elpi.Elpi.API.State)

      Module API.State

      State is a collection of purely functional piece of data carried by the interpreter. Such data is kept in sync with the backtracking, i.e. changes made in a branch are lost if that branch fails. It can be used to both store custom constraints to be manipulated by custom solvers, or any other piece of data the host application may need to use.

      val new_state_descriptor : unit -> Setup.state_descriptor
      type 'a component

      'a MUST be purely functional, i.e. backtracking is implemented by using * an old binding for 'a. * This limitation can be lifted if there is user request.

      val declare : name:string -> pp:(Stdlib.Format.formatter -> 'a -> unit) -> init:(unit -> 'a) -> diff --git a/elpi/Elpi/API/Utils/IntSet/index.html b/elpi/Elpi/API/Utils/IntSet/index.html index dcc487271..6bd6698f7 100644 --- a/elpi/Elpi/API/Utils/IntSet/index.html +++ b/elpi/Elpi/API/Utils/IntSet/index.html @@ -1,2 +1,2 @@ -IntSet (elpi.Elpi.API.Utils.IntSet)

      Module Utils.IntSet

      include Stdlib.Set.S with type elt = int
      type elt = int
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +IntSet (elpi.Elpi.API.Utils.IntSet)

      Module Utils.IntSet

      include Stdlib.Set.S with type elt = int
      type elt = int
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/Utils/LocSet/index.html b/elpi/Elpi/API/Utils/LocSet/index.html index 340542225..a25db9528 100644 --- a/elpi/Elpi/API/Utils/LocSet/index.html +++ b/elpi/Elpi/API/Utils/LocSet/index.html @@ -1,2 +1,2 @@ -LocSet (elpi.Elpi.API.Utils.LocSet)

      Module Utils.LocSet

      include Stdlib.Set.S with type elt = Ast.Loc.t
      type elt = Ast.Loc.t
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +LocSet (elpi.Elpi.API.Utils.LocSet)

      Module Utils.LocSet

      include Stdlib.Set.S with type elt = Ast.Loc.t
      type elt = Ast.Loc.t
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/Utils/Map/Make/argument-1-Ord/index.html b/elpi/Elpi/API/Utils/Map/Make/argument-1-Ord/index.html index 76f751964..105d82483 100644 --- a/elpi/Elpi/API/Utils/Map/Make/argument-1-Ord/index.html +++ b/elpi/Elpi/API/Utils/Map/Make/argument-1-Ord/index.html @@ -1,2 +1,2 @@ -Ord (elpi.Elpi.API.Utils.Map.Make.Ord)

      Parameter Make.Ord

      include Stdlib.Map.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Ord (elpi.Elpi.API.Utils.Map.Make.Ord)

      Parameter Make.Ord

      include Stdlib.Map.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/Utils/Map/Make/index.html b/elpi/Elpi/API/Utils/Map/Make/index.html index 335730569..40e6c2c4e 100644 --- a/elpi/Elpi/API/Utils/Map/Make/index.html +++ b/elpi/Elpi/API/Utils/Map/Make/index.html @@ -1,5 +1,5 @@ -Make (elpi.Elpi.API.Utils.Map.Make)

      Module Map.Make

      Parameters

      module Ord : OrderedType

      Signature

      include Stdlib.Map.S with type key = Ord.t
      type key = Ord.t
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : +Make (elpi.Elpi.API.Utils.Map.Make)

      Module Map.Make

      Parameters

      module Ord : OrderedType

      Signature

      include Stdlib.Map.S with type key = Ord.t
      type key = Ord.t
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/elpi/Elpi/API/Utils/Map/index.html b/elpi/Elpi/API/Utils/Map/index.html index c25cbdf6c..c7c51f678 100644 --- a/elpi/Elpi/API/Utils/Map/index.html +++ b/elpi/Elpi/API/Utils/Map/index.html @@ -1,2 +1,2 @@ -Map (elpi.Elpi.API.Utils.Map)

      Module Utils.Map

      module type S = sig ... end
      module type OrderedType = sig ... end
      module Make (Ord : OrderedType) : S with type key = Ord.t
      +Map (elpi.Elpi.API.Utils.Map)

      Module Utils.Map

      module type S = sig ... end
      module type OrderedType = sig ... end
      module Make (Ord : OrderedType) : S with type key = Ord.t
      diff --git a/elpi/Elpi/API/Utils/Map/module-type-OrderedType/index.html b/elpi/Elpi/API/Utils/Map/module-type-OrderedType/index.html index 261ac3f64..667b97601 100644 --- a/elpi/Elpi/API/Utils/Map/module-type-OrderedType/index.html +++ b/elpi/Elpi/API/Utils/Map/module-type-OrderedType/index.html @@ -1,2 +1,2 @@ -OrderedType (elpi.Elpi.API.Utils.Map.OrderedType)

      Module type Map.OrderedType

      include Stdlib.Map.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +OrderedType (elpi.Elpi.API.Utils.Map.OrderedType)

      Module type Map.OrderedType

      include Stdlib.Map.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/Utils/Map/module-type-S/index.html b/elpi/Elpi/API/Utils/Map/module-type-S/index.html index 7f7ea47a8..447820b0c 100644 --- a/elpi/Elpi/API/Utils/Map/module-type-S/index.html +++ b/elpi/Elpi/API/Utils/Map/module-type-S/index.html @@ -1,5 +1,5 @@ -S (elpi.Elpi.API.Utils.Map.S)

      Module type Map.S

      include Stdlib.Map.S
      type key
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : +S (elpi.Elpi.API.Utils.Map.S)

      Module type Map.S

      include Stdlib.Map.S
      type key
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/elpi/Elpi/API/Utils/Set/Make/argument-1-Ord/index.html b/elpi/Elpi/API/Utils/Set/Make/argument-1-Ord/index.html index a79347482..4dd69ffa3 100644 --- a/elpi/Elpi/API/Utils/Set/Make/argument-1-Ord/index.html +++ b/elpi/Elpi/API/Utils/Set/Make/argument-1-Ord/index.html @@ -1,2 +1,2 @@ -Ord (elpi.Elpi.API.Utils.Set.Make.Ord)

      Parameter Make.Ord

      include Stdlib.Set.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Ord (elpi.Elpi.API.Utils.Set.Make.Ord)

      Parameter Make.Ord

      include Stdlib.Set.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/Utils/Set/Make/index.html b/elpi/Elpi/API/Utils/Set/Make/index.html index 64b71cf3d..8362ec9b3 100644 --- a/elpi/Elpi/API/Utils/Set/Make/index.html +++ b/elpi/Elpi/API/Utils/Set/Make/index.html @@ -1,2 +1,2 @@ -Make (elpi.Elpi.API.Utils.Set.Make)

      Module Set.Make

      Parameters

      module Ord : OrderedType

      Signature

      include Stdlib.Set.S with type elt = Ord.t
      type elt = Ord.t
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Make (elpi.Elpi.API.Utils.Set.Make)

      Module Set.Make

      Parameters

      module Ord : OrderedType

      Signature

      include Stdlib.Set.S with type elt = Ord.t
      type elt = Ord.t
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/Utils/Set/index.html b/elpi/Elpi/API/Utils/Set/index.html index 7be6eb7b9..96fe47650 100644 --- a/elpi/Elpi/API/Utils/Set/index.html +++ b/elpi/Elpi/API/Utils/Set/index.html @@ -1,2 +1,2 @@ -Set (elpi.Elpi.API.Utils.Set)

      Module Utils.Set

      module type S = sig ... end
      module type OrderedType = sig ... end
      module Make (Ord : OrderedType) : S with type elt = Ord.t
      +Set (elpi.Elpi.API.Utils.Set)

      Module Utils.Set

      module type S = sig ... end
      module type OrderedType = sig ... end
      module Make (Ord : OrderedType) : S with type elt = Ord.t
      diff --git a/elpi/Elpi/API/Utils/Set/module-type-OrderedType/index.html b/elpi/Elpi/API/Utils/Set/module-type-OrderedType/index.html index 68019fa78..545bbc620 100644 --- a/elpi/Elpi/API/Utils/Set/module-type-OrderedType/index.html +++ b/elpi/Elpi/API/Utils/Set/module-type-OrderedType/index.html @@ -1,2 +1,2 @@ -OrderedType (elpi.Elpi.API.Utils.Set.OrderedType)

      Module type Set.OrderedType

      include Stdlib.Set.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +OrderedType (elpi.Elpi.API.Utils.Set.OrderedType)

      Module type Set.OrderedType

      include Stdlib.Set.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/Utils/Set/module-type-S/index.html b/elpi/Elpi/API/Utils/Set/module-type-S/index.html index 89e07fe74..2775206a1 100644 --- a/elpi/Elpi/API/Utils/Set/module-type-S/index.html +++ b/elpi/Elpi/API/Utils/Set/module-type-S/index.html @@ -1,2 +1,2 @@ -S (elpi.Elpi.API.Utils.Set.S)

      Module type Set.S

      include Stdlib.Set.S
      type elt
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +S (elpi.Elpi.API.Utils.Set.S)

      Module type Set.S

      include Stdlib.Set.S
      type elt
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/Utils/index.html b/elpi/Elpi/API/Utils/index.html index 8fe97d44e..c9e36c782 100644 --- a/elpi/Elpi/API/Utils/index.html +++ b/elpi/Elpi/API/Utils/index.html @@ -1,7 +1,7 @@ -Utils (elpi.Elpi.API.Utils)

      Module API.Utils

      val error : ?loc:Ast.Loc.t -> string -> 'a

      A regular error (fatal)

      val anomaly : ?loc:Ast.Loc.t -> string -> 'a

      An invariant is broken, i.e. a bug

      val type_error : ?loc:Ast.Loc.t -> string -> 'a

      A type error (in principle ruled out by elpi-checker.elpi)

      val warn : ?loc:Ast.Loc.t -> string -> unit

      A non fatal warning

      val list_to_lp_list : Data.term list -> Data.term

      link between OCaml and LP lists. Note that 1,2|X is not a valid * OCaml list!

      val lp_list_to_list : depth:int -> Data.term -> Data.term list
      val get_assignment : FlexibleData.Elpi.t -> Data.term option

      The body of an assignment, if any (LOW LEVEL). * Use look and forget about this API since the term you get * needs to be moved and/or reduced, and you have no API for this.

      val clause_of_term : +Utils (elpi.Elpi.API.Utils)

      Module API.Utils

      val error : ?loc:Ast.Loc.t -> string -> 'a

      A regular error (fatal)

      val anomaly : ?loc:Ast.Loc.t -> string -> 'a

      An invariant is broken, i.e. a bug

      val type_error : ?loc:Ast.Loc.t -> string -> 'a

      A type error (in principle ruled out by elpi-checker.elpi)

      val warn : ?loc:Ast.Loc.t -> string -> unit

      A non fatal warning

      val list_to_lp_list : Data.term list -> Data.term

      link between OCaml and LP lists. Note that 1,2|X is not a valid * OCaml list!

      val lp_list_to_list : depth:int -> Data.term -> Data.term list
      val get_assignment : FlexibleData.Elpi.t -> Data.term option

      The body of an assignment, if any (LOW LEVEL). * Use look and forget about this API since the term you get * needs to be moved and/or reduced, and you have no API for this.

      val clause_of_term : ?name:string -> - ?graft:([ `After | `Before ] * string) -> + ?graft:([ `After | `Before | `Replace ] * string) -> depth:int -> Ast.Loc.t -> Data.term -> diff --git a/elpi/Elpi/API/Utils/module-type-Show/index.html b/elpi/Elpi/API/Utils/module-type-Show/index.html index 30e532cb6..2a7df242e 100644 --- a/elpi/Elpi/API/Utils/module-type-Show/index.html +++ b/elpi/Elpi/API/Utils/module-type-Show/index.html @@ -1,2 +1,2 @@ -Show (elpi.Elpi.API.Utils.Show)

      Module type Utils.Show

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Show (elpi.Elpi.API.Utils.Show)

      Module type Utils.Show

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi/API/Utils/module-type-Show1/index.html b/elpi/Elpi/API/Utils/module-type-Show1/index.html index 1e6ef026e..b4125a123 100644 --- a/elpi/Elpi/API/Utils/module-type-Show1/index.html +++ b/elpi/Elpi/API/Utils/module-type-Show1/index.html @@ -1,5 +1,5 @@ -Show1 (elpi.Elpi.API.Utils.Show1)

      Module type Utils.Show1

      type 'a t
      val pp : +Show1 (elpi.Elpi.API.Utils.Show1)

      Module type Utils.Show1

      type 'a t
      val pp : (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a t -> diff --git a/elpi/Elpi/API/index.html b/elpi/Elpi/API/index.html index e7b935b6c..11eead9f9 100644 --- a/elpi/Elpi/API/index.html +++ b/elpi/Elpi/API/index.html @@ -1,2 +1,2 @@ -API (elpi.Elpi.API)

      Module Elpi.API

      This module is the API for clients of the Elpi library.

      These APIs are sufficient to parse programs and queries from text, run the interpreter and finally print the result

      module Ast : sig ... end
      module Setup : sig ... end
      module Parse : sig ... end
      module Data : sig ... end
      module Compile : sig ... end
      module Execute : sig ... end
      module Pp : sig ... end

      This API lets one exchange with the host application opaque (primitive) data such as integers or strings as well as algebraic data such OCaml's ADT. No support for binders or unification variables at this point, see the RawData module.

      module Conversion : sig ... end

      This module defines what embedding and readback functions are

      module ContextualConversion : sig ... end

      This module defines what embedding and readback functions are for datatypes that need the context of the program (hypothetical clauses and constraints)

      module BuiltInData : sig ... end

      Conversion for Elpi's built-in data types

      module OpaqueData : sig ... end

      Declare data from the host application that is opaque (no syntax), like int but not like list or pair

      module AlgebraicData : sig ... end

      Declare data from the host application that has syntax, like list or pair but not like int. So far there is no support for data with binder using this API. The type of each constructor is described using a GADT so that the code to build or match the data can be given the right type. Example: define the ADT for "option a"

      module BuiltInPredicate : sig ... end
      module BuiltIn : sig ... end

      Setup.init takes a list of declarations of data types and predicates, plus some doc and eventually some Elpi code. All this constitutes the "prelude", that is what is avaiable to an Elpi program

      module Query : sig ... end

      Commodity module to build a simple query and extract the output from the solution found by Elpi.

      This API lets one access the low lever representation of terms in order to exchange data with binders and unification variables with the host application. It also lets one define quotations and extend the state theraded by Elpi with custom data.

      module State : sig ... end

      State is a collection of purely functional piece of data carried by the interpreter. Such data is kept in sync with the backtracking, i.e. changes made in a branch are lost if that branch fails. It can be used to both store custom constraints to be manipulated by custom solvers, or any other piece of data the host application may need to use.

      module FlexibleData : sig ... end

      Flexible data is for unification variables. One can use Elpi's unification variables to represent the host equivalent, here the API the keep a link between the two.

      module RawOpaqueData : sig ... end

      Low level module for OpaqueData

      module Calc : sig ... end
      module RawData : sig ... end

      This module exposes the low level representation of terms. * * The data type term is opaque and can only be accessed by using the * look API that exposes a term view. The look view automatically * substitutes assigned unification variables by their value.

      module RawQuery : sig ... end

      This module lets one generate a query by providing a RawData.term directly

      module Quotation : sig ... end
      module Utils : sig ... end
      module RawPp : sig ... end
      +API (elpi.Elpi.API)

      Module Elpi.API

      This module is the API for clients of the Elpi library.

      These APIs are sufficient to parse programs and queries from text, run the interpreter and finally print the result

      module Ast : sig ... end
      module Setup : sig ... end
      module Parse : sig ... end
      module Data : sig ... end
      module Compile : sig ... end
      module Execute : sig ... end
      module Pp : sig ... end

      This API lets one exchange with the host application opaque (primitive) data such as integers or strings as well as algebraic data such OCaml's ADT. No support for binders or unification variables at this point, see the RawData module.

      module Conversion : sig ... end

      This module defines what embedding and readback functions are

      module ContextualConversion : sig ... end

      This module defines what embedding and readback functions are for datatypes that need the context of the program (hypothetical clauses and constraints)

      module BuiltInData : sig ... end

      Conversion for Elpi's built-in data types

      module OpaqueData : sig ... end

      Declare data from the host application that is opaque (no syntax), like int but not like list or pair

      module AlgebraicData : sig ... end

      Declare data from the host application that has syntax, like list or pair but not like int. So far there is no support for data with binder using this API. The type of each constructor is described using a GADT so that the code to build or match the data can be given the right type. Example: define the ADT for "option a"

      module BuiltInPredicate : sig ... end
      module BuiltIn : sig ... end

      Setup.init takes a list of declarations of data types and predicates, plus some doc and eventually some Elpi code. All this constitutes the "prelude", that is what is avaiable to an Elpi program

      module Query : sig ... end

      Commodity module to build a simple query and extract the output from the solution found by Elpi.

      This API lets one access the low lever representation of terms in order to exchange data with binders and unification variables with the host application. It also lets one define quotations and extend the state theraded by Elpi with custom data.

      module State : sig ... end

      State is a collection of purely functional piece of data carried by the interpreter. Such data is kept in sync with the backtracking, i.e. changes made in a branch are lost if that branch fails. It can be used to both store custom constraints to be manipulated by custom solvers, or any other piece of data the host application may need to use.

      module FlexibleData : sig ... end

      Flexible data is for unification variables. One can use Elpi's unification variables to represent the host equivalent, here the API the keep a link between the two.

      module RawOpaqueData : sig ... end

      Low level module for OpaqueData

      module Calc : sig ... end
      module RawData : sig ... end

      This module exposes the low level representation of terms. * * The data type term is opaque and can only be accessed by using the * look API that exposes a term view. The look view automatically * substitutes assigned unification variables by their value.

      module RawQuery : sig ... end

      This module lets one generate a query by providing a RawData.term directly

      module Quotation : sig ... end
      module Utils : sig ... end
      module RawPp : sig ... end
      diff --git a/elpi/Elpi/Builtin/index.html b/elpi/Elpi/Builtin/index.html index 31beeed9f..e36299387 100644 --- a/elpi/Elpi/Builtin/index.html +++ b/elpi/Elpi/Builtin/index.html @@ -1,5 +1,5 @@ -Builtin (elpi.Elpi.Builtin)

      Module Elpi.Builtin

      val core_builtins : API.BuiltIn.declaration list
      val io_builtins : API.BuiltIn.declaration list
      val lp_builtins : API.BuiltIn.declaration list
      val elpi_builtins : API.BuiltIn.declaration list
      val elpi_nonlogical_builtins : API.BuiltIn.declaration list
      val elpi_stdlib : API.BuiltIn.declaration list
      val elpi_map : API.BuiltIn.declaration list
      val elpi_set : API.BuiltIn.declaration list
      val ocaml_runtime : API.BuiltIn.declaration list
      val ocaml_map : +Builtin (elpi.Elpi.Builtin)

      Module Elpi.Builtin

      val core_builtins : API.BuiltIn.declaration list
      val io_builtins : API.BuiltIn.declaration list
      val lp_builtins : API.BuiltIn.declaration list
      val elpi_builtins : API.BuiltIn.declaration list
      val elpi_nonlogical_builtins : API.BuiltIn.declaration list
      val elpi_stdlib : API.BuiltIn.declaration list
      val elpi_map : API.BuiltIn.declaration list
      val elpi_set : API.BuiltIn.declaration list
      val ocaml_runtime : API.BuiltIn.declaration list
      val ocaml_map : name:string -> 'a API.Conversion.t -> (module API.Utils.Map.S with type key = 'a) -> diff --git a/elpi/Elpi/Builtin_checker/index.html b/elpi/Elpi/Builtin_checker/index.html index 23051d560..8733fbcf5 100644 --- a/elpi/Elpi/Builtin_checker/index.html +++ b/elpi/Elpi/Builtin_checker/index.html @@ -1,2 +1,2 @@ -Builtin_checker (elpi.Elpi.Builtin_checker)

      Module Elpi.Builtin_checker

      val code : string
      +Builtin_checker (elpi.Elpi.Builtin_checker)

      Module Elpi.Builtin_checker

      val code : string
      diff --git a/elpi/Elpi/index.html b/elpi/Elpi/index.html index 150e660e2..c96e38a5f 100644 --- a/elpi/Elpi/index.html +++ b/elpi/Elpi/index.html @@ -1,2 +1,2 @@ -Elpi (elpi.Elpi)

      Module Elpi

      module API : sig ... end

      This module is the API for clients of the Elpi library.

      module Builtin : sig ... end
      module Builtin_checker : sig ... end
      +Elpi (elpi.Elpi)

      Module Elpi

      module API : sig ... end

      This module is the API for clients of the Elpi library.

      module Builtin : sig ... end
      module Builtin_checker : sig ... end
      diff --git a/elpi/Elpi_lexer_config/Lexer_config/index.html b/elpi/Elpi_lexer_config/Lexer_config/index.html index 287bc86ad..10a347f27 100644 --- a/elpi/Elpi_lexer_config/Lexer_config/index.html +++ b/elpi/Elpi_lexer_config/Lexer_config/index.html @@ -1,5 +1,5 @@ -Lexer_config (elpi.Elpi_lexer_config.Lexer_config)

      Module Elpi_lexer_config.Lexer_config

      type fixity =
      1. | Infixl
      2. | Infixr
      3. | Infix
      4. | Prefix
      5. | Postfix
      val pp_fixity : Stdlib.Format.formatter -> fixity -> unit
      val fixity_of_string : string -> fixity
      type extensible = {
      1. start : string;
      2. mk_token : string -> Tokens.token;
      3. token : string;
      4. non_enclosed : bool;
      5. at_least_one_char : bool;
      6. fixed : string list;
      }
      type fixed = {
      1. token : string;
      2. the_token : string;
      3. mk_token : Tokens.token;
      }
      type mixfix_kind =
      1. | Fixed of fixed
      2. | Extensible of extensible
      type mixfix = {
      1. tokens : mixfix_kind list;
      2. fixity : fixity;
      }
      val mkFix : string -> string -> Tokens.token -> mixfix_kind
      val mkExt : +Lexer_config (elpi.Elpi_lexer_config.Lexer_config)

      Module Elpi_lexer_config.Lexer_config

      type fixity =
      1. | Infixl
      2. | Infixr
      3. | Infix
      4. | Prefix
      5. | Postfix
      val pp_fixity : Stdlib.Format.formatter -> fixity -> unit
      val fixity_of_string : string -> fixity
      type extensible = {
      1. start : string;
      2. mk_token : string -> Tokens.token;
      3. token : string;
      4. non_enclosed : bool;
      5. at_least_one_char : bool;
      6. fixed : string list;
      }
      type fixed = {
      1. token : string;
      2. the_token : string;
      3. mk_token : Tokens.token;
      }
      type mixfix_kind =
      1. | Fixed of fixed
      2. | Extensible of extensible
      type mixfix = {
      1. tokens : mixfix_kind list;
      2. fixity : fixity;
      }
      val mkFix : string -> string -> Tokens.token -> mixfix_kind
      val mkExt : string -> string -> ?non_enclosed:bool -> diff --git a/elpi/Elpi_lexer_config/Tokens/index.html b/elpi/Elpi_lexer_config/Tokens/index.html index 5b1c40e50..2484ec6d8 100644 --- a/elpi/Elpi_lexer_config/Tokens/index.html +++ b/elpi/Elpi_lexer_config/Tokens/index.html @@ -1,2 +1,2 @@ -Tokens (elpi.Elpi_lexer_config.Tokens)

      Module Elpi_lexer_config.Tokens

      type token =
      1. | VDASH
      2. | USE_SIG
      3. | USEONLY
      4. | TYPEABBREV
      5. | TYPE
      6. | STRING of string
      7. | SLASH
      8. | SIGMA
      9. | SIG
      10. | SHORTEN
      11. | RULE
      12. | RPAREN
      13. | REPLACE
      14. | RCURLY
      15. | RBRACKET
      16. | QUOTED of string
      17. | QDASH
      18. | PRED
      19. | PIPE
      20. | PI
      21. | OR
      22. | NIL
      23. | NAMESPACE
      24. | NAME
      25. | MODULE
      26. | MODE
      27. | MOD
      28. | MINUSs
      29. | MINUSr
      30. | MINUSi
      31. | MINUS
      32. | MACRO
      33. | LPAREN
      34. | LOCALKIND
      35. | LOCAL
      36. | LCURLY
      37. | LBRACKET
      38. | KIND
      39. | IS
      40. | IO_COLON of char
      41. | IO of char
      42. | INTEGER of int
      43. | INDEX
      44. | IMPORT
      45. | IFF
      46. | IF
      47. | FULLSTOP
      48. | FRESHUV
      49. | FLOAT of float
      50. | FIXITY of string
      51. | FAMILY_TIMES of string
      52. | FAMILY_TILDE of string
      53. | FAMILY_TICK of string
      54. | FAMILY_SHARP of string
      55. | FAMILY_QMARK of string
      56. | FAMILY_PLUS of string
      57. | FAMILY_OR of string
      58. | FAMILY_MINUS of string
      59. | FAMILY_LT of string
      60. | FAMILY_GT of string
      61. | FAMILY_EXP of string
      62. | FAMILY_EQ of string
      63. | FAMILY_BTICK of string
      64. | FAMILY_AND of string
      65. | EXTERNAL
      66. | EXPORTDEF
      67. | EQ2
      68. | EQ
      69. | EOF
      70. | DIV
      71. | DARROW
      72. | CUT
      73. | CONSTRAINT
      74. | CONSTANT of string
      75. | CONS
      76. | CONJ2
      77. | CONJ
      78. | COLON
      79. | CLOSED
      80. | BIND
      81. | BEFORE
      82. | AS
      83. | ARROW
      84. | AFTER
      85. | ACCUM_SIG
      86. | ACCUMULATE
      +Tokens (elpi.Elpi_lexer_config.Tokens)

      Module Elpi_lexer_config.Tokens

      type token =
      1. | VDASH
      2. | USE_SIG
      3. | USEONLY
      4. | TYPEABBREV
      5. | TYPE
      6. | STRING of string
      7. | SLASH
      8. | SIGMA
      9. | SIG
      10. | SHORTEN
      11. | RULE
      12. | RPAREN
      13. | REPLACE
      14. | RCURLY
      15. | RBRACKET
      16. | QUOTED of string
      17. | QDASH
      18. | PRED
      19. | PIPE
      20. | PI
      21. | OR
      22. | NIL
      23. | NAMESPACE
      24. | NAME
      25. | MODULE
      26. | MODE
      27. | MOD
      28. | MINUSs
      29. | MINUSr
      30. | MINUSi
      31. | MINUS
      32. | MACRO
      33. | LPAREN
      34. | LOCALKIND
      35. | LOCAL
      36. | LCURLY
      37. | LBRACKET
      38. | KIND
      39. | IS
      40. | IO_COLON of char
      41. | IO of char
      42. | INTEGER of int
      43. | INDEX
      44. | IMPORT
      45. | IFF
      46. | IF
      47. | FULLSTOP
      48. | FRESHUV
      49. | FLOAT of float
      50. | FIXITY of string
      51. | FAMILY_TIMES of string
      52. | FAMILY_TILDE of string
      53. | FAMILY_TICK of string
      54. | FAMILY_SHARP of string
      55. | FAMILY_QMARK of string
      56. | FAMILY_PLUS of string
      57. | FAMILY_OR of string
      58. | FAMILY_MINUS of string
      59. | FAMILY_LT of string
      60. | FAMILY_GT of string
      61. | FAMILY_EXP of string
      62. | FAMILY_EQ of string
      63. | FAMILY_BTICK of string
      64. | FAMILY_AND of string
      65. | EXTERNAL
      66. | EXPORTDEF
      67. | EQ2
      68. | EQ
      69. | EOF
      70. | DIV
      71. | DARROW
      72. | CUT
      73. | CONSTRAINT
      74. | CONSTANT of string
      75. | CONS
      76. | CONJ2
      77. | CONJ
      78. | COLON
      79. | CLOSED
      80. | BIND
      81. | BEFORE
      82. | AS
      83. | ARROW
      84. | AFTER
      85. | ACCUM_SIG
      86. | ACCUMULATE
      diff --git a/elpi/Elpi_lexer_config/index.html b/elpi/Elpi_lexer_config/index.html index 739830a66..4f4382e21 100644 --- a/elpi/Elpi_lexer_config/index.html +++ b/elpi/Elpi_lexer_config/index.html @@ -1,2 +1,2 @@ -Elpi_lexer_config (elpi.Elpi_lexer_config)

      Module Elpi_lexer_config

      module Lexer_config : sig ... end
      module Tokens : sig ... end
      +Elpi_lexer_config (elpi.Elpi_lexer_config)

      Module Elpi_lexer_config

      module Lexer_config : sig ... end
      module Tokens : sig ... end
      diff --git a/elpi/Elpi_parser/Ast/Chr/index.html b/elpi/Elpi_parser/Ast/Chr/index.html index 610070379..99f2eea0a 100644 --- a/elpi/Elpi_parser/Ast/Chr/index.html +++ b/elpi/Elpi_parser/Ast/Chr/index.html @@ -1,5 +1,5 @@ -Chr (elpi.Elpi_parser.Ast.Chr)

      Module Ast.Chr

      type sequent = {
      1. eigen : Term.t;
      2. context : Term.t;
      3. conclusion : Term.t;
      }
      and 'attribute t = {
      1. to_match : sequent list;
      2. to_remove : sequent list;
      3. guard : Term.t option;
      4. new_goal : sequent option;
      5. attributes : 'attribute;
      6. loc : Loc.t;
      }
      val pp_sequent : +Chr (elpi.Elpi_parser.Ast.Chr)

      Module Ast.Chr

      type sequent = {
      1. eigen : Term.t;
      2. context : Term.t;
      3. conclusion : Term.t;
      }
      and 'attribute t = {
      1. to_match : sequent list;
      2. to_remove : sequent list;
      3. guard : Term.t option;
      4. new_goal : sequent option;
      5. attributes : 'attribute;
      6. loc : Loc.t;
      }
      val pp_sequent : Ppx_deriving_runtime.Format.formatter -> sequent -> Ppx_deriving_runtime.unit
      val show_sequent : sequent -> Ppx_deriving_runtime.string
      val pp : diff --git a/elpi/Elpi_parser/Ast/Clause/index.html b/elpi/Elpi_parser/Ast/Clause/index.html index 50ae91bb6..4e69fdc4f 100644 --- a/elpi/Elpi_parser/Ast/Clause/index.html +++ b/elpi/Elpi_parser/Ast/Clause/index.html @@ -1,5 +1,5 @@ -Clause (elpi.Elpi_parser.Ast.Clause)

      Module Ast.Clause

      type ('term, 'attributes) t = {
      1. loc : Loc.t;
      2. attributes : 'attributes;
      3. body : 'term;
      }
      val pp : +Clause (elpi.Elpi_parser.Ast.Clause)

      Module Ast.Clause

      type ('term, 'attributes) t = {
      1. loc : Loc.t;
      2. attributes : 'attributes;
      3. body : 'term;
      }
      val pp : (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> (Ppx_deriving_runtime.Format.formatter -> 'attributes -> diff --git a/elpi/Elpi_parser/Ast/Func/Map/index.html b/elpi/Elpi_parser/Ast/Func/Map/index.html index b09f1c1d7..c0221c492 100644 --- a/elpi/Elpi_parser/Ast/Func/Map/index.html +++ b/elpi/Elpi_parser/Ast/Func/Map/index.html @@ -1,5 +1,5 @@ -Map (elpi.Elpi_parser.Ast.Func.Map)

      Module Func.Map

      include Stdlib.Map.S with type key = t
      type key = t
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : +Map (elpi.Elpi_parser.Ast.Func.Map)

      Module Func.Map

      include Stdlib.Map.S with type key = t
      type key = t
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/elpi/Elpi_parser/Ast/Func/index.html b/elpi/Elpi_parser/Ast/Func/index.html index cfa08dc09..8b0c55877 100644 --- a/elpi/Elpi_parser/Ast/Func/index.html +++ b/elpi/Elpi_parser/Ast/Func/index.html @@ -1,2 +1,2 @@ -Func (elpi.Elpi_parser.Ast.Func)

      Module Ast.Func

      type t
      val compare : t -> t -> int
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val truef : t
      val andf : t
      val orf : t
      val implf : t
      val rimplf : t
      val cutf : t
      val pif : t
      val sigmaf : t
      val eqf : t
      val isf : t
      val nilf : t
      val consf : t
      val arrowf : t
      val sequentf : t
      val ctypef : t
      val dummyname : t
      val spillf : t
      val from_string : string -> t
      module Map : Elpi_util.Util.Map.S with type key = t
      +Func (elpi.Elpi_parser.Ast.Func)

      Module Ast.Func

      type t
      val compare : t -> t -> int
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val truef : t
      val andf : t
      val orf : t
      val implf : t
      val rimplf : t
      val cutf : t
      val pif : t
      val sigmaf : t
      val eqf : t
      val isf : t
      val nilf : t
      val consf : t
      val arrowf : t
      val sequentf : t
      val ctypef : t
      val dummyname : t
      val spillf : t
      val from_string : string -> t
      module Map : Elpi_util.Util.Map.S with type key = t
      diff --git a/elpi/Elpi_parser/Ast/Goal/index.html b/elpi/Elpi_parser/Ast/Goal/index.html index dd9680653..131825673 100644 --- a/elpi/Elpi_parser/Ast/Goal/index.html +++ b/elpi/Elpi_parser/Ast/Goal/index.html @@ -1,5 +1,5 @@ -Goal (elpi.Elpi_parser.Ast.Goal)

      Module Ast.Goal

      type t = Loc.t * Term.t
      val pp : +Goal (elpi.Elpi_parser.Ast.Goal)

      Module Ast.Goal

      type t = Loc.t * Term.t
      val pp : Ppx_deriving_runtime.Format.formatter -> t -> Ppx_deriving_runtime.unit
      val show : t -> Ppx_deriving_runtime.string
      diff --git a/elpi/Elpi_parser/Ast/Macro/index.html b/elpi/Elpi_parser/Ast/Macro/index.html index cd75767a2..ed582d149 100644 --- a/elpi/Elpi_parser/Ast/Macro/index.html +++ b/elpi/Elpi_parser/Ast/Macro/index.html @@ -1,5 +1,5 @@ -Macro (elpi.Elpi_parser.Ast.Macro)

      Module Ast.Macro

      type ('name, 'term) t = {
      1. loc : Loc.t;
      2. name : 'name;
      3. body : 'term;
      }
      val pp : +Macro (elpi.Elpi_parser.Ast.Macro)

      Module Ast.Macro

      type ('name, 'term) t = {
      1. loc : Loc.t;
      2. name : 'name;
      3. body : 'term;
      }
      val pp : (Ppx_deriving_runtime.Format.formatter -> 'name -> Ppx_deriving_runtime.unit) -> (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> diff --git a/elpi/Elpi_parser/Ast/Mode/index.html b/elpi/Elpi_parser/Ast/Mode/index.html index 158f292a3..88519271f 100644 --- a/elpi/Elpi_parser/Ast/Mode/index.html +++ b/elpi/Elpi_parser/Ast/Mode/index.html @@ -1,5 +1,5 @@ -Mode (elpi.Elpi_parser.Ast.Mode)

      Module Ast.Mode

      type 'name t = {
      1. name : 'name;
      2. args : bool list;
      3. loc : Loc.t;
      }
      val pp : +Mode (elpi.Elpi_parser.Ast.Mode)

      Module Ast.Mode

      type 'name t = {
      1. name : 'name;
      2. args : bool list;
      3. loc : Loc.t;
      }
      val pp : (Ppx_deriving_runtime.Format.formatter -> 'name -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'name t -> diff --git a/elpi/Elpi_parser/Ast/Program/index.html b/elpi/Elpi_parser/Ast/Program/index.html index 128060af8..2f8379bf0 100644 --- a/elpi/Elpi_parser/Ast/Program/index.html +++ b/elpi/Elpi_parser/Ast/Program/index.html @@ -1,5 +1,5 @@ -Program (elpi.Elpi_parser.Ast.Program)

      Module Ast.Program

      type decl =
      1. | Begin of Loc.t
      2. | Namespace of Loc.t * Func.t
      3. | Constraint of Loc.t * Func.t list
      4. | Shorten of Loc.t * (Func.t * Func.t) list
      5. | End of Loc.t
      6. | Accumulated of Loc.t * (Elpi_util.Util.Digest.t * decl list) list
      7. | Clause of (Term.t, raw_attribute list) Clause.t
      8. | Local of Func.t list
      9. | Mode of Func.t Mode.t list
      10. | Chr of raw_attribute list Chr.t
      11. | Macro of (Func.t, Term.t) Macro.t
      12. | Type of raw_attribute list Type.t list
      13. | Pred of raw_attribute list Type.t * Func.t Mode.t
      14. | TypeAbbreviation of Func.t TypeAbbreviation.t
      15. | Ignored of Loc.t
      val pp_decl : +Program (elpi.Elpi_parser.Ast.Program)

      Module Ast.Program

      type decl =
      1. | Begin of Loc.t
      2. | Namespace of Loc.t * Func.t
      3. | Constraint of Loc.t * Func.t list
      4. | Shorten of Loc.t * (Func.t * Func.t) list
      5. | End of Loc.t
      6. | Accumulated of Loc.t * (Elpi_util.Util.Digest.t * decl list) list
      7. | Clause of (Term.t, raw_attribute list) Clause.t
      8. | Local of Func.t list
      9. | Mode of Func.t Mode.t list
      10. | Chr of raw_attribute list Chr.t
      11. | Macro of (Func.t, Term.t) Macro.t
      12. | Type of raw_attribute list Type.t list
      13. | Pred of raw_attribute list Type.t * Func.t Mode.t
      14. | TypeAbbreviation of Func.t TypeAbbreviation.t
      15. | Ignored of Loc.t
      val pp_decl : Ppx_deriving_runtime.Format.formatter -> decl -> Ppx_deriving_runtime.unit
      val show_decl : decl -> Ppx_deriving_runtime.string
      val mkLocal : string list -> decl
      type t = decl list
      val pp : diff --git a/elpi/Elpi_parser/Ast/Structured/index.html b/elpi/Elpi_parser/Ast/Structured/index.html index a080f5046..5da3a8961 100644 --- a/elpi/Elpi_parser/Ast/Structured/index.html +++ b/elpi/Elpi_parser/Ast/Structured/index.html @@ -1,5 +1,5 @@ -Structured (elpi.Elpi_parser.Ast.Structured)

      Module Ast.Structured

      type program = {
      1. macros : (Func.t, Term.t) Macro.t list;
      2. types : tattribute Type.t list;
      3. type_abbrevs : Func.t TypeAbbreviation.t list;
      4. modes : Func.t Mode.t list;
      5. body : block list;
      }
      and block =
      1. | Locals of Func.t list * program
      2. | Clauses of (Term.t, attribute) Clause.t list
      3. | Namespace of Func.t * program
      4. | Shorten of Func.t shorthand list * program
      5. | Constraints of Func.t list * cattribute Chr.t list * program
      and attribute = {
      1. insertion : insertion option;
      2. id : string option;
      3. ifexpr : string option;
      }
      and insertion =
      1. | Before of string
      2. | After of string
      3. | Replace of string
      and cattribute = {
      1. cid : string;
      2. cifexpr : string option;
      }
      and tattribute =
      1. | External
      2. | Index of int list * tindex option
      and tindex =
      1. | Map
      2. | HashMap
      3. | DiscriminationTree
      and 'a shorthand = {
      1. iloc : Loc.t;
      2. full_name : 'a;
      3. short_name : 'a;
      }
      val pp_program : +Structured (elpi.Elpi_parser.Ast.Structured)

      Module Ast.Structured

      type program = {
      1. macros : (Func.t, Term.t) Macro.t list;
      2. types : tattribute Type.t list;
      3. type_abbrevs : Func.t TypeAbbreviation.t list;
      4. modes : Func.t Mode.t list;
      5. body : block list;
      }
      and block =
      1. | Locals of Func.t list * program
      2. | Clauses of (Term.t, attribute) Clause.t list
      3. | Namespace of Func.t * program
      4. | Shorten of Func.t shorthand list * program
      5. | Constraints of Func.t list * cattribute Chr.t list * program
      and attribute = {
      1. insertion : insertion option;
      2. id : string option;
      3. ifexpr : string option;
      }
      and insertion =
      1. | Before of string
      2. | After of string
      3. | Replace of string
      and cattribute = {
      1. cid : string;
      2. cifexpr : string option;
      }
      and tattribute =
      1. | External
      2. | Index of int list * tindex option
      and tindex =
      1. | Map
      2. | HashMap
      3. | DiscriminationTree
      and 'a shorthand = {
      1. iloc : Loc.t;
      2. full_name : 'a;
      3. short_name : 'a;
      }
      val pp_program : Ppx_deriving_runtime.Format.formatter -> program -> Ppx_deriving_runtime.unit
      val show_program : program -> Ppx_deriving_runtime.string
      val pp_block : diff --git a/elpi/Elpi_parser/Ast/Term/index.html b/elpi/Elpi_parser/Ast/Term/index.html index bc1a6a913..b1d586863 100644 --- a/elpi/Elpi_parser/Ast/Term/index.html +++ b/elpi/Elpi_parser/Ast/Term/index.html @@ -1,5 +1,5 @@ -Term (elpi.Elpi_parser.Ast.Term)

      Module Ast.Term

      type t =
      1. | Const of Func.t
      2. | App of t * t list
      3. | Lam of Func.t * t
      4. | CData of Elpi_util.Util.CData.t
      5. | Quoted of quote
      and quote = {
      1. data : string;
      2. loc : Loc.t;
      3. kind : string option;
      }
      val pp : +Term (elpi.Elpi_parser.Ast.Term)

      Module Ast.Term

      type t =
      1. | Const of Func.t
      2. | App of t * t list
      3. | Lam of Func.t * t
      4. | CData of Elpi_util.Util.CData.t
      5. | Quoted of quote
      and quote = {
      1. data : string;
      2. loc : Loc.t;
      3. kind : string option;
      }
      val pp : Ppx_deriving_runtime.Format.formatter -> t -> Ppx_deriving_runtime.unit
      val show : t -> Ppx_deriving_runtime.string
      val pp_quote : diff --git a/elpi/Elpi_parser/Ast/Type/index.html b/elpi/Elpi_parser/Ast/Type/index.html index a269e5543..073b6cd43 100644 --- a/elpi/Elpi_parser/Ast/Type/index.html +++ b/elpi/Elpi_parser/Ast/Type/index.html @@ -1,5 +1,5 @@ -Type (elpi.Elpi_parser.Ast.Type)

      Module Ast.Type

      type 'attribute t = {
      1. loc : Loc.t;
      2. attributes : 'attribute;
      3. name : Func.t;
      4. ty : Term.t;
      }
      val pp : +Type (elpi.Elpi_parser.Ast.Type)

      Module Ast.Type

      type 'attribute t = {
      1. loc : Loc.t;
      2. attributes : 'attribute;
      3. name : Func.t;
      4. ty : Term.t;
      }
      val pp : (Ppx_deriving_runtime.Format.formatter -> 'attribute -> Ppx_deriving_runtime.unit) -> diff --git a/elpi/Elpi_parser/Ast/TypeAbbreviation/index.html b/elpi/Elpi_parser/Ast/TypeAbbreviation/index.html index 576ad3a9c..537eae8af 100644 --- a/elpi/Elpi_parser/Ast/TypeAbbreviation/index.html +++ b/elpi/Elpi_parser/Ast/TypeAbbreviation/index.html @@ -1,5 +1,5 @@ -TypeAbbreviation (elpi.Elpi_parser.Ast.TypeAbbreviation)

      Module Ast.TypeAbbreviation

      type 'name t = {
      1. name : 'name;
      2. value : Term.t;
      3. nparams : int;
      4. loc : Loc.t;
      }
      val pp : +TypeAbbreviation (elpi.Elpi_parser.Ast.TypeAbbreviation)

      Module Ast.TypeAbbreviation

      type 'name t = {
      1. name : 'name;
      2. value : Term.t;
      3. nparams : int;
      4. loc : Loc.t;
      }
      val pp : (Ppx_deriving_runtime.Format.formatter -> 'name -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'name t -> diff --git a/elpi/Elpi_parser/Ast/index.html b/elpi/Elpi_parser/Ast/index.html index e39a29e6a..3d0b9d02f 100644 --- a/elpi/Elpi_parser/Ast/index.html +++ b/elpi/Elpi_parser/Ast/index.html @@ -1,5 +1,5 @@ -Ast (elpi.Elpi_parser.Ast)

      Module Elpi_parser.Ast

      module Loc = Elpi_util.Util.Loc
      module Func : sig ... end
      module Term : sig ... end
      type raw_attribute =
      1. | If of string
      2. | Name of string
      3. | After of string
      4. | Before of string
      5. | Replace of string
      6. | External
      7. | Index of int list * string option
      val pp_raw_attribute : +Ast (elpi.Elpi_parser.Ast)

      Module Elpi_parser.Ast

      module Loc = Elpi_util.Util.Loc
      module Func : sig ... end
      module Term : sig ... end
      type raw_attribute =
      1. | If of string
      2. | Name of string
      3. | After of string
      4. | Before of string
      5. | Replace of string
      6. | External
      7. | Index of int list * string option
      val pp_raw_attribute : Ppx_deriving_runtime.Format.formatter -> raw_attribute -> Ppx_deriving_runtime.unit
      val show_raw_attribute : raw_attribute -> Ppx_deriving_runtime.string
      module Clause : sig ... end
      module Chr : sig ... end
      module Macro : sig ... end
      module Type : sig ... end
      module Mode : sig ... end
      module TypeAbbreviation : sig ... end
      module Program : sig ... end
      module Goal : sig ... end
      val cfloat : float Elpi_util.Util.CData.cdata
      val cstring : string Elpi_util.Util.CData.cdata
      module Structured : sig ... end
      diff --git a/elpi/Elpi_parser/Error_messages/index.html b/elpi/Elpi_parser/Error_messages/index.html index 510b4efc2..1939bf735 100644 --- a/elpi/Elpi_parser/Error_messages/index.html +++ b/elpi/Elpi_parser/Error_messages/index.html @@ -1,2 +1,2 @@ -Error_messages (elpi.Elpi_parser.Error_messages)

      Module Elpi_parser.Error_messages

      val message : int -> string
      +Error_messages (elpi.Elpi_parser.Error_messages)

      Module Elpi_parser.Error_messages

      val message : int -> string
      diff --git a/elpi/Elpi_parser/Grammar/Make/argument-1-C/index.html b/elpi/Elpi_parser/Grammar/Make/argument-1-C/index.html index 832cfa1e0..a8c83b59c 100644 --- a/elpi/Elpi_parser/Grammar/Make/argument-1-C/index.html +++ b/elpi/Elpi_parser/Grammar/Make/argument-1-C/index.html @@ -1,5 +1,5 @@ -C (elpi.Elpi_parser.Grammar.Make.C)

      Parameter Make.C

      val parse_file : +C (elpi.Elpi_parser.Grammar.Make.C)

      Parameter Make.C

      val parse_file : ?cwd:string -> string -> (Stdlib.Digest.t * Ast.Program.decl list) list
      diff --git a/elpi/Elpi_parser/Grammar/Make/index.html b/elpi/Elpi_parser/Grammar/Make/index.html index b6123e7c2..f985afe5f 100644 --- a/elpi/Elpi_parser/Grammar/Make/index.html +++ b/elpi/Elpi_parser/Grammar/Make/index.html @@ -1,5 +1,5 @@ -Make (elpi.Elpi_parser.Grammar.Make)

      Module Grammar.Make

      Parameters

      Signature

      exception Error of int
      val program : +Make (elpi.Elpi_parser.Grammar.Make)

      Module Grammar.Make

      Parameters

      Signature

      exception Error of int
      val program : (Stdlib.Lexing.lexbuf -> token) -> Stdlib.Lexing.lexbuf -> Ast.Program.t
      val prefix_SYMB : diff --git a/elpi/Elpi_parser/Grammar/index.html b/elpi/Elpi_parser/Grammar/index.html index 216a03f31..5444f1a9a 100644 --- a/elpi/Elpi_parser/Grammar/index.html +++ b/elpi/Elpi_parser/Grammar/index.html @@ -1,2 +1,2 @@ -Grammar (elpi.Elpi_parser.Grammar)

      Module Elpi_parser.Grammar

      module Make (C : Parser_config.ParseFile) : sig ... end
      +Grammar (elpi.Elpi_parser.Grammar)

      Module Elpi_parser.Grammar

      module Make (C : Parser_config.ParseFile) : sig ... end
      diff --git a/elpi/Elpi_parser/Lexer/index.html b/elpi/Elpi_parser/Lexer/index.html index c0767656b..f4ddeef1e 100644 --- a/elpi/Elpi_parser/Lexer/index.html +++ b/elpi/Elpi_parser/Lexer/index.html @@ -1,5 +1,5 @@ -Lexer (elpi.Elpi_parser.Lexer)

      Module Elpi_parser.Lexer

      exception Error of string
      val new_line : Stdlib.Lexing.lexbuf -> unit
      val skip : Stdlib.Lexing.lexbuf -> int -> unit
      val __ocaml_lex_tables : Stdlib.Lexing.lex_tables
      val linecomment : int -> Stdlib.Lexing.lexbuf -> Elpi_lexer_config.Tokens.token
      val __ocaml_lex_linecomment_rec : +Lexer (elpi.Elpi_parser.Lexer)

      Module Elpi_parser.Lexer

      exception Error of string
      val new_line : Stdlib.Lexing.lexbuf -> unit
      val skip : Stdlib.Lexing.lexbuf -> int -> unit
      val __ocaml_lex_tables : Stdlib.Lexing.lex_tables
      val linecomment : int -> Stdlib.Lexing.lexbuf -> Elpi_lexer_config.Tokens.token
      val __ocaml_lex_linecomment_rec : int -> Stdlib.Lexing.lexbuf -> int -> diff --git a/elpi/Elpi_parser/Parse/Make/Internal/index.html b/elpi/Elpi_parser/Parse/Make/Internal/index.html index 859b3eb7b..b759d951c 100644 --- a/elpi/Elpi_parser/Parse/Make/Internal/index.html +++ b/elpi/Elpi_parser/Parse/Make/Internal/index.html @@ -1,5 +1,5 @@ -Internal (elpi.Elpi_parser.Parse.Make.Internal)

      Module Make.Internal

      val infix_SYMB : +Internal (elpi.Elpi_parser.Parse.Make.Internal)

      Module Make.Internal

      val infix_SYMB : (Stdlib.Lexing.lexbuf -> Elpi_lexer_config.Tokens.token) -> Stdlib.Lexing.lexbuf -> Ast.Func.t
      val prefix_SYMB : diff --git a/elpi/Elpi_parser/Parse/Make/argument-1-C/index.html b/elpi/Elpi_parser/Parse/Make/argument-1-C/index.html index 7b5e03031..1b7f944b8 100644 --- a/elpi/Elpi_parser/Parse/Make/argument-1-C/index.html +++ b/elpi/Elpi_parser/Parse/Make/argument-1-C/index.html @@ -1,2 +1,2 @@ -C (elpi.Elpi_parser.Parse.Make.C)

      Parameter Make.C

      val resolver : ?cwd:string -> unit:string -> unit -> string
      +C (elpi.Elpi_parser.Parse.Make.C)

      Parameter Make.C

      val resolver : ?cwd:string -> unit:string -> unit -> string
      diff --git a/elpi/Elpi_parser/Parse/Make/index.html b/elpi/Elpi_parser/Parse/Make/index.html index 6ad269bc6..46b4e66e2 100644 --- a/elpi/Elpi_parser/Parse/Make/index.html +++ b/elpi/Elpi_parser/Parse/Make/index.html @@ -1,5 +1,5 @@ -Make (elpi.Elpi_parser.Parse.Make)

      Module Parse.Make

      Parameters

      module C : Config

      Signature

      include Parser
      val program : file:string -> Ast.Program.decl list
      val goal : loc:Elpi_util.Util.Loc.t -> text:string -> Ast.Goal.t
      val goal_from : loc:Elpi_util.Util.Loc.t -> Stdlib.Lexing.lexbuf -> Ast.Goal.t
      val program_from : +Make (elpi.Elpi_parser.Parse.Make)

      Module Parse.Make

      Parameters

      module C : Config

      Signature

      include Parser
      val program : file:string -> Ast.Program.decl list
      val goal : loc:Elpi_util.Util.Loc.t -> text:string -> Ast.Goal.t
      val goal_from : loc:Elpi_util.Util.Loc.t -> Stdlib.Lexing.lexbuf -> Ast.Goal.t
      val program_from : loc:Elpi_util.Util.Loc.t -> Stdlib.Lexing.lexbuf -> Ast.Program.t
      module Internal : sig ... end
      diff --git a/elpi/Elpi_parser/Parse/index.html b/elpi/Elpi_parser/Parse/index.html index d8b87f18e..3e295d5d6 100644 --- a/elpi/Elpi_parser/Parse/index.html +++ b/elpi/Elpi_parser/Parse/index.html @@ -1,2 +1,2 @@ -Parse (elpi.Elpi_parser.Parse)

      Module Elpi_parser.Parse

      exception ParseError of Elpi_util.Util.Loc.t * string
      module type Parser = sig ... end
      module type Parser_w_Internals = sig ... end
      module type Config = sig ... end
      +Parse (elpi.Elpi_parser.Parse)

      Module Elpi_parser.Parse

      exception ParseError of Elpi_util.Util.Loc.t * string
      module type Parser = sig ... end
      module type Parser_w_Internals = sig ... end
      module type Config = sig ... end
      diff --git a/elpi/Elpi_parser/Parse/module-type-Config/index.html b/elpi/Elpi_parser/Parse/module-type-Config/index.html index 8687a8604..a6ff80bcb 100644 --- a/elpi/Elpi_parser/Parse/module-type-Config/index.html +++ b/elpi/Elpi_parser/Parse/module-type-Config/index.html @@ -1,2 +1,2 @@ -Config (elpi.Elpi_parser.Parse.Config)

      Module type Parse.Config

      val resolver : ?cwd:string -> unit:string -> unit -> string
      +Config (elpi.Elpi_parser.Parse.Config)

      Module type Parse.Config

      val resolver : ?cwd:string -> unit:string -> unit -> string
      diff --git a/elpi/Elpi_parser/Parse/module-type-Parser/index.html b/elpi/Elpi_parser/Parse/module-type-Parser/index.html index 18a1ad579..c88764dfe 100644 --- a/elpi/Elpi_parser/Parse/module-type-Parser/index.html +++ b/elpi/Elpi_parser/Parse/module-type-Parser/index.html @@ -1,5 +1,5 @@ -Parser (elpi.Elpi_parser.Parse.Parser)

      Module type Parse.Parser

      val program : file:string -> Ast.Program.decl list
      val goal : loc:Elpi_util.Util.Loc.t -> text:string -> Ast.Goal.t
      val goal_from : loc:Elpi_util.Util.Loc.t -> Stdlib.Lexing.lexbuf -> Ast.Goal.t
      val program_from : +Parser (elpi.Elpi_parser.Parse.Parser)

      Module type Parse.Parser

      val program : file:string -> Ast.Program.decl list
      val goal : loc:Elpi_util.Util.Loc.t -> text:string -> Ast.Goal.t
      val goal_from : loc:Elpi_util.Util.Loc.t -> Stdlib.Lexing.lexbuf -> Ast.Goal.t
      val program_from : loc:Elpi_util.Util.Loc.t -> Stdlib.Lexing.lexbuf -> Ast.Program.t
      diff --git a/elpi/Elpi_parser/Parse/module-type-Parser_w_Internals/Internal/index.html b/elpi/Elpi_parser/Parse/module-type-Parser_w_Internals/Internal/index.html index 607cabbcd..31470f40c 100644 --- a/elpi/Elpi_parser/Parse/module-type-Parser_w_Internals/Internal/index.html +++ b/elpi/Elpi_parser/Parse/module-type-Parser_w_Internals/Internal/index.html @@ -1,5 +1,5 @@ -Internal (elpi.Elpi_parser.Parse.Parser_w_Internals.Internal)

      Module Parser_w_Internals.Internal

      val infix_SYMB : +Internal (elpi.Elpi_parser.Parse.Parser_w_Internals.Internal)

      Module Parser_w_Internals.Internal

      val infix_SYMB : (Stdlib.Lexing.lexbuf -> Elpi_lexer_config.Tokens.token) -> Stdlib.Lexing.lexbuf -> Ast.Func.t
      val prefix_SYMB : diff --git a/elpi/Elpi_parser/Parse/module-type-Parser_w_Internals/index.html b/elpi/Elpi_parser/Parse/module-type-Parser_w_Internals/index.html index 0ae74e5a2..3843be0f8 100644 --- a/elpi/Elpi_parser/Parse/module-type-Parser_w_Internals/index.html +++ b/elpi/Elpi_parser/Parse/module-type-Parser_w_Internals/index.html @@ -1,5 +1,5 @@ -Parser_w_Internals (elpi.Elpi_parser.Parse.Parser_w_Internals)

      Module type Parse.Parser_w_Internals

      include Parser
      val program : file:string -> Ast.Program.decl list
      val goal : loc:Elpi_util.Util.Loc.t -> text:string -> Ast.Goal.t
      val goal_from : loc:Elpi_util.Util.Loc.t -> Stdlib.Lexing.lexbuf -> Ast.Goal.t
      val program_from : +Parser_w_Internals (elpi.Elpi_parser.Parse.Parser_w_Internals)

      Module type Parse.Parser_w_Internals

      include Parser
      val program : file:string -> Ast.Program.decl list
      val goal : loc:Elpi_util.Util.Loc.t -> text:string -> Ast.Goal.t
      val goal_from : loc:Elpi_util.Util.Loc.t -> Stdlib.Lexing.lexbuf -> Ast.Goal.t
      val program_from : loc:Elpi_util.Util.Loc.t -> Stdlib.Lexing.lexbuf -> Ast.Program.t
      module Internal : sig ... end
      diff --git a/elpi/Elpi_parser/Parser_config/index.html b/elpi/Elpi_parser/Parser_config/index.html index c16f819b0..57e35e131 100644 --- a/elpi/Elpi_parser/Parser_config/index.html +++ b/elpi/Elpi_parser/Parser_config/index.html @@ -1,5 +1,5 @@ -Parser_config (elpi.Elpi_parser.Parser_config)

      Module Elpi_parser.Parser_config

      exception ParseError of Elpi_util.Util.Loc.t * string
      module type ParseFile = sig ... end
      val substrings : string -> string list
      val find_sub : (string, 'a) Stdlib.Hashtbl.t -> string -> 'a
      val precedence_of : +Parser_config (elpi.Elpi_parser.Parser_config)

      Module Elpi_parser.Parser_config

      exception ParseError of Elpi_util.Util.Loc.t * string
      module type ParseFile = sig ... end
      val substrings : string -> string list
      val find_sub : (string, 'a) Stdlib.Hashtbl.t -> string -> 'a
      val precedence_of : string -> Elpi_lexer_config.Lexer_config.fixity option * int
      val umax_precedence : int
      val appl_precedence : int
      val inf_precedence : int
      val comma_precedence : int
      val min_precedence : int
      val lam_precedence : int
      val umin_precedence : int
      val pp_fixed : Stdlib.Format.formatter -> string list -> unit
      val pp_non_enclosed : Stdlib.Format.formatter -> bool -> unit
      val pp_tok_list : Stdlib.Format.formatter -> diff --git a/elpi/Elpi_parser/Parser_config/module-type-ParseFile/index.html b/elpi/Elpi_parser/Parser_config/module-type-ParseFile/index.html index 63ad717a8..c5c824186 100644 --- a/elpi/Elpi_parser/Parser_config/module-type-ParseFile/index.html +++ b/elpi/Elpi_parser/Parser_config/module-type-ParseFile/index.html @@ -1,5 +1,5 @@ -ParseFile (elpi.Elpi_parser.Parser_config.ParseFile)

      Module type Parser_config.ParseFile

      val parse_file : +ParseFile (elpi.Elpi_parser.Parser_config.ParseFile)

      Module type Parser_config.ParseFile

      val parse_file : ?cwd:string -> string -> (Stdlib.Digest.t * Ast.Program.decl list) list
      diff --git a/elpi/Elpi_parser/index.html b/elpi/Elpi_parser/index.html index 8b82dbe36..5e83c9d3c 100644 --- a/elpi/Elpi_parser/index.html +++ b/elpi/Elpi_parser/index.html @@ -1,2 +1,2 @@ -Elpi_parser (elpi.Elpi_parser)

      Module Elpi_parser

      module Ast : sig ... end
      module Error_messages : sig ... end
      module Grammar : sig ... end
      module Lexer : sig ... end
      module Parse : sig ... end
      module Parser_config : sig ... end
      +Elpi_parser (elpi.Elpi_parser)

      Module Elpi_parser

      module Ast : sig ... end
      module Error_messages : sig ... end
      module Grammar : sig ... end
      module Lexer : sig ... end
      module Parse : sig ... end
      module Parser_config : sig ... end
      diff --git a/elpi/Elpi_util/Util/Bool/index.html b/elpi/Elpi_util/Util/Bool/index.html index 75a0256db..6efaf7cff 100644 --- a/elpi/Elpi_util/Util/Bool/index.html +++ b/elpi/Elpi_util/Util/Bool/index.html @@ -1,2 +1,2 @@ -Bool (elpi.Elpi_util.Util.Bool)

      Module Util.Bool

      type t = bool
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Bool (elpi.Elpi_util.Util.Bool)

      Module Util.Bool

      type t = bool
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/CData/index.html b/elpi/Elpi_util/Util/CData/index.html index eca9dff08..648561886 100644 --- a/elpi/Elpi_util/Util/CData/index.html +++ b/elpi/Elpi_util/Util/CData/index.html @@ -1,2 +1,2 @@ -CData (elpi.Elpi_util.Util.CData)

      Module Util.CData

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      type 'a data_declaration = {
      1. data_name : string;
      2. data_pp : Stdlib.Format.formatter -> 'a -> unit;
      3. data_compare : 'a -> 'a -> int;
      4. data_hash : 'a -> int;
      5. data_hconsed : bool;
      }
      type 'a cdata = private {
      1. cin : 'a -> t;
      2. isc : t -> bool;
      3. cout : t -> 'a;
      4. name : string;
      }
      val declare : 'a data_declaration -> 'a cdata
      val hash : t -> int
      val name : t -> string
      val hcons : t -> t
      val morph1 : 'a cdata -> ('a -> 'a) -> t -> t
      val ty2 : 'a cdata -> t -> t -> bool
      val morph2 : 'a cdata -> ('a -> 'a -> 'a) -> t -> t -> t
      val map : 'a cdata -> 'b cdata -> ('a -> 'b) -> t -> t
      +CData (elpi.Elpi_util.Util.CData)

      Module Util.CData

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      type 'a data_declaration = {
      1. data_name : string;
      2. data_pp : Stdlib.Format.formatter -> 'a -> unit;
      3. data_compare : 'a -> 'a -> int;
      4. data_hash : 'a -> int;
      5. data_hconsed : bool;
      }
      type 'a cdata = private {
      1. cin : 'a -> t;
      2. isc : t -> bool;
      3. cout : t -> 'a;
      4. name : string;
      }
      val declare : 'a data_declaration -> 'a cdata
      val hash : t -> int
      val name : t -> string
      val hcons : t -> t
      val morph1 : 'a cdata -> ('a -> 'a) -> t -> t
      val ty2 : 'a cdata -> t -> t -> bool
      val morph2 : 'a cdata -> ('a -> 'a -> 'a) -> t -> t -> t
      val map : 'a cdata -> 'b cdata -> ('a -> 'b) -> t -> t
      diff --git a/elpi/Elpi_util/Util/Digest/index.html b/elpi/Elpi_util/Util/Digest/index.html index f3eae530e..8804ed9af 100644 --- a/elpi/Elpi_util/Util/Digest/index.html +++ b/elpi/Elpi_util/Util/Digest/index.html @@ -1,2 +1,2 @@ -Digest (elpi.Elpi_util.Util.Digest)

      Module Util.Digest

      include module type of Stdlib.Digest
      type t = string
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val string : string -> t
      val bytes : bytes -> t
      val substring : string -> int -> int -> t
      val subbytes : bytes -> int -> int -> t
      val channel : Stdlib.in_channel -> int -> t
      val file : string -> t
      val output : Stdlib.out_channel -> t -> unit
      val input : Stdlib.in_channel -> t
      val to_hex : t -> string
      val from_hex : string -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Digest (elpi.Elpi_util.Util.Digest)

      Module Util.Digest

      include module type of Stdlib.Digest
      type t = string
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val string : string -> t
      val bytes : bytes -> t
      val substring : string -> int -> int -> t
      val subbytes : bytes -> int -> int -> t
      val channel : Stdlib.in_channel -> int -> t
      val file : string -> t
      val output : Stdlib.out_channel -> t -> unit
      val input : Stdlib.in_channel -> t
      val to_hex : t -> string
      val from_hex : string -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/Fork/index.html b/elpi/Elpi_util/Util/Fork/index.html index 00f22ffd6..016377f01 100644 --- a/elpi/Elpi_util/Util/Fork/index.html +++ b/elpi/Elpi_util/Util/Fork/index.html @@ -1,2 +1,2 @@ -Fork (elpi.Elpi_util.Util.Fork)

      Module Util.Fork

      type 'a local_ref = 'a Stdlib.ref
      val new_local : 'a -> 'a local_ref
      type process = {
      1. exec : 'a 'b. ('a -> 'b) -> 'a -> 'b;
      2. get : 'a. 'a local_ref -> 'a;
      3. set : 'a. 'a local_ref -> 'a -> unit;
      }
      val fork : unit -> process
      +Fork (elpi.Elpi_util.Util.Fork)

      Module Util.Fork

      type 'a local_ref = 'a Stdlib.ref
      val new_local : 'a -> 'a local_ref
      type process = {
      1. exec : 'a 'b. ('a -> 'b) -> 'a -> 'b;
      2. get : 'a. 'a local_ref -> 'a;
      3. set : 'a. 'a local_ref -> 'a -> unit;
      }
      val fork : unit -> process
      diff --git a/elpi/Elpi_util/Util/Hashtbl/Make/argument-1-H/index.html b/elpi/Elpi_util/Util/Hashtbl/Make/argument-1-H/index.html index a6fda355d..8558cf356 100644 --- a/elpi/Elpi_util/Util/Hashtbl/Make/argument-1-H/index.html +++ b/elpi/Elpi_util/Util/Hashtbl/Make/argument-1-H/index.html @@ -1,2 +1,2 @@ -H (elpi.Elpi_util.Util.Hashtbl.Make.H)

      Parameter Make.H

      type t
      val equal : t -> t -> bool
      val hash : t -> int
      +H (elpi.Elpi_util.Util.Hashtbl.Make.H)

      Parameter Make.H

      type t
      val equal : t -> t -> bool
      val hash : t -> int
      diff --git a/elpi/Elpi_util/Util/Hashtbl/Make/index.html b/elpi/Elpi_util/Util/Hashtbl/Make/index.html index 33f8c855d..edaa01e0a 100644 --- a/elpi/Elpi_util/Util/Hashtbl/Make/index.html +++ b/elpi/Elpi_util/Util/Hashtbl/Make/index.html @@ -1,2 +1,2 @@ -Make (elpi.Elpi_util.Util.Hashtbl.Make)

      Module Hashtbl.Make

      Parameters

      module H : HashedType

      Signature

      type key = H.t
      type !'a t = 'a Stdlib__Hashtbl.Make(H).t
      val create : int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      +Make (elpi.Elpi_util.Util.Hashtbl.Make)

      Module Hashtbl.Make

      Parameters

      module H : HashedType

      Signature

      type key = H.t
      type !'a t = 'a Stdlib__Hashtbl.Make(H).t
      val create : int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      diff --git a/elpi/Elpi_util/Util/Hashtbl/MakeSeeded/argument-1-H/index.html b/elpi/Elpi_util/Util/Hashtbl/MakeSeeded/argument-1-H/index.html index a1db6bad6..b2565e83a 100644 --- a/elpi/Elpi_util/Util/Hashtbl/MakeSeeded/argument-1-H/index.html +++ b/elpi/Elpi_util/Util/Hashtbl/MakeSeeded/argument-1-H/index.html @@ -1,2 +1,2 @@ -H (elpi.Elpi_util.Util.Hashtbl.MakeSeeded.H)

      Parameter MakeSeeded.H

      type t
      val equal : t -> t -> bool
      val hash : int -> t -> int
      +H (elpi.Elpi_util.Util.Hashtbl.MakeSeeded.H)

      Parameter MakeSeeded.H

      type t
      val equal : t -> t -> bool
      val hash : int -> t -> int
      diff --git a/elpi/Elpi_util/Util/Hashtbl/MakeSeeded/index.html b/elpi/Elpi_util/Util/Hashtbl/MakeSeeded/index.html index 8fb23ad7e..bd13d65a1 100644 --- a/elpi/Elpi_util/Util/Hashtbl/MakeSeeded/index.html +++ b/elpi/Elpi_util/Util/Hashtbl/MakeSeeded/index.html @@ -1,2 +1,2 @@ -MakeSeeded (elpi.Elpi_util.Util.Hashtbl.MakeSeeded)

      Module Hashtbl.MakeSeeded

      Parameters

      Signature

      type key = H.t
      type !'a t = 'a Stdlib__Hashtbl.MakeSeeded(H).t
      val create : ?random:bool -> int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      +MakeSeeded (elpi.Elpi_util.Util.Hashtbl.MakeSeeded)

      Module Hashtbl.MakeSeeded

      Parameters

      Signature

      type key = H.t
      type !'a t = 'a Stdlib__Hashtbl.MakeSeeded(H).t
      val create : ?random:bool -> int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      diff --git a/elpi/Elpi_util/Util/Hashtbl/index.html b/elpi/Elpi_util/Util/Hashtbl/index.html index 14343ab8a..3686ad77a 100644 --- a/elpi/Elpi_util/Util/Hashtbl/index.html +++ b/elpi/Elpi_util/Util/Hashtbl/index.html @@ -1,5 +1,5 @@ -Hashtbl (elpi.Elpi_util.Util.Hashtbl)

      Module Util.Hashtbl

      include module type of Stdlib.Hashtbl
      type (!'a, !'b) t = ('a, 'b) Stdlib__Hashtbl.t
      val create : ?random:bool -> int -> ('a, 'b) t
      val clear : ('a, 'b) t -> unit
      val reset : ('a, 'b) t -> unit
      val copy : ('a, 'b) t -> ('a, 'b) t
      val add : ('a, 'b) t -> 'a -> 'b -> unit
      val find : ('a, 'b) t -> 'a -> 'b
      val find_opt : ('a, 'b) t -> 'a -> 'b option
      val find_all : ('a, 'b) t -> 'a -> 'b list
      val mem : ('a, 'b) t -> 'a -> bool
      val remove : ('a, 'b) t -> 'a -> unit
      val replace : ('a, 'b) t -> 'a -> 'b -> unit
      val iter : ('a -> 'b -> unit) -> ('a, 'b) t -> unit
      val filter_map_inplace : ('a -> 'b -> 'b option) -> ('a, 'b) t -> unit
      val fold : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
      val length : ('a, 'b) t -> int
      val randomize : unit -> unit
      val is_randomized : unit -> bool
      val rebuild : ?random:bool -> ('a, 'b) t -> ('a, 'b) t
      type statistics = Stdlib__Hashtbl.statistics = {
      1. num_bindings : int;
      2. num_buckets : int;
      3. max_bucket_length : int;
      4. bucket_histogram : int array;
      }
      val stats : ('a, 'b) t -> statistics
      val to_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t
      val to_seq_keys : ('a, 'b) t -> 'a Stdlib.Seq.t
      val to_seq_values : ('a, 'b) t -> 'b Stdlib.Seq.t
      val add_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t -> unit
      val replace_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t -> unit
      val of_seq : ('a * 'b) Stdlib.Seq.t -> ('a, 'b) t
      module type HashedType = sig ... end
      module type S = sig ... end
      module Make (H : HashedType) : sig ... end
      module type SeededHashedType = sig ... end
      module type SeededS = sig ... end
      module MakeSeeded (H : SeededHashedType) : sig ... end
      val hash : 'a -> int
      val seeded_hash : int -> 'a -> int
      val hash_param : int -> int -> 'a -> int
      val seeded_hash_param : int -> int -> int -> 'a -> int
      include Show2 with type ('a, 'b) t := ('a, 'b) t
      val pp : +Hashtbl (elpi.Elpi_util.Util.Hashtbl)

      Module Util.Hashtbl

      include module type of Stdlib.Hashtbl
      type (!'a, !'b) t = ('a, 'b) Stdlib__Hashtbl.t
      val create : ?random:bool -> int -> ('a, 'b) t
      val clear : ('a, 'b) t -> unit
      val reset : ('a, 'b) t -> unit
      val copy : ('a, 'b) t -> ('a, 'b) t
      val add : ('a, 'b) t -> 'a -> 'b -> unit
      val find : ('a, 'b) t -> 'a -> 'b
      val find_opt : ('a, 'b) t -> 'a -> 'b option
      val find_all : ('a, 'b) t -> 'a -> 'b list
      val mem : ('a, 'b) t -> 'a -> bool
      val remove : ('a, 'b) t -> 'a -> unit
      val replace : ('a, 'b) t -> 'a -> 'b -> unit
      val iter : ('a -> 'b -> unit) -> ('a, 'b) t -> unit
      val filter_map_inplace : ('a -> 'b -> 'b option) -> ('a, 'b) t -> unit
      val fold : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
      val length : ('a, 'b) t -> int
      val randomize : unit -> unit
      val is_randomized : unit -> bool
      val rebuild : ?random:bool -> ('a, 'b) t -> ('a, 'b) t
      type statistics = Stdlib__Hashtbl.statistics = {
      1. num_bindings : int;
      2. num_buckets : int;
      3. max_bucket_length : int;
      4. bucket_histogram : int array;
      }
      val stats : ('a, 'b) t -> statistics
      val to_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t
      val to_seq_keys : ('a, 'b) t -> 'a Stdlib.Seq.t
      val to_seq_values : ('a, 'b) t -> 'b Stdlib.Seq.t
      val add_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t -> unit
      val replace_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t -> unit
      val of_seq : ('a * 'b) Stdlib.Seq.t -> ('a, 'b) t
      module type HashedType = sig ... end
      module type S = sig ... end
      module Make (H : HashedType) : sig ... end
      module type SeededHashedType = sig ... end
      module type SeededS = sig ... end
      module MakeSeeded (H : SeededHashedType) : sig ... end
      val hash : 'a -> int
      val seeded_hash : int -> 'a -> int
      val hash_param : int -> int -> 'a -> int
      val seeded_hash_param : int -> int -> int -> 'a -> int
      include Show2 with type ('a, 'b) t := ('a, 'b) t
      val pp : (Stdlib.Format.formatter -> 'a -> unit) -> (Stdlib.Format.formatter -> 'b -> unit) -> Stdlib.Format.formatter -> diff --git a/elpi/Elpi_util/Util/Hashtbl/module-type-HashedType/index.html b/elpi/Elpi_util/Util/Hashtbl/module-type-HashedType/index.html index 6f89fbb6f..ef3c42c79 100644 --- a/elpi/Elpi_util/Util/Hashtbl/module-type-HashedType/index.html +++ b/elpi/Elpi_util/Util/Hashtbl/module-type-HashedType/index.html @@ -1,2 +1,2 @@ -HashedType (elpi.Elpi_util.Util.Hashtbl.HashedType)

      Module type Hashtbl.HashedType

      type t
      val equal : t -> t -> bool
      val hash : t -> int
      +HashedType (elpi.Elpi_util.Util.Hashtbl.HashedType)

      Module type Hashtbl.HashedType

      type t
      val equal : t -> t -> bool
      val hash : t -> int
      diff --git a/elpi/Elpi_util/Util/Hashtbl/module-type-S/index.html b/elpi/Elpi_util/Util/Hashtbl/module-type-S/index.html index bfc619003..272de945f 100644 --- a/elpi/Elpi_util/Util/Hashtbl/module-type-S/index.html +++ b/elpi/Elpi_util/Util/Hashtbl/module-type-S/index.html @@ -1,2 +1,2 @@ -S (elpi.Elpi_util.Util.Hashtbl.S)

      Module type Hashtbl.S

      type key
      type !'a t
      val create : int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      +S (elpi.Elpi_util.Util.Hashtbl.S)

      Module type Hashtbl.S

      type key
      type !'a t
      val create : int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      diff --git a/elpi/Elpi_util/Util/Hashtbl/module-type-SeededHashedType/index.html b/elpi/Elpi_util/Util/Hashtbl/module-type-SeededHashedType/index.html index e1476ae33..ca28b1856 100644 --- a/elpi/Elpi_util/Util/Hashtbl/module-type-SeededHashedType/index.html +++ b/elpi/Elpi_util/Util/Hashtbl/module-type-SeededHashedType/index.html @@ -1,2 +1,2 @@ -SeededHashedType (elpi.Elpi_util.Util.Hashtbl.SeededHashedType)

      Module type Hashtbl.SeededHashedType

      type t
      val equal : t -> t -> bool
      val hash : int -> t -> int
      +SeededHashedType (elpi.Elpi_util.Util.Hashtbl.SeededHashedType)

      Module type Hashtbl.SeededHashedType

      type t
      val equal : t -> t -> bool
      val hash : int -> t -> int
      diff --git a/elpi/Elpi_util/Util/Hashtbl/module-type-SeededS/index.html b/elpi/Elpi_util/Util/Hashtbl/module-type-SeededS/index.html index 369cd337e..c7f89f5a6 100644 --- a/elpi/Elpi_util/Util/Hashtbl/module-type-SeededS/index.html +++ b/elpi/Elpi_util/Util/Hashtbl/module-type-SeededS/index.html @@ -1,2 +1,2 @@ -SeededS (elpi.Elpi_util.Util.Hashtbl.SeededS)

      Module type Hashtbl.SeededS

      type key
      type !'a t
      val create : ?random:bool -> int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      +SeededS (elpi.Elpi_util.Util.Hashtbl.SeededS)

      Module type Hashtbl.SeededS

      type key
      type !'a t
      val create : ?random:bool -> int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      diff --git a/elpi/Elpi_util/Util/Int/index.html b/elpi/Elpi_util/Util/Int/index.html index b1d80ce3c..bf4a78e6e 100644 --- a/elpi/Elpi_util/Util/Int/index.html +++ b/elpi/Elpi_util/Util/Int/index.html @@ -1,2 +1,2 @@ -Int (elpi.Elpi_util.Util.Int)

      Module Util.Int

      type t = int
      val compare : t -> t -> int
      include Show with type t := int
      val pp : Stdlib.Format.formatter -> int -> unit
      val show : int -> string
      +Int (elpi.Elpi_util.Util.Int)

      Module Util.Int

      type t = int
      val compare : t -> t -> int
      include Show with type t := int
      val pp : Stdlib.Format.formatter -> int -> unit
      val show : int -> string
      diff --git a/elpi/Elpi_util/Util/IntMap/index.html b/elpi/Elpi_util/Util/IntMap/index.html index ed0cf5aa8..46d503f4c 100644 --- a/elpi/Elpi_util/Util/IntMap/index.html +++ b/elpi/Elpi_util/Util/IntMap/index.html @@ -1,5 +1,5 @@ -IntMap (elpi.Elpi_util.Util.IntMap)

      Module Util.IntMap

      include Stdlib.Map.S with type key = int
      type key = int
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : +IntMap (elpi.Elpi_util.Util.IntMap)

      Module Util.IntMap

      include Stdlib.Map.S with type key = int
      type key = int
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/elpi/Elpi_util/Util/IntSet/index.html b/elpi/Elpi_util/Util/IntSet/index.html index 80bb0a92b..6a4c1be5e 100644 --- a/elpi/Elpi_util/Util/IntSet/index.html +++ b/elpi/Elpi_util/Util/IntSet/index.html @@ -1,2 +1,2 @@ -IntSet (elpi.Elpi_util.Util.IntSet)

      Module Util.IntSet

      include Stdlib.Set.S with type elt = int
      type elt = int
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +IntSet (elpi.Elpi_util.Util.IntSet)

      Module Util.IntSet

      include Stdlib.Set.S with type elt = int
      type elt = int
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/Loc/index.html b/elpi/Elpi_util/Util/Loc/index.html index abd486483..bfcee08b1 100644 --- a/elpi/Elpi_util/Util/Loc/index.html +++ b/elpi/Elpi_util/Util/Loc/index.html @@ -1,2 +1,2 @@ -Loc (elpi.Elpi_util.Util.Loc)

      Module Util.Loc

      type t = {
      1. source_name : string;
      2. source_start : int;
      3. source_stop : int;
      4. line : int;
      5. line_starts_at : int;
      }
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      val initial : string -> t
      +Loc (elpi.Elpi_util.Util.Loc)

      Module Util.Loc

      type t = {
      1. source_name : string;
      2. source_start : int;
      3. source_stop : int;
      4. line : int;
      5. line_starts_at : int;
      }
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      val initial : string -> t
      diff --git a/elpi/Elpi_util/Util/Map/Make/argument-1-Ord/index.html b/elpi/Elpi_util/Util/Map/Make/argument-1-Ord/index.html index 290ccc9d9..1b44d8966 100644 --- a/elpi/Elpi_util/Util/Map/Make/argument-1-Ord/index.html +++ b/elpi/Elpi_util/Util/Map/Make/argument-1-Ord/index.html @@ -1,2 +1,2 @@ -Ord (elpi.Elpi_util.Util.Map.Make.Ord)

      Parameter Make.Ord

      include Stdlib.Map.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Ord (elpi.Elpi_util.Util.Map.Make.Ord)

      Parameter Make.Ord

      include Stdlib.Map.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/Map/Make/index.html b/elpi/Elpi_util/Util/Map/Make/index.html index 02acae6dc..3ff38f512 100644 --- a/elpi/Elpi_util/Util/Map/Make/index.html +++ b/elpi/Elpi_util/Util/Map/Make/index.html @@ -1,5 +1,5 @@ -Make (elpi.Elpi_util.Util.Map.Make)

      Module Map.Make

      Parameters

      module Ord : OrderedType

      Signature

      include Stdlib.Map.S with type key = Ord.t
      type key = Ord.t
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : +Make (elpi.Elpi_util.Util.Map.Make)

      Module Map.Make

      Parameters

      module Ord : OrderedType

      Signature

      include Stdlib.Map.S with type key = Ord.t
      type key = Ord.t
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/elpi/Elpi_util/Util/Map/index.html b/elpi/Elpi_util/Util/Map/index.html index 9cd7b2ef1..9aae56616 100644 --- a/elpi/Elpi_util/Util/Map/index.html +++ b/elpi/Elpi_util/Util/Map/index.html @@ -1,2 +1,2 @@ -Map (elpi.Elpi_util.Util.Map)

      Module Util.Map

      module type S = sig ... end
      module type OrderedType = sig ... end
      module Make (Ord : OrderedType) : S with type key = Ord.t
      +Map (elpi.Elpi_util.Util.Map)

      Module Util.Map

      module type S = sig ... end
      module type OrderedType = sig ... end
      module Make (Ord : OrderedType) : S with type key = Ord.t
      diff --git a/elpi/Elpi_util/Util/Map/module-type-OrderedType/index.html b/elpi/Elpi_util/Util/Map/module-type-OrderedType/index.html index fb4f1495c..d764881aa 100644 --- a/elpi/Elpi_util/Util/Map/module-type-OrderedType/index.html +++ b/elpi/Elpi_util/Util/Map/module-type-OrderedType/index.html @@ -1,2 +1,2 @@ -OrderedType (elpi.Elpi_util.Util.Map.OrderedType)

      Module type Map.OrderedType

      include Stdlib.Map.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +OrderedType (elpi.Elpi_util.Util.Map.OrderedType)

      Module type Map.OrderedType

      include Stdlib.Map.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/Map/module-type-S/index.html b/elpi/Elpi_util/Util/Map/module-type-S/index.html index 8cd943e06..77af44d6a 100644 --- a/elpi/Elpi_util/Util/Map/module-type-S/index.html +++ b/elpi/Elpi_util/Util/Map/module-type-S/index.html @@ -1,5 +1,5 @@ -S (elpi.Elpi_util.Util.Map.S)

      Module type Map.S

      include Stdlib.Map.S
      type key
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : +S (elpi.Elpi_util.Util.Map.S)

      Module type Map.S

      include Stdlib.Map.S
      type key
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/elpi/Elpi_util/Util/Set/Make/argument-1-Ord/index.html b/elpi/Elpi_util/Util/Set/Make/argument-1-Ord/index.html index 1dc8b2777..c774d4721 100644 --- a/elpi/Elpi_util/Util/Set/Make/argument-1-Ord/index.html +++ b/elpi/Elpi_util/Util/Set/Make/argument-1-Ord/index.html @@ -1,2 +1,2 @@ -Ord (elpi.Elpi_util.Util.Set.Make.Ord)

      Parameter Make.Ord

      include Stdlib.Set.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Ord (elpi.Elpi_util.Util.Set.Make.Ord)

      Parameter Make.Ord

      include Stdlib.Set.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/Set/Make/index.html b/elpi/Elpi_util/Util/Set/Make/index.html index 5a2c6d6bd..fb204445b 100644 --- a/elpi/Elpi_util/Util/Set/Make/index.html +++ b/elpi/Elpi_util/Util/Set/Make/index.html @@ -1,2 +1,2 @@ -Make (elpi.Elpi_util.Util.Set.Make)

      Module Set.Make

      Parameters

      module Ord : OrderedType

      Signature

      include Stdlib.Set.S with type elt = Ord.t
      type elt = Ord.t
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Make (elpi.Elpi_util.Util.Set.Make)

      Module Set.Make

      Parameters

      module Ord : OrderedType

      Signature

      include Stdlib.Set.S with type elt = Ord.t
      type elt = Ord.t
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/Set/index.html b/elpi/Elpi_util/Util/Set/index.html index d91a411a8..5ea8dec5e 100644 --- a/elpi/Elpi_util/Util/Set/index.html +++ b/elpi/Elpi_util/Util/Set/index.html @@ -1,2 +1,2 @@ -Set (elpi.Elpi_util.Util.Set)

      Module Util.Set

      module type S = sig ... end
      module type OrderedType = sig ... end
      module Make (Ord : OrderedType) : S with type elt = Ord.t
      +Set (elpi.Elpi_util.Util.Set)

      Module Util.Set

      module type S = sig ... end
      module type OrderedType = sig ... end
      module Make (Ord : OrderedType) : S with type elt = Ord.t
      diff --git a/elpi/Elpi_util/Util/Set/module-type-OrderedType/index.html b/elpi/Elpi_util/Util/Set/module-type-OrderedType/index.html index 0daaf78b7..f841d9181 100644 --- a/elpi/Elpi_util/Util/Set/module-type-OrderedType/index.html +++ b/elpi/Elpi_util/Util/Set/module-type-OrderedType/index.html @@ -1,2 +1,2 @@ -OrderedType (elpi.Elpi_util.Util.Set.OrderedType)

      Module type Set.OrderedType

      include Stdlib.Set.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +OrderedType (elpi.Elpi_util.Util.Set.OrderedType)

      Module type Set.OrderedType

      include Stdlib.Set.OrderedType
      type t
      val compare : t -> t -> int
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/Set/module-type-S/index.html b/elpi/Elpi_util/Util/Set/module-type-S/index.html index 19808916b..3627776a7 100644 --- a/elpi/Elpi_util/Util/Set/module-type-S/index.html +++ b/elpi/Elpi_util/Util/Set/module-type-S/index.html @@ -1,2 +1,2 @@ -S (elpi.Elpi_util.Util.Set.S)

      Module type Set.S

      include Stdlib.Set.S
      type elt
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +S (elpi.Elpi_util.Util.Set.S)

      Module type Set.S

      include Stdlib.Set.S
      type elt
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/StrMap/index.html b/elpi/Elpi_util/Util/StrMap/index.html index 085c17461..9e0bafeb4 100644 --- a/elpi/Elpi_util/Util/StrMap/index.html +++ b/elpi/Elpi_util/Util/StrMap/index.html @@ -1,5 +1,5 @@ -StrMap (elpi.Elpi_util.Util.StrMap)

      Module Util.StrMap

      include Stdlib.Map.S with type key = string
      type key = string
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : +StrMap (elpi.Elpi_util.Util.StrMap)

      Module Util.StrMap

      include Stdlib.Map.S with type key = string
      type key = string
      type !+'a t
      val empty : 'a t
      val is_empty : 'a t -> bool
      val mem : key -> 'a t -> bool
      val add : key -> 'a -> 'a t -> 'a t
      val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
      val singleton : key -> 'a -> 'a t
      val remove : key -> 'a t -> 'a t
      val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/elpi/Elpi_util/Util/StrSet/index.html b/elpi/Elpi_util/Util/StrSet/index.html index 484d3ce8b..982e9199e 100644 --- a/elpi/Elpi_util/Util/StrSet/index.html +++ b/elpi/Elpi_util/Util/StrSet/index.html @@ -1,2 +1,2 @@ -StrSet (elpi.Elpi_util.Util.StrSet)

      Module Util.StrSet

      include Stdlib.Set.S with type elt = string
      type elt = string
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +StrSet (elpi.Elpi_util.Util.StrSet)

      Module Util.StrSet

      include Stdlib.Set.S with type elt = string
      type elt = string
      type t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val disjoint : t -> t -> bool
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val map : (elt -> elt) -> t -> t
      val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val filter_map : (elt -> elt option) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val min_elt_opt : t -> elt option
      val max_elt : t -> elt
      val max_elt_opt : t -> elt option
      val choose : t -> elt
      val choose_opt : t -> elt option
      val split : elt -> t -> t * bool * t
      val find : elt -> t -> elt
      val find_opt : elt -> t -> elt option
      val find_first : (elt -> bool) -> t -> elt
      val find_first_opt : (elt -> bool) -> t -> elt option
      val find_last : (elt -> bool) -> t -> elt
      val find_last_opt : (elt -> bool) -> t -> elt option
      val of_list : elt list -> t
      val to_seq_from : elt -> t -> elt Stdlib.Seq.t
      val to_seq : t -> elt Stdlib.Seq.t
      val to_rev_seq : t -> elt Stdlib.Seq.t
      val add_seq : elt Stdlib.Seq.t -> t -> t
      val of_seq : elt Stdlib.Seq.t -> t
      include Show with type t := t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/String/index.html b/elpi/Elpi_util/Util/String/index.html index 3e2b131b0..daa0eabcc 100644 --- a/elpi/Elpi_util/Util/String/index.html +++ b/elpi/Elpi_util/Util/String/index.html @@ -1,2 +1,2 @@ -String (elpi.Elpi_util.Util.String)

      Module Util.String

      include module type of Stdlib.String
      type t = string
      val make : int -> char -> string
      val init : int -> (int -> char) -> string
      val empty : string
      val of_bytes : bytes -> string
      val to_bytes : string -> bytes
      val length : string -> int
      val get : string -> int -> char
      val concat : string -> string list -> string
      val cat : string -> string -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      val starts_with : prefix:string -> string -> bool
      val ends_with : suffix:string -> string -> bool
      val contains_from : string -> int -> char -> bool
      val rcontains_from : string -> int -> char -> bool
      val contains : string -> char -> bool
      val sub : string -> int -> int -> string
      val split_on_char : char -> string -> string list
      val map : (char -> char) -> string -> string
      val mapi : (int -> char -> char) -> string -> string
      val fold_left : ('a -> char -> 'a) -> 'a -> string -> 'a
      val fold_right : (char -> 'a -> 'a) -> string -> 'a -> 'a
      val for_all : (char -> bool) -> string -> bool
      val exists : (char -> bool) -> string -> bool
      val trim : string -> string
      val escaped : string -> string
      val uppercase_ascii : string -> string
      val lowercase_ascii : string -> string
      val capitalize_ascii : string -> string
      val uncapitalize_ascii : string -> string
      val iter : (char -> unit) -> string -> unit
      val iteri : (int -> char -> unit) -> string -> unit
      val index_from : string -> int -> char -> int
      val index_from_opt : string -> int -> char -> int option
      val rindex_from : string -> int -> char -> int
      val rindex_from_opt : string -> int -> char -> int option
      val index : string -> char -> int
      val index_opt : string -> char -> int option
      val rindex : string -> char -> int
      val rindex_opt : string -> char -> int option
      val to_seq : t -> char Stdlib.Seq.t
      val to_seqi : t -> (int * char) Stdlib.Seq.t
      val of_seq : char Stdlib.Seq.t -> t
      val create : int -> bytes
      • deprecated Use Bytes.create/BytesLabels.create instead.
      val set : bytes -> int -> char -> unit
      • deprecated Use Bytes.set/BytesLabels.set instead.
      val blit : string -> int -> bytes -> int -> int -> unit
      val copy : string -> string
      • deprecated Strings now immutable: no need to copy
      val fill : bytes -> int -> int -> char -> unit
      • deprecated Use Bytes.fill/BytesLabels.fill instead.
      val uppercase : string -> string
      • deprecated Use String.uppercase_ascii/StringLabels.uppercase_ascii instead.
      val lowercase : string -> string
      • deprecated Use String.lowercase_ascii/StringLabels.lowercase_ascii instead.
      val capitalize : string -> string
      • deprecated Use String.capitalize_ascii/StringLabels.capitalize_ascii instead.
      val uncapitalize : string -> string
      • deprecated Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead.
      val get_uint8 : string -> int -> int
      val get_int8 : string -> int -> int
      val get_uint16_ne : string -> int -> int
      val get_uint16_be : string -> int -> int
      val get_uint16_le : string -> int -> int
      val get_int16_ne : string -> int -> int
      val get_int16_be : string -> int -> int
      val get_int16_le : string -> int -> int
      val get_int32_ne : string -> int -> int32
      val get_int32_be : string -> int -> int32
      val get_int32_le : string -> int -> int32
      val get_int64_ne : string -> int -> int64
      val get_int64_be : string -> int -> int64
      val get_int64_le : string -> int -> int64
      val unsafe_get : string -> int -> char
      val unsafe_set : bytes -> int -> char -> unit
      • deprecated
      val unsafe_blit : string -> int -> bytes -> int -> int -> unit
      val unsafe_fill : bytes -> int -> int -> char -> unit
      • deprecated
      include Show with type t := string
      val pp : Stdlib.Format.formatter -> string -> unit
      val show : string -> string
      +String (elpi.Elpi_util.Util.String)

      Module Util.String

      include module type of Stdlib.String
      type t = string
      val make : int -> char -> string
      val init : int -> (int -> char) -> string
      val empty : string
      val of_bytes : bytes -> string
      val to_bytes : string -> bytes
      val length : string -> int
      val get : string -> int -> char
      val concat : string -> string list -> string
      val cat : string -> string -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      val starts_with : prefix:string -> string -> bool
      val ends_with : suffix:string -> string -> bool
      val contains_from : string -> int -> char -> bool
      val rcontains_from : string -> int -> char -> bool
      val contains : string -> char -> bool
      val sub : string -> int -> int -> string
      val split_on_char : char -> string -> string list
      val map : (char -> char) -> string -> string
      val mapi : (int -> char -> char) -> string -> string
      val fold_left : ('a -> char -> 'a) -> 'a -> string -> 'a
      val fold_right : (char -> 'a -> 'a) -> string -> 'a -> 'a
      val for_all : (char -> bool) -> string -> bool
      val exists : (char -> bool) -> string -> bool
      val trim : string -> string
      val escaped : string -> string
      val uppercase_ascii : string -> string
      val lowercase_ascii : string -> string
      val capitalize_ascii : string -> string
      val uncapitalize_ascii : string -> string
      val iter : (char -> unit) -> string -> unit
      val iteri : (int -> char -> unit) -> string -> unit
      val index_from : string -> int -> char -> int
      val index_from_opt : string -> int -> char -> int option
      val rindex_from : string -> int -> char -> int
      val rindex_from_opt : string -> int -> char -> int option
      val index : string -> char -> int
      val index_opt : string -> char -> int option
      val rindex : string -> char -> int
      val rindex_opt : string -> char -> int option
      val to_seq : t -> char Stdlib.Seq.t
      val to_seqi : t -> (int * char) Stdlib.Seq.t
      val of_seq : char Stdlib.Seq.t -> t
      val create : int -> bytes
      • deprecated Use Bytes.create/BytesLabels.create instead.
      val set : bytes -> int -> char -> unit
      • deprecated Use Bytes.set/BytesLabels.set instead.
      val blit : string -> int -> bytes -> int -> int -> unit
      val copy : string -> string
      • deprecated Strings now immutable: no need to copy
      val fill : bytes -> int -> int -> char -> unit
      • deprecated Use Bytes.fill/BytesLabels.fill instead.
      val uppercase : string -> string
      • deprecated Use String.uppercase_ascii/StringLabels.uppercase_ascii instead.
      val lowercase : string -> string
      • deprecated Use String.lowercase_ascii/StringLabels.lowercase_ascii instead.
      val capitalize : string -> string
      • deprecated Use String.capitalize_ascii/StringLabels.capitalize_ascii instead.
      val uncapitalize : string -> string
      • deprecated Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead.
      val get_uint8 : string -> int -> int
      val get_int8 : string -> int -> int
      val get_uint16_ne : string -> int -> int
      val get_uint16_be : string -> int -> int
      val get_uint16_le : string -> int -> int
      val get_int16_ne : string -> int -> int
      val get_int16_be : string -> int -> int
      val get_int16_le : string -> int -> int
      val get_int32_ne : string -> int -> int32
      val get_int32_be : string -> int -> int32
      val get_int32_le : string -> int -> int32
      val get_int64_ne : string -> int -> int64
      val get_int64_be : string -> int -> int64
      val get_int64_le : string -> int -> int64
      val unsafe_get : string -> int -> char
      val unsafe_set : bytes -> int -> char -> unit
      • deprecated
      val unsafe_blit : string -> int -> bytes -> int -> int -> unit
      val unsafe_fill : bytes -> int -> int -> char -> unit
      • deprecated
      include Show with type t := string
      val pp : Stdlib.Format.formatter -> string -> unit
      val show : string -> string
      diff --git a/elpi/Elpi_util/Util/UUID/Htbl/index.html b/elpi/Elpi_util/Util/UUID/Htbl/index.html index b958ae580..cd970d266 100644 --- a/elpi/Elpi_util/Util/UUID/Htbl/index.html +++ b/elpi/Elpi_util/Util/UUID/Htbl/index.html @@ -1,2 +1,2 @@ -Htbl (elpi.Elpi_util.Util.UUID.Htbl)

      Module UUID.Htbl

      type key = t
      type !'a t
      val create : int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> Hashtbl.statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      +Htbl (elpi.Elpi_util.Util.UUID.Htbl)

      Module UUID.Htbl

      type key = t
      type !'a t
      val create : int -> 'a t
      val clear : 'a t -> unit
      val reset : 'a t -> unit
      val copy : 'a t -> 'a t
      val add : 'a t -> key -> 'a -> unit
      val remove : 'a t -> key -> unit
      val find : 'a t -> key -> 'a
      val find_opt : 'a t -> key -> 'a option
      val find_all : 'a t -> key -> 'a list
      val replace : 'a t -> key -> 'a -> unit
      val mem : 'a t -> key -> bool
      val iter : (key -> 'a -> unit) -> 'a t -> unit
      val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
      val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
      val length : 'a t -> int
      val stats : 'a t -> Hashtbl.statistics
      val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
      val to_seq_keys : 'a t -> key Stdlib.Seq.t
      val to_seq_values : 'a t -> 'a Stdlib.Seq.t
      val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
      val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
      diff --git a/elpi/Elpi_util/Util/UUID/index.html b/elpi/Elpi_util/Util/UUID/index.html index 1dfac69e4..b971d72c1 100644 --- a/elpi/Elpi_util/Util/UUID/index.html +++ b/elpi/Elpi_util/Util/UUID/index.html @@ -1,2 +1,2 @@ -UUID (elpi.Elpi_util.Util.UUID)

      Module Util.UUID

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      val hash : t -> int
      val make : unit -> t
      module Htbl : Hashtbl.S with type key = t
      +UUID (elpi.Elpi_util.Util.UUID)

      Module Util.UUID

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      val equal : t -> t -> bool
      val compare : t -> t -> int
      val hash : t -> int
      val make : unit -> t
      module Htbl : Hashtbl.S with type key = t
      diff --git a/elpi/Elpi_util/Util/index.html b/elpi/Elpi_util/Util/index.html index f256b3e0f..b0d3766bd 100644 --- a/elpi/Elpi_util/Util/index.html +++ b/elpi/Elpi_util/Util/index.html @@ -1,5 +1,5 @@ -Util (elpi.Elpi_util.Util)

      Module Elpi_util.Util

      module type Show = sig ... end
      module type Show1 = sig ... end
      module type Show2 = sig ... end
      module Map : sig ... end
      module Set : sig ... end
      module Int : sig ... end
      module Bool : sig ... end
      module String : sig ... end
      module StrMap : Map.S with type key = string
      module IntMap : Map.S with type key = int
      module StrSet : Set.S with type elt = string
      module IntSet : Set.S with type elt = int
      module Digest : sig ... end
      module Hashtbl : sig ... end
      module Loc : sig ... end
      val smart_map : ('a -> 'a) -> 'a list -> 'a list
      val smart_map2 : ('x -> 'a -> 'a) -> 'x -> 'a list -> 'a list
      val smart_map3 : ('x -> 'y -> 'a -> 'a) -> 'x -> 'y -> 'a list -> 'a list
      val uniqq : 'a list -> 'a list
      val for_all2 : ('a -> 'a -> bool) -> 'a list -> 'a list -> bool
      val for_all23 : +Util (elpi.Elpi_util.Util)

      Module Elpi_util.Util

      module type Show = sig ... end
      module type Show1 = sig ... end
      module type Show2 = sig ... end
      module Map : sig ... end
      module Set : sig ... end
      module Int : sig ... end
      module Bool : sig ... end
      module String : sig ... end
      module StrMap : Map.S with type key = string
      module IntMap : Map.S with type key = int
      module StrSet : Set.S with type elt = string
      module IntSet : Set.S with type elt = int
      module Digest : sig ... end
      module Hashtbl : sig ... end
      module Loc : sig ... end
      val smart_map : ('a -> 'a) -> 'a list -> 'a list
      val smart_map2 : ('x -> 'a -> 'a) -> 'x -> 'a list -> 'a list
      val smart_map3 : ('x -> 'y -> 'a -> 'a) -> 'x -> 'y -> 'a list -> 'a list
      val uniqq : 'a list -> 'a list
      val for_all2 : ('a -> 'a -> bool) -> 'a list -> 'a list -> bool
      val for_all23 : argsdepth:int -> (argsdepth:int -> matching:bool -> 'x -> 'y -> 'z -> 'a -> 'a -> bool) -> 'x -> diff --git a/elpi/Elpi_util/Util/module-type-Show/index.html b/elpi/Elpi_util/Util/module-type-Show/index.html index 9c64b8346..bbcf28510 100644 --- a/elpi/Elpi_util/Util/module-type-Show/index.html +++ b/elpi/Elpi_util/Util/module-type-Show/index.html @@ -1,2 +1,2 @@ -Show (elpi.Elpi_util.Util.Show)

      Module type Util.Show

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      +Show (elpi.Elpi_util.Util.Show)

      Module type Util.Show

      type t
      val pp : Stdlib.Format.formatter -> t -> unit
      val show : t -> string
      diff --git a/elpi/Elpi_util/Util/module-type-Show1/index.html b/elpi/Elpi_util/Util/module-type-Show1/index.html index fe2cf0b3c..45022fb45 100644 --- a/elpi/Elpi_util/Util/module-type-Show1/index.html +++ b/elpi/Elpi_util/Util/module-type-Show1/index.html @@ -1,5 +1,5 @@ -Show1 (elpi.Elpi_util.Util.Show1)

      Module type Util.Show1

      type 'a t
      val pp : +Show1 (elpi.Elpi_util.Util.Show1)

      Module type Util.Show1

      type 'a t
      val pp : (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a t -> diff --git a/elpi/Elpi_util/Util/module-type-Show2/index.html b/elpi/Elpi_util/Util/module-type-Show2/index.html index f4ec0ea48..3b56354fc 100644 --- a/elpi/Elpi_util/Util/module-type-Show2/index.html +++ b/elpi/Elpi_util/Util/module-type-Show2/index.html @@ -1,5 +1,5 @@ -Show2 (elpi.Elpi_util.Util.Show2)

      Module type Util.Show2

      type ('a, 'b) t
      val pp : +Show2 (elpi.Elpi_util.Util.Show2)

      Module type Util.Show2

      type ('a, 'b) t
      val pp : (Stdlib.Format.formatter -> 'a -> unit) -> (Stdlib.Format.formatter -> 'b -> unit) -> Stdlib.Format.formatter -> diff --git a/elpi/Elpi_util/index.html b/elpi/Elpi_util/index.html index 3c416fa7a..d9f62b226 100644 --- a/elpi/Elpi_util/index.html +++ b/elpi/Elpi_util/index.html @@ -1,2 +1,2 @@ -Elpi_util (elpi.Elpi_util)

      Module Elpi_util

      module Util : sig ... end
      +Elpi_util (elpi.Elpi_util)

      Module Elpi_util

      module Util : sig ... end
      diff --git a/elpi/Trace_ppx/index.html b/elpi/Trace_ppx/index.html index 75dc02592..3ee767537 100644 --- a/elpi/Trace_ppx/index.html +++ b/elpi/Trace_ppx/index.html @@ -1,5 +1,5 @@ -Trace_ppx (elpi.Trace_ppx)

      Module Trace_ppx

      elpi.trace.ppx provides the following syntax extensions:

      type t = { a : T; b : S [@trace] }
      +Trace_ppx (elpi.Trace_ppx)

      Module Trace_ppx

      elpi.trace.ppx provides the following syntax extensions:

      type t = { a : T; b : S [@trace] }
       
       let rec f x (w[@trace]) =
        [%trace "f" (fun fmt -> .. x ..) begin
      diff --git a/elpi/Trace_ppx_runtime/Runtime/index.html b/elpi/Trace_ppx_runtime/Runtime/index.html
      index b6db2041b..81726966d 100644
      --- a/elpi/Trace_ppx_runtime/Runtime/index.html
      +++ b/elpi/Trace_ppx_runtime/Runtime/index.html
      @@ -1,5 +1,5 @@
       
      -Runtime (elpi.Trace_ppx_runtime.Runtime)

      Module Trace_ppx_runtime.Runtime

      exception TREC_CALL of Stdlib.Obj.t * Stdlib.Obj.t
      type j =
      1. | J : (Stdlib.Format.formatter -> 'a -> unit) * 'a -> j
      val enter : +Runtime (elpi.Trace_ppx_runtime.Runtime)

      Module Trace_ppx_runtime.Runtime

      exception TREC_CALL of Stdlib.Obj.t * Stdlib.Obj.t
      type j =
      1. | J : (Stdlib.Format.formatter -> 'a -> unit) * 'a -> j
      val enter : runtime_id:int -> string -> (Stdlib.Format.formatter -> unit) -> diff --git a/elpi/Trace_ppx_runtime/index.html b/elpi/Trace_ppx_runtime/index.html index 27ac47d33..47cb63bdd 100644 --- a/elpi/Trace_ppx_runtime/index.html +++ b/elpi/Trace_ppx_runtime/index.html @@ -1,2 +1,2 @@ -Trace_ppx_runtime (elpi.Trace_ppx_runtime)

      Module Trace_ppx_runtime

      module Runtime : sig ... end
      +Trace_ppx_runtime (elpi.Trace_ppx_runtime)

      Module Trace_ppx_runtime

      module Runtime : sig ... end
      diff --git a/elpi/index.html b/elpi/index.html index 2cff82d40..8904fcdad 100644 --- a/elpi/index.html +++ b/elpi/index.html @@ -1,2 +1,2 @@ -index (elpi.index)

      elpi index

      Library elpi

      The entry point of this library is the module: Elpi.

      Library elpi.lexer_config

      The entry point of this library is the module: Elpi_lexer_config.

      Library elpi.parser

      The entry point of this library is the module: Elpi_parser.

      Library elpi.trace.ppx

      The entry point of this library is the module: Trace_ppx.

      Library elpi.trace.runtime

      The entry point of this library is the module: Trace_ppx_runtime.

      Library elpi.util

      The entry point of this library is the module: Elpi_util.

      +index (elpi.index)

      elpi index

      Library elpi

      The entry point of this library is the module: Elpi.

      Library elpi.lexer_config

      The entry point of this library is the module: Elpi_lexer_config.

      Library elpi.parser

      The entry point of this library is the module: Elpi_parser.

      Library elpi.trace.ppx

      The entry point of this library is the module: Trace_ppx.

      Library elpi.trace.runtime

      The entry point of this library is the module: Trace_ppx_runtime.

      Library elpi.util

      The entry point of this library is the module: Elpi_util.

      diff --git a/odoc.support/odoc.css b/odoc.support/odoc.css index 7230f826e..83ebcf004 100644 --- a/odoc.support/odoc.css +++ b/odoc.support/odoc.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /* Copyright (c) 2016 The odoc contributors. All rights reserved. Distributed under the ISC license, see terms at the end of the file. - odoc 2.3.0 */ + odoc 2.4.0 */ /* Fonts */ /* noticia-text-regular - latin */ @@ -95,7 +95,10 @@ :root, .light:root { - --main-background: #FFFFFF; + + scroll-padding-top: calc(var(--search-bar-height) + var(--search-padding-top) + 1em); + + --main-background: #FFFFFF; --color: #333333; --link-color: #2C94BD; @@ -116,6 +119,7 @@ --toc-color: #1F2D3D; --toc-before-color: #777; --toc-background: #f6f8fa; + --toc-background-emph: #ecf0f5; --toc-list-border: #ccc; --spec-summary-border-color: #5c9cf5; @@ -124,6 +128,12 @@ --spec-summary-hover-background: #ebeff2; --spec-details-after-background: rgba(0, 4, 15, 0.05); --spec-details-after-shadow: rgba(204, 204, 204, 0.53); + + --search-results-border: #bbb; + --search-results-shadow: #bbb; + + --search-snake: #82aaff; + } .dark:root { @@ -151,6 +161,7 @@ --li-code-color: #999; --toc-color: #777; --toc-background: #252525; + --toc-background-emph: #2a2a2a; --hljs-link: #999; --hljs-keyword: #cda869; @@ -161,6 +172,10 @@ --hljs-variable: #cf6a4c; --spec-label-color: lightgreen; + + --search-results-border: #505050; + --search-results-shadow: #404040; + } @media (prefers-color-scheme: dark) { @@ -195,6 +210,7 @@ --toc-color: #777; --toc-before-color: #777; --toc-background: #252525; + --toc-background-emph: #2a2a2a; --toc-list-border: #ccc; --spec-summary-hover-background: #ebeff2; --spec-details-after-background: rgba(0, 4, 15, 0.05); @@ -209,6 +225,10 @@ --hljs-variable: #cf6a4c; --spec-label-color: lightgreen; + + --search-results-border: #505050; + --search-results-shadow: #404040; + } } @@ -246,26 +266,50 @@ body { } body { - margin-left: calc(10vw + 20ex); - margin-right: 4ex; - margin-top: 20px; - margin-bottom: 50px; + margin-left: auto; + margin-right: auto; + padding: 0 4ex; } body.odoc { - max-width: 100ex; + max-width: 132ex; + display: grid; + grid-template-columns: min-content 1fr; + column-gap: 4ex; + row-gap: 2ex; } body.odoc-src { margin-right: calc(10vw + 20ex); } +.odoc-content { + grid-row: 4; + grid-column: 2; +} + +.odoc-preamble > *:first-child { + /* This make the first thing in the preamble align with the sidebar */ + padding-top: 0; + margin-top: 0; +} + header { margin-bottom: 30px; } +header.odoc-preamble { + grid-column: 2; + grid-row: 3; +} + nav { - font-family: "Fira Sans", Helvetica, Arial, sans-serif; + font-family: "Fira Sans", sans-serif; +} + +nav.odoc-nav { + grid-column: 2; + grid-row: 2; } /* Basic markup elements */ @@ -396,7 +440,7 @@ a.anchor { a.source_link { float: right; color: var(--source-color); - font-family: "Fira Sans", Helvetica, Arial, sans-serif; + font-family: "Fira Sans", sans-serif; font-size: initial; } @@ -405,13 +449,17 @@ a.source_link { we restart the sequence there like h2 */ h1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 { - font-family: "Fira Sans", Helvetica, Arial, sans-serif; + font-family: "Fira Sans", sans-serif; font-weight: 400; padding-top: 0.1em; line-height: 1.2; overflow-wrap: break-word; } +.odoc-preamble h1 { + margin-top: 10px; +} + h1 { font-weight: 500; font-size: 2.441em; @@ -459,7 +507,7 @@ h4 { font-size: 1.12em; } -/* Comment delimiters, hidden but accessible to screen readers and +/* Comment delimiters, hidden but accessible to screen readers and selected for copy/pasting */ /* Taken from bootstrap */ @@ -479,7 +527,7 @@ h4 { /* Preformatted and code */ tt, code, pre { - font-family: "Fira Mono", courier; + font-family: "Fira Mono", monospace; font-weight: 400; } @@ -549,10 +597,10 @@ div.odoc-spec,.odoc-include { .spec.type .variant, .spec.type .record { margin-left: 2ch; +} + +.spec.type li.variant, .spec.type li.record { list-style: none; - display: flex; - flex-wrap: wrap; - row-gap: 4px; } .spec.type .record > code, .spec.type .variant > code { @@ -569,9 +617,8 @@ div.odoc-spec,.odoc-include { padding: 0.25em 0.5em; margin-left: 10%; border-radius: 3px; - flex-grow:1; background: var(--main-background); - box-shadow: 2px 2px 4px lightgrey; + box-shadow: 1px 1px 2px lightgrey; } div.def { @@ -739,19 +786,32 @@ td.def-doc *:first-child { line-height: 1.2; } +/* When a search bar is present, we need the sticky sidebar to be a bit lower, + so `top` is higher */ + +.odoc-search + * + .odoc-toc { + --toc-top: calc(var(--search-bar-height) + var(--search-padding-top) + 20px); + max-height: calc(100vh - 2 * var(--toc-top)); + top: var(--toc-top) +} + .odoc-toc { - position: fixed; - top: 0px; - bottom: 0px; - left: 0px; - max-width: 30ex; - min-width: 26ex; - width: 20%; + --toc-top: 20px; + width: 28ex; background: var(--toc-background); overflow: auto; color: var(--toc-color); padding-left: 2ex; padding-right: 2ex; + grid-row-start: 3; + grid-row-end: 5; + grid-column: 1; + height: fit-content; + border: solid 1px var(--border); + border-radius: 5px; + position:sticky; + max-height: calc(100vh - 2 * var(--toc-top)); + top: var(--toc-top) } .odoc-toc ul li a { @@ -759,15 +819,287 @@ td.def-doc *:first-child { font-size: 0.95em; color: var(--color); font-weight: 400; - line-height: 1.6em; + line-height: 1.2em; display: block; } -.odoc-toc ul li a:hover { +.odoc-sidebar ul li a:hover { box-shadow: none; text-decoration: underline; } +:root { + --search-bar-height: 25px; + --search-padding-top: 1rem; +} + +.odoc-search { + position: sticky; + top: 0; + background: var(--main-background); + /* This amounts to fit-content when the search is not active, but when you + have the search results displayed, you do not want the height of the search + container to change. */ + height: calc(var(--search-bar-height) + var(--search-padding-top)); + width: 100%; + padding-top: var(--search-padding-top); + z-index: 1; + grid-row: 1; + grid-column-start: 1; + grid-column-end: 3; +} + + +.odoc-search .search-inner { + width: 100%; + position: relative; + left: 0; + display: grid; + /* The second column is for the search snake, which has 0 width */ + grid-template-columns: 1fr 0fr; + grid-row-gap: 1rem; + /* The second row is for the search results. It has a width, but only */ + grid-template-rows: min-content 0px; + background: transparent; +} + +.odoc-search .search-bar { + position: relative; + z-index: 2; + font-size: 1em; + transition: font-size 0.3s; + box-shadow: 0px 0px 0.2rem 0.3em var(--main-background); + height: var(--search-bar-height); +} + +.odoc-search:focus-within .search-bar { + font-size: 1.1em; +} + +.odoc-search:not(:focus-within) .search-result { + display: none; +} + +.odoc-search .search-result:empty { + display: none; +} + +.odoc-search .search-result { + grid-row: 2; + background: var(--toc-background); + position: absolute; + left: 0; + right: 0; + border: solid; + border-color: var(--search-results-border); + border-width: 1px; + border-radius: 6px; + box-shadow: 0 3px 10px 2px var(--search-results-shadow), 0 0 3px 4px var(--main-background), 0px -1rem 0px 0px var(--main-background); + /* Works better on smallish screens with this */ + max-height: calc(min(40rem, 50vh)); + overflow-y: auto; +} + +.search-bar { + /* inputs are of fixed size by default, even if you display:block them */ + width: 100%; +} + + +.odoc-search .search-no-result { + color: var(--color); + border-bottom: var(--search-results-border) solid 1px; + background-color: inherit; + outline: 0; + padding: 10px; + padding-right: 0.5rem; +} + +.search-bar-container { + display: flex; + align-items: stretch; + border-bottom: 1rem solid var(--main-background); +} + +.search-snake { + grid-row: 1; + grid-column: 2; + display: flex; + align-items: center; + width: 0; + z-index: 2; + position: relative; + left: 0; + margin-top: 4px; + margin-bottom: 4px; + /* Otherwise the search snake flickers for very fast searches. */ + transition: opacity 0.2s; + opacity: 0; +} + +.search-snake.search-busy { + opacity: 1; +} + +.search-snake:before { + content: " "; + display: block; + aspect-ratio: 1 / 1; + height: 100%; + margin-right: 4px; + border-radius: 50%; + border: 3px solid #aaa; + border-color: var(--search-snake) transparent var(--search-snake) transparent; + animation: search-snake 1.2s linear infinite; + position: absolute; + right: 0; +} + +@keyframes search-snake { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +:root { + --kind-font-size-factor: 0.8; +} + +.odoc-search .search-entry { + color: var(--color); + display: grid; + /* Possible kinds are the following : + "doc" "type" "mod" "exn" "class" "meth" "cons" "sig" "cons" "field" "val" + and "ext". + As the longest is 5 characters (and the font monospace), we give 5 + character size to the column. However the font used for kind is a little + smaller, so we adjust by this factor. + */ + grid-template-columns: [kinds] calc(var(--kind-font-size-factor) * 5ch) [titles] 1fr; + column-gap: 0.5rem; + border-bottom: var(--search-results-border) solid 1px; + background-color: inherit; + outline: 0; + padding: 0.4rem 0.4rem 0.7rem 0.7rem; +} +.odoc-search .search-entry p { + margin: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.odoc-search .search-entry:focus-visible { + box-shadow: none; + background-color: var(--target-background); +} + +.odoc-search .search-entry:hover { + box-shadow: none; + background-color: var(--toc-background-emph); +} + +.odoc-search .search-entry .entry-kind { + grid-row: 1/2; + grid-column: 1/2; + line-height: 1.4rem; + font-size: calc(var(--kind-font-size-factor) * 1em); + font-weight: bold; + text-align: right; + position: relative; + bottom: 0; +} + +.odoc-search .search-entry pre { + border: none; + margin: 0; +} + +.odoc-search .search-entry pre code { + font-size: 1em; + background-color: var(--li-code-background); + color: var(--li-code-color); + border-radius: 3px; + padding: 0 0.3ex; +} + +.odoc-search .search-entry .entry-title { + width: 100%; + display: block; + grid-column: 2/2; + grid-row: 1/2; + align-self: end; + line-height: 1.4rem; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.odoc-search .entry-name { + font-weight: bold; +} + +.odoc-search .prefix-name { + font-weight: bold; +} + +.odoc-search .search-entry .prefix-name { + opacity: 0.7; +} + +.odoc-search .entry-rhs { + white-space: nowrap; +} + +.odoc-search .search-entry .entry-content { + flex-grow: 1; + flex-shrink: 1; + min-width: 0; +} + +.odoc-search .search-entry .entry-comment { + max-height: 1.5em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 0.95em; + grid-row: 2/2; + grid-column: 2/2; +} + +.odoc-search .search-entry .entry-comment ul { + white-space: nowrap; + display: inline; +} + +.odoc-search .search-entry .entry-comment li { + display: inline; + white-space: nowrap; +} + +.odoc-search .search-entry .entry-comment ul>li::before { + content: '•'; +} + +.odoc-search .search-entry .entry-comment div { + display: inline; + white-space: nowrap; +} + +.odoc-search .search-entry .entry-comment p { + display: inline; + white-space: nowrap; +} + +.odoc-search .search-entry .entry-comment code { + display: inline; + white-space: nowrap; +} + /* First level titles */ .odoc-toc>ul>li>a { @@ -776,6 +1108,7 @@ td.def-doc *:first-child { .odoc-toc li ul { margin: 0px; + padding-top: 0.25em; } .odoc-toc ul { @@ -783,8 +1116,9 @@ td.def-doc *:first-child { } .odoc-toc ul li { - margin: 0; + padding: 0.25em 0; } + .odoc-toc>ul>li { margin-bottom: 0.3em; } @@ -801,7 +1135,8 @@ td.def-doc *:first-child { margin: 1em; } -.odoc-table td, .odoc-table th { +.odoc-table td, +.odoc-table th { padding-left: 0.5em; padding-right: 0.5em; border: 1px solid black; @@ -816,7 +1151,13 @@ td.def-doc *:first-child { @media only screen and (max-width: 110ex) { body { margin: 2em; + padding: 0; + } + + body.odoc { + display: block; } + .odoc-toc { position: static; width: auto; @@ -836,6 +1177,7 @@ td.def-doc *:first-child { color: black; background: white; } + body nav:first-child { visibility: hidden; } @@ -955,23 +1297,74 @@ td.def-doc *:first-child { text-decoration: underline; } -.VAL, .TYPE, .LET, .REC, .IN, .OPEN, .NONREC, .MODULE, .METHOD, .LETOP, .INHERIT, .INCLUDE, .FUNCTOR, .EXTERNAL, .CONSTRAINT, .ASSERT, .AND, .END, .CLASS, .STRUCT, .SIG { - color: #859900;; -} - -.WITH, .WHILE, .WHEN, .VIRTUAL, .TRY, .TO, .THEN, .PRIVATE, .OF, .NEW, .MUTABLE, .MATCH, .LAZY, .IF, .FUNCTION, .FUN, .FOR, .EXCEPTION, .ELSE, .TO, .DOWNTO, .DO, .DONE, .BEGIN, .AS { +.VAL, +.TYPE, +.LET, +.REC, +.IN, +.OPEN, +.NONREC, +.MODULE, +.METHOD, +.LETOP, +.INHERIT, +.INCLUDE, +.FUNCTOR, +.EXTERNAL, +.CONSTRAINT, +.ASSERT, +.AND, +.END, +.CLASS, +.STRUCT, +.SIG { + color: #859900; + ; +} + +.WITH, +.WHILE, +.WHEN, +.VIRTUAL, +.TRY, +.TO, +.THEN, +.PRIVATE, +.OF, +.NEW, +.MUTABLE, +.MATCH, +.LAZY, +.IF, +.FUNCTION, +.FUN, +.FOR, +.EXCEPTION, +.ELSE, +.TO, +.DOWNTO, +.DO, +.DONE, +.BEGIN, +.AS { color: #cb4b16; } -.TRUE, .FALSE { +.TRUE, +.FALSE { color: #b58900; } -.failwith, .INT, .SEMISEMI, .LIDENT { +.failwith, +.INT, +.SEMISEMI, +.LIDENT { color: #2aa198; } -.STRING, .CHAR, .UIDENT { +.STRING, +.CHAR, +.UIDENT { color: #b58900; } @@ -997,4 +1390,4 @@ td.def-doc *:first-child { WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ---------------------------------------------------------------------------*/ + ---------------------------------------------------------------------------*/ \ No newline at end of file diff --git a/odoc.support/odoc_search.js b/odoc.support/odoc_search.js new file mode 100644 index 000000000..0dc659d27 --- /dev/null +++ b/odoc.support/odoc_search.js @@ -0,0 +1,66 @@ +/* The browsers interpretation of the CORS origin policy prevents to run + webworkers from javascript files fetched from the file:// protocol. This hack + is to workaround this restriction. */ +function createWebWorker() { + var searchs = search_urls.map((search_url) => { + let parts = document.location.href.split("/"); + parts[parts.length - 1] = search_url; + return '"' + parts.join("/") + '"'; + }); + blobContents = ["importScripts(" + searchs.join(",") + ");"]; + var blob = new Blob(blobContents, { type: "application/javascript" }); + var blobUrl = URL.createObjectURL(blob); + + var worker = new Worker(blobUrl); + URL.revokeObjectURL(blobUrl); + + return worker; +} + +var worker; +var waiting = 0; + +function wait() { + waiting = waiting + 1; + document.querySelector(".search-snake").classList.add("search-busy"); +} + +function stop_waiting() { + if (waiting > 0) waiting = waiting - 1; + else waiting = 0; + if (waiting == 0) { + document.querySelector(".search-snake").classList.remove("search-busy"); + } +} + +document.querySelector(".search-bar").addEventListener("focus", (ev) => { + if (typeof worker == "undefined") { + worker = createWebWorker(); + worker.onmessage = (e) => { + stop_waiting(); + let results = e.data; + let search_results = document.querySelector(".search-result"); + search_results.innerHTML = ""; + let f = (entry) => { + let search_result = document.createElement("a"); + search_result.classList.add("search-entry"); + search_result.href = base_url + entry.url; + search_result.innerHTML = entry.html; + search_results.appendChild(search_result); + }; + results.forEach(f); + let search_request = document.querySelector(".search-bar").value; + if (results.length == 0 && search_request != "") { + let no_result = document.createElement("div"); + no_result.classList.add("search-no-result"); + no_result.innerText = "No result..."; + search_results.appendChild(no_result); + } + }; + } +}); + +document.querySelector(".search-bar").addEventListener("input", (ev) => { + wait(); + worker.postMessage(ev.target.value); +}); diff --git a/playground.html b/playground.html index e1b35dc7a..c85d96741 100644 --- a/playground.html +++ b/playground.html @@ -251,7 +251,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.068 +Typechecking time: 0.065

      ../../tests/sources/accumulate_twice2.elpi @@ -272,7 +272,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.073 +Typechecking time: 0.071

      ../../tests/sources/accumulated.elpi @@ -289,7 +289,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.069 +Typechecking time: 0.068

      ../../tests/sources/ackermann.elpi @@ -330,7 +330,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.077 +Typechecking time: 0.075 Success: @@ -367,7 +367,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.077 +Typechecking time: 0.076 Success: @@ -399,7 +399,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.078 +Typechecking time: 0.076 Success: @@ -500,7 +500,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.081 +Typechecking time: 0.079 Success: @@ -546,7 +546,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.068 +Typechecking time: 0.067 Success: @@ -610,7 +610,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.075 +Typechecking time: 0.073 Success: @@ -644,7 +644,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.064 +Typechecking time: 0.063 Success: @@ -673,7 +673,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.071 +Typechecking time: 0.070 Success: @@ -728,7 +728,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.074 +Typechecking time: 0.073 Success: @@ -806,7 +806,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.065 +Typechecking time: 0.064 Success: @@ -860,7 +860,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.094 +Typechecking time: 0.092 Success: @@ -917,7 +917,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.094 +Typechecking time: 0.093 Success: @@ -965,7 +965,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.083 +Typechecking time: 0.081 Success: @@ -988,7 +988,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.066 +Typechecking time: 0.065 Success: @@ -1050,7 +1050,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.101 +Typechecking time: 0.099 Success: @@ -1168,7 +1168,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.072 +Typechecking time: 0.070 Success: @@ -1199,7 +1199,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.076 +Typechecking time: 0.073 Fatal error: Unification problem outside the pattern fragment. ((Data.Term.App (f, (Data.Term.Const x), [])) == (Data.Term.AppUVar ( { Data.Term.contents = please extend this printer; uid_private = 41508 }, 0, @@ -1284,7 +1284,7 @@

      Test Bed Compilation time: 0.001 -Typechecking time: 0.078 +Typechecking time: 0.077 Success: @@ -1463,7 +1463,7 @@

      Test Bed Compilation time: 0.002 -Typechecking time: 0.100 +Typechecking time: 0.097 Type error. To ignore it, pass -no-tc.

@@ -1583,7 +1583,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.089 +Typechecking time: 0.087 Success: @@ -1617,7 +1617,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.073 +Typechecking time: 0.070 Success: @@ -1682,7 +1682,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.076 +Typechecking time: 0.075 Success: @@ -1723,7 +1723,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.080 +Typechecking time: 0.079 Success: @@ -1758,7 +1758,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.076 +Typechecking time: 0.074 Success: @@ -1906,7 +1906,7 @@

Test Bed Compilation time: 0.002 -Typechecking time: 0.108 +Typechecking time: 0.107 Success: @@ -1942,7 +1942,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.064 +Typechecking time: 0.066 Success: @@ -2005,7 +2005,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.071 +Typechecking time: 0.070 Success: @@ -6102,7 +6102,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.064 +Typechecking time: 0.063 Success: @@ -6192,7 +6192,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.082 +Typechecking time: 0.080 Success: @@ -6331,11 +6331,11 @@

Test Bed Compilation time: 0.002 -Typechecking time: 0.081 +Typechecking time: 0.080 Success: -Time: 1.768 +Time: 1.756 Constraints: @@ -6357,7 +6357,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.068 +Typechecking time: 0.066 Success: @@ -6407,7 +6407,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.093 +Typechecking time: 0.091 Success: @@ -6449,7 +6449,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.082 +Typechecking time: 0.087 Success: @@ -6555,11 +6555,11 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.107 +Typechecking time: 0.106 Success: -Time: 0.300 +Time: 0.296 Constraints: @@ -6588,7 +6588,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.067 +Typechecking time: 0.068 Success: @@ -6612,7 +6612,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.064 +Typechecking time: 0.063 Success: @@ -6886,7 +6886,7 @@

Test Bed Compilation time: 0.002 -Typechecking time: 0.112 +Typechecking time: 0.109 Success: @@ -6993,7 +6993,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.109 +Typechecking time: 0.108 Success: @@ -7039,7 +7039,7 @@

Test Bed 30 print Time0 "+" Time1 "+" Time2.

-
1.278063 + 0.056375 + 0.920249
+
1.338665 + 0.054629 + 0.967089
 
-
5.942532 + 2.822595 + 0.355139
+
5.807320 + 2.611266 + 0.368343
 
-
5.363949 + 2.558965 + 0.226874
+
5.260207 + 2.487699 + 0.227113
 
@@ -7274,7 +7274,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.069 +Typechecking time: 0.067 Success: @@ -7307,7 +7307,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.070 +Typechecking time: 0.068 Success: @@ -7377,7 +7377,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.084 +Typechecking time: 0.082 Success: @@ -7438,7 +7438,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.096 +Typechecking time: 0.095 Success: @@ -7534,7 +7534,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.104 +Typechecking time: 0.103 Success: @@ -7668,7 +7668,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.080 +Typechecking time: 0.078 Success: @@ -7700,7 +7700,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.073 +Typechecking time: 0.070 Success: @@ -7742,7 +7742,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.083 +Typechecking time: 0.081 Success: @@ -7776,7 +7776,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.073 +Typechecking time: 0.070 Success: @@ -7823,7 +7823,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.092 +Typechecking time: 0.089 Success: @@ -7958,7 +7958,7 @@

Test Bed Compilation time: 0.002 -Typechecking time: 0.099 +Typechecking time: 0.097 Success: @@ -8185,7 +8185,7 @@

Test Bed Compilation time: 0.002 -Typechecking time: 0.128 +Typechecking time: 0.119 Success: @@ -8260,7 +8260,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.111 +Typechecking time: 0.103 Type error. To ignore it, pass -no-tc.

@@ -8392,11 +8392,11 @@

Test Bed Compilation time: 0.002 -Typechecking time: 0.114 +Typechecking time: 0.109 Success: -Time: 1.510 +Time: 1.453 Constraints: @@ -8420,11 +8420,11 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.066 +Typechecking time: 0.064 Success: -Time: 0.014 +Time: 0.013 Constraints: @@ -8442,14 +8442,14 @@

Test Bed 6 R < 10.

- - @@ -9697,7 +9697,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.064 +Typechecking time: 0.062 Type error. To ignore it, pass -no-tc.

@@ -9719,7 +9719,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.064 +Typechecking time: 0.065 Type error. To ignore it, pass -no-tc. @@ -9753,7 +9753,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.065 +Typechecking time: 0.063 Success: @@ -9781,7 +9781,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.065 +Typechecking time: 0.062 Success: @@ -9841,7 +9841,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.064 +Typechecking time: 0.063 Success: @@ -9872,7 +9872,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.065 +Typechecking time: 0.063 Success: @@ -9902,7 +9902,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.073 +Typechecking time: 0.063 Success: @@ -9925,7 +9925,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.063 +Typechecking time: 0.062 Success: @@ -9982,7 +9982,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.073 +Typechecking time: 0.072 Success: @@ -10015,7 +10015,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.065 +Typechecking time: 0.064 Success: @@ -10043,7 +10043,7 @@

Test Bed Compilation time: 0.001 -Typechecking time: 0.064 +Typechecking time: 0.063 Success: @@ -10239,7 +10239,7 @@

Test Bed Compilation time: 0.002 -Typechecking time: 0.118 +Typechecking time: 0.114 Success: diff --git a/searchindex.js b/searchindex.js index 24cc5f533..d7e72040b 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["about", "index", "playground"], "filenames": ["about.rst", "index.rst", "playground.rst"], "titles": ["About", "Welcome to Elpi\u2019s documentation!", "Playground"], "terms": {"thi": [0, 2], "page": [0, 2], "i": [0, 2], "both": [0, 2], "an": [0, 2], "introspect": 0, "self": 0, "document": [0, 2], "stack": 0, "befor": [0, 2], "make": [0, 2], "sure": [0, 2], "have": [0, 2], "sphinx": [0, 2], "instal": [0, 2], "pip": 0, "place": 0, "To": [0, 2], "match": 0, "visual": 0, "us": [0, 2], "commun": 0, "e": [0, 2], "g": [0, 2], "http": 0, "coq": 0, "inria": 0, "fr": 0, "distrib": 0, "current": [0, 2], "refman": 0, "rtd": 0, "theme": 0, "On": [0, 2], "debian": 0, "base": [0, 2], "system": [0, 2], "one": [0, 2], "can": [0, 2], "packag": [0, 2], "manag": 0, "apt": 0, "doc": [0, 2], "python3": 0, "follow": [0, 2], "plugin": 0, "ext": 0, "intersphinx": 0, "githubpag": 0, "name": [0, 2], "www": 0, "org": 0, "en": 0, "master": 0, "usag": 0, "html": 0, "gener": [0, 2], "link": 0, "object": [0, 2], "extern": 0, "project": 0, "either": 0, "explicitli": 0, "through": 0, "role": 0, "fallback": 0, "resolut": 0, "ani": [0, 2], "other": [0, 2], "cross": 0, "refer": [0, 2], "modul": [0, 2], "which": [0, 2], "creat": [0, 2], "nojekyl": 0, "file": [0, 2], "directori": 0, "publish": 0, "github": 0, "come": 0, "its": [0, 2], "own": 0, "helper": 0, "ar": [0, 2], "meant": 0, "directli": 0, "see": [0, 2], "playground": 0, "section": 0, "inject": [0, 2], "point": 0, "instead": [0, 2], "target": 0, "sourc": [0, 2], "tree": 0, "": [0, 2], "root": 0, "makefil": 0, "Or": 0, "option": [1, 2], "legaci": 1, "parser": [1, 2], "hook": 2, "order": 2, "run": 2, "elpi": 2, "code": 2, "snippet": 2, "output": 2, "within": 2, "built": 2, "local": 2, "eval": 2, "opam": 2, "env": 2, "build": 2, "It": 2, "doesn": 2, "t": 2, "hurt": 2, "check": 2, "dune": 2, "correctli": 2, "exec": 2, "h": 2, "block": 2, "evalu": 2, "from": 2, "convention": 2, "denot": 2, "restructuredtext": 2, "type": 2, "app": 2, "term": 2, "lam": 2, "arr": 2, "ty": 2, "nat": 2, "bool": 2, "mode": 2, "o": 2, "hd": 2, "arg": 2, "tgt": 2, "src": 2, "f": 2, "pi": 2, "x": 2, "uvar": 2, "declare_constraint": 2, "len": 2, "0": 2, "_": 2, "n": 2, "m": 2, "1": 2, "constraint": 2, "rule": 2, "k": 2, "lx": 2, "ly": 2, "print": 2, "wrong": 2, "ariti": 2, "fals": 2, "gx": 2, "tx": 2, "gy": 2, "compat": 2, "ctxconstr": 2, "new": 2, "y": 2, "main": 2, "t1_": 2, "t2_": 2, "a_": 2, "b_": 2, "2": 2, "c": 2, "z": 2, "d_": 2, "The": 2, "engin": 2, "retriev": 2, "all": 2, "direct": 2, "chang": 2, "them": 2, "literalinclud": 2, "relev": 2, "contain": 2, "exampl": 2, "captur": 2, "stdout": 2, "consol": 2, "just": 2, "after": 2, "stderr": 2, "erro": 2, "In": 2, "case": 2, "assert": 2, "onli": 2, "result": 2, "should": 2, "look": 2, "pars": 2, "time": 2, "000": 2, "compil": 2, "004": 2, "home": 2, "jwintz": 2, "develop": 2, "chr": 2, "line": 2, "7": 2, "column": 2, "60": 2, "charact": 2, "133": 2, "warn": 2, "constant": 2, "ha": 2, "declar": 2, "11": 2, "8": 2, "319": 2, "did": 2, "you": 2, "mean": 2, "std": 2, "length": 2, "28": 2, "761": 2, "typecheck": 2, "154": 2, "c1": 2, "frozen": 2, "501": 2, "c0": 2, "502": 2, "494": 2, "495": 2, "496": 2, "497": 2, "c3": 2, "499": 2, "c2": 2, "498": 2, "500": 2, "x0": 2, "x1": 2, "x2": 2, "x3": 2, "x4": 2, "x5": 2, "x6": 2, "x7": 2, "507": 2, "508": 2, "509": 2, "x8": 2, "x9": 2, "514": 2, "515": 2, "x10": 2, "520": 2, "521": 2, "x11": 2, "success": 2, "001": 2, "x12": 2, "suspend": 2, "x13": 2, "x14": 2, "state": 2, "pass": 2, "valid": 2, "v": 2, "num": 2, "zero": 2, "pred": 2, "ack": 2, "m2": 2, "n2": 2, "v2": 2, "064": 2, "fail": 2, "messag": 2, "error": 2, "failur": 2, "accumulate_twice1": 2, "doom": 2, "int": 2, "accumul": 2, "100": 2, "068": 2, "accumulate_twice2": 2, "namespac": 2, "runner": 2, "work": 2, "4": 2, "87": 2, "073": 2, "069": 2, "ackermann": 2, "yield": 2, "3": 2, "13": 2, "29": 2, "noth": 2, "530": 2, "spy": 2, "split": 2, "do": 2, "set": 2, "mem": 2, "add": 2, "remov": 2, "privat": 2, "empti": 2, "merg": 2, "min": 2, "bind": 2, "bal": 2, "height": 2, "node": 2, "cardin": 2, "element": 2, "loc": 2, "string": 2, "map": 2, "gc": 2, "stat": 2, "filter": 2, "subset": 2, "equal": 2, "diff": 2, "inter": 2, "union": 2, "find": 2, "concat": 2, "random": 2, "self_init": 2, "rex": 2, "19": 2, "676": 2, "linear": 2, "_v": 2, "discard": 2, "v_": 2, "fresh": 2, "variabl": 2, "077": 2, "asclaus": 2, "hard": 2, "p": 2, "simpl": 2, "5": 2, "36": 2, "beta": 2, "b": 2, "foral": 2, "fatal": 2, "w": 2, "data": 2, "fold": 2, "right": 2, "fold2": 2, "ok": 2, "forall2": 2, "flatten": 2, "flip": 2, "findal": 2, "full": 2, "field": 2, "append": 2, "appendr": 2, "078": 2, "xxx": 2, "foo": 2, "miss": 2, "518": 2, "519": 2, "511": 2, "512": 2, "513": 2, "516": 2, "517": 2, "524": 2, "525": 2, "526": 2, "531": 2, "532": 2, "537": 2, "538": 2, "081": 2, "chrgcd": 2, "gcd": 2, "kind": 2, "group": 2, "A": 2, "solv": 2, "99": 2, "66": 2, "14": 2, "22": 2, "77": 2, "we": 2, "forc": 2, "resumpt": 2, "6": 2, "74": 2, "chrleq": 2, "leq": 2, "ltn": 2, "incompat": 2, "first": 2, "refl": 2, "atisym": 2, "tran": 2, "idempot": 2, "vim": 2, "ft": 2, "lprolog": 2, "238": 2, "16": 2, "075": 2, "chr_nokei": 2, "prop": 2, "fst": 2, "chr_nokey2": 2, "bar": 2, "true": 2, "071": 2, "chr_not_cliqu": 2, "appli": 2, "list": 2, "predic": 2, "keyword": 2, "chr_sem": 2, "d": 2, "debug": 2, "drop": 2, "last": 2, "074": 2, "conj2": 2, "test1": 2, "test2": 2, "ctx_load": 2, "d1": 2, "d2": 2, "d3": 2, "d11": 2, "d22": 2, "d33": 2, "065": 2, "cut": 2, "queri": 2, "q": 2, "answer": 2, "ko": 2, "two": 2, "three": 2, "four": 2, "108": 2, "quick": 2, "79": 2, "9": 2, "117": 2, "compact": 2, "trace": 2, "counter": 2, "unix": 2, "process": 2, "close": 2, "094": 2, "cut2": 2, "expect": 2, "differ": 2, "brain": 2, "damag": 2, "semant": 2, "teyju": 2, "consist": 2, "implicit": 2, "ko1": 2, "ko2": 2, "198": 2, "240": 2, "10": 2, "233": 2, "15": 2, "260": 2, "248": 2, "exist": 2, "exists2": 2, "cut3": 2, "57": 2, "083": 2, "cut4": 2, "066": 2, "cut5": 2, "116": 2, "125": 2, "_y": 2, "y_": 2, "101": 2, "cut6": 2, "25": 2, "75": 2, "53": 2, "40": 2, "deep_index": 2, "select": 2, "claus": 2, "sinc": 2, "index": 2, "level": 2, "tc": 2, "300": 2, "_foo": 2, "072": 2, "elpi_only_llam": 2, "open": 2, "076": 2, "unif": 2, "problem": 2, "outsid": 2, "pattern": 2, "fragment": 2, "const": 2, "appuvar": 2, "content": 2, "pleas": 2, "extend": 2, "printer": 2, "uid_priv": 2, "41508": 2, "41507": 2, "delai": 2, "command": 2, "util": 2, "delay_outside_frag": 2, "elpi_api": 2, "deprec": 2, "end_com": 2, "eta": 2, "tm": 2, "macro": 2, "ctx": 2, "depth": 2, "k1": 2, "k2": 2, "branch": 2, "put": 2, "some": 2, "around": 2, "adepth": 2, "bdepth": 2, "regress": 2, "135": 2, "129": 2, "get": 2, "eta_a": 2, "as_1": 2, "as_2": 2, "as_3": 2, "uvar_1": 2, "uvar_2": 2, "uvar_3": 2, "uvar_4": 2, "uvar_5": 2, "uvar_6": 2, "var": 2, "distinct_nam": 2, "unif_1": 2, "unif_2": 2, "u": 2, "bi": 2, "x01": 2, "ter": 2, "quater": 2, "becaus": 2, "flexibl": 2, "input": 2, "prune": 2, "wa": 2, "unif_zero": 2, "37": 2, "1064": 2, "unsaf": 2, "cast": 2, "unzip": 2, "59": 2, "1639": 2, "73": 2, "2170": 2, "89": 2, "2567": 2, "17": 2, "237": 2, "97": 2, "2760": 2, "x26": 2, "x27": 2, "x28": 2, "x29": 2, "23": 2, "700": 2, "_x": 2, "x_": 2, "33": 2, "1023": 2, "34": 2, "1040": 2, "_x5": 2, "x5_": 2, "_x4": 2, "x4_": 2, "_x3": 2, "x3_": 2, "_x2": 2, "x2_": 2, "_x1": 2, "x1_": 2, "_x01": 2, "x01_": 2, "_x0": 2, "x0_": 2, "002": 2, "ignor": 2, "even": 2, "odd": 2, "succ": 2, "doubl": 2, "395": 2, "_z": 2, "z_": 2, "test3": 2, "test4": 2, "same_var": 2, "super": 2, "tricki": 2, "implement": 2, "restrict": 2, "a1": 2, "when": 2, "backtrack": 2, "lost": 2, "test5": 2, "26": 2, "577": 2, "281": 2, "159": 2, "95": 2, "43": 2, "_b": 2, "_a": 2, "089": 2, "fragment_exit": 2, "r": 2, "rev": 2, "replac": 2, "fragment_exit2": 2, "fragment_exit3": 2, "sigma": 2, "general_cas": 2, "20": 2, "30": 2, "55": 2, "_g": 2, "g_": 2, "080": 2, "general_case2": 2, "general_case3": 2, "067": 2, "hc_interp": 2, "interpret": 2, "logic": 2, "horn": 2, "illustr": 2, "reduct": 2, "realiz": 2, "substitut": 2, "also": 2, "note": 2, "third": 2, "try_claus": 2, "reduc": 2, "copi": 2, "b1": 2, "b2": 2, "box": 2, "f1": 2, "f2": 2, "tru": 2, "perp": 2, "subst": 2, "backchain": 2, "why": 2, "memb": 2, "xcon": 2, "l": 2, "imp": 2, "prog": 2, "adj": 2, "path": 2, "xnil": 2, "pathfroma": 2, "61": 2, "1823": 2, "42": 2, "1152": 2, "1103": 2, "574": 2, "65": 2, "2013": 2, "27": 2, "633": 2, "21": 2, "588": 2, "396": 2, "68": 2, "2077": 2, "suppress": 2, "12": 2, "817": 2, "_t": 2, "t_": 2, "1172": 2, "50": 2, "1381": 2, "51": 2, "1445": 2, "_c": 2, "cs_": 2, "hdclaus": 2, "heap_discard": 2, "ho": 2, "except": 2, "67": 2, "hollight": 2, "untrust": 2, "call": 2, "kernel": 2, "next_object": 2, "next": 2, "callback_prov": 2, "proof": 2, "complet": 2, "next_tact": 2, "tactic": 2, "update_certif": 2, "certif": 2, "applic": 2, "end_of_proof": 2, "ppterm": 2, "pretti": 2, "deftac": 2, "definit": 2, "export": 2, "trust": 2, "librari": 2, "fold2_append": 2, "put_bind": 2, "prove": 2, "function": 2, "end": 2, "ones": 2, "without": 2, "therefor": 2, "re": 2, "out": 2, "outs2": 2, "bound": 2, "fn": 2, "occur": 2, "yx": 2, "ysx": 2, "yy": 2, "hol": 2, "thm": 2, "provabl": 2, "def0": 2, "typ": 2, "loop": 2, "check1": 2, "check1def": 2, "check1thm": 2, "check1axm": 2, "check1nbt": 2, "reterm": 2, "not_defin": 2, "check_hyp": 2, "temporarili": 2, "well": 2, "formed": 2, "avoid": 2, "too": 2, "much": 2, "slow": 2, "down": 2, "ultim": 2, "due": 2, "recogn": 2, "alreadi": 2, "univ": 2, "disj_union": 2, "eq": 2, "like": 2, "known": 2, "No": 2, "propag": 2, "now": 2, "sequent": 2, "seq": 2, "gamma": 2, "hack": 2, "FOR": 2, "daemon": 2, "ign": 2, "gamma2": 2, "th": 2, "thenll": 2, "tac1": 2, "tacn": 2, "deftacl": 2, "tacl": 2, "debprint": 2, "thenl": 2, "tac": 2, "xtac": 2, "xx": 2, "id": 2, "wl": 2, "gamma1": 2, "wgamma": 2, "newl": 2, "ww": 2, "debuggin": 2, "old": 2, "itac": 2, "new_certif": 2, "pg": 2, "bad": 2, "statement": 2, "defin": 2, "def": 2, "pdef": 2, "ptype": 2, "h1": 2, "h2": 2, "return": 2, "assumpt": 2, "theorem": 2, "goaltact": 2, "hyp": 2, "axiom": 2, "st": 2, "new_basic_typ": 2, "rep": 2, "ab": 2, "repab": 2, "absrep": 2, "preph": 2, "p_tactic": 2, "typdef": 2, "decl": 2, "check1decl": 2, "hypsuchthat": 2, "goal": 2, "pgoal": 2, "existence_condit": 2, "reptyp": 2, "abstyp": 2, "absreptyp": 2, "repabstyp": 2, "impl": 2, "prephtyp": 2, "what": 2, "cont": 2, "stop": 2, "print_constraint": 2, "parseterm": 2, "ppp": 2, "xa": 2, "g2": 2, "g1": 2, "s2": 2, "s1": 2, "u2": 2, "subseteq": 2, "u1": 2, "v1": 2, "plu": 2, "safe_list_map": 2, "unifi": 2, "thei": 2, "probabl": 2, "l1": 2, "l2": 2, "list_map": 2, "pptac": 2, "parsetac": 2, "ppptac": 2, "py": 2, "pgamma": 2, "ptac1": 2, "ptacn": 2, "ptac": 2, "pa": 2, "interact": 2, "non": 2, "parse_obj": 2, "psttac": 2, "sttac": 2, "parse_thm": 2, "ptyp": 2, "parse_axiom": 2, "prep": 2, "pp_tactic": 2, "parse_nbt": 2, "ptybo": 2, "tybo": 2, "parse_def": 2, "inductive_def": 2, "predf": 2, "predf_mon": 2, "pred_i": 2, "pred_e0": 2, "pred_": 2, "exp": 2, "inductive_def_pkg": 2, "pb": 2, "pst": 2, "pp": 2, "ct": 2, "contnext": 2, "welcom": 2, "extra": 2, "light": 2, "toplevel_loop": 2, "toplevel": 2, "read_cmd": 2, "enter": 2, "flush": 2, "std_out": 2, "readterm": 2, "std_in": 2, "ph": 2, "canon": 2, "canonicaltac": 2, "pcanonicaltac": 2, "next_tactic0": 2, "list_iter_rev": 2, "print_sequ": 2, "read_in_context": 2, "cert": 2, "true_then_fals": 2, "int_tac": 2, "abort": 2, "halt": 2, "other_tac": 2, "mk_script": 2, "new_tac": 2, "non_interactive_tac": 2, "script": 2, "new_interactive_tac": 2, "interactive_tac": 2, "subproof": 2, "cscript": 2, "pscript": 2, "t2": 2, "new2": 2, "newt": 2, "mk_list_of_bounded_fresh": 2, "px": 2, "turn": 2, "t1": 2, "otac": 2, "mk_constant_list": 2, "parse_inductive_def_spec": 2, "pf": 2, "param": 2, "pty": 2, "pl": 2, "build_quantified_pred": 2, "bo": 2, "build_pred": 2, "process_constructor": 2, "rest": 2, "prove_monotonicity_thm": 2, "apredf": 2, "stm": 2, "monoton": 2, "inv": 2, "conv": 2, "depth_tac": 2, "dd": 2, "auto_monoton": 2, "state_fixpoint_def": 2, "fixpoint": 2, "prove_fix_intro_thm": 2, "predf_monoton": 2, "forall_i": 2, "rand_tac": 2, "rator_tac": 2, "land_tac": 2, "cutth": 2, "fixpoint_is_prefixpoint": 2, "lforal": 2, "lappli": 2, "applyth": 2, "itaut": 2, "prove_fix_elim_thm": 2, "opr": 2, "x23": 2, "fixpoint_subseteq_any_prefixpoint": 2, "x24": 2, "lapply_last": 2, "lforall_last": 2, "prove_intro_thm": 2, "introthm": 2, "mk_intro_thm": 2, "itauteq": 2, "mani": 2, "ON": 2, "monthm": 2, "fixdef": 2, "elimthm": 2, "out1": 2, "basic": 2, "mk_bounded_fresh": 2, "bang": 2, "bug": 2, "runtim": 2, "ml": 2, "uncom": 2, "doe": 2, "matter": 2, "btw": 2, "ff": 2, "constant_tacl": 2, "ptacl": 2, "all_equals_list": 2, "tac2": 2, "ptac2": 2, "orels": 2, "repeat": 2, "gettimeofdai": 2, "time_aft": 2, "spent": 2, "For": 2, "metavari": 2, "inspect": 2, "pseq": 2, "sym": 2, "eq_true_intro": 2, "tt": 2, "tt_intro": 2, "conj": 2, "andr": 2, "robu": 2, "version": 2, "below": 2, "nil": 2, "andl": 2, "forall_": 2, "mp": 2, "where": 2, "apply_last": 2, "pq": 2, "convers": 2, "al": 2, "strip_const": 2, "expand": 2, "argument": 2, "beta_expand": 2, "seem": 2, "pc": 2, "abs_tac": 2, "sub_tac": 2, "try": 2, "autom": 2, "todo": 2, "our": 2, "rid": 2, "hypothesi": 2, "left": 2, "tri": 2, "search": 2, "space": 2, "via": 2, "focus": 2, "not_": 2, "bit": 2, "long": 2, "want": 2, "produc": 2, "mayb": 2, "automat": 2, "somewher": 2, "els": 2, "exists_": 2, "or_": 2, "and_": 2, "eq_to_impl": 2, "not_i": 2, "sync": 2, "ff_elim": 2, "orr": 2, "orl": 2, "exists_i": 2, "n1": 2, "move": 2, "front": 2, "eq_reflex": 2, "induct": 2, "and_monoton": 2, "or_monoton": 2, "impl_monoton": 2, "not_monoton": 2, "forall_monoton": 2, "exists_monoton": 2, "the_librari": 2, "lstop": 2, "go": 2, "primivit": 2, "oper": 2, "axiomat": 2, "choic": 2, "over": 2, "choos": 2, "connect": 2, "quantifi": 2, "disjoint": 2, "inj1_disj_union": 2, "inj2_disj_union": 2, "case_disj_union": 2, "case_disj_union_inj1": 2, "e1": 2, "e2": 2, "case_disj_union_inj2": 2, "univers": 2, "injection_univ": 2, "ejection_univ": 2, "inject_limit_univ": 2, "eject_limit_univ": 2, "pair_univ": 2, "proj1_univ": 2, "proj2_univ": 2, "inj1_univ": 2, "inj2_univ": 2, "case_univ": 2, "ejection_injection_univ": 2, "eject_inject_limit_univ": 2, "proj1_pair_univ": 2, "p1": 2, "p2": 2, "proj2_pair_univ": 2, "case_univ_inj1": 2, "case_univ_inj2": 2, "or_commut": 2, "or_ff": 2, "or_tt": 2, "or_idempot": 2, "or_associ": 2, "and_commut": 2, "and_tt": 2, "and_ff": 2, "and_idempot": 2, "and_associ": 2, "and_or": 2, "or_and": 2, "ads_or_and": 2, "ads_and_or": 2, "not_or": 2, "not_and": 2, "not_not_not": 2, "impl_not_not": 2, "eq_to_impl_f": 2, "eq_to_impl_b": 2, "properti": 2, "inj": 2, "disj": 2, "pair_univ_inj_l": 2, "x20": 2, "x21": 2, "x22": 2, "x25": 2, "pair_univ_inj_r": 2, "injection_univ_inj": 2, "inj1_univ_inj": 2, "inj2_univ_inj": 2, "not_eq_inj1_inj2_univ": 2, "inj1_disj_union_inj": 2, "inj2_disj_union_inj": 2, "a2": 2, "knaster": 2, "tarski": 2, "j": 2, "in_subseteq": 2, "is_fixpoint": 2, "fixpoint_subseteq_any_fixpoint": 2, "prefixpoint_to_prefixpoint": 2, "fixpoint_is_fixpoint": 2, "found": 2, "recurs": 2, "rec": 2, "acc": 2, "accf": 2, "accf_monoton": 2, "acc_i0": 2, "acc_e0": 2, "acc_": 2, "lt": 2, "acc_i": 2, "well_found": 2, "rec_is_fixpoint": 2, "comment": 2, "requir": 2, "test_appli": 2, "test_apply2": 2, "test_itaut_1": 2, "test_monotone1": 2, "test_monotone2": 2, "test_monotone3": 2, "pnn": 2, "pnnf": 2, "pnnf_monoton": 2, "pnn_i": 2, "pnn_e0": 2, "pnn_e": 2, "pnn_tt": 2, "pnn_not": 2, "ad": 2, "hoc": 2, "fragil": 2, "x15": 2, "pnn_has_two_valu": 2, "elimin": 2, "principl": 2, "in_two": 2, "in_twof": 2, "in_twof_monoton": 2, "in_two_i": 2, "in_two_e0": 2, "in_two_": 2, "in_two_tt": 2, "in_two_ff": 2, "bool2": 2, "myrep2": 2, "myabs2": 2, "myrepabs2": 2, "myabsrep2": 2, "myproprep2": 2, "mytt": 2, "mynot": 2, "mytt_transf": 2, "mynot_transf": 2, "x18": 2, "mybool2_": 2, "x19": 2, "step0": 2, "mynot_mynot_mytt": 2, "step1": 2, "cartesian": 2, "product": 2, "inductive_typ": 2, "abstract": 2, "is_pair": 2, "prod": 2, "prod_rep": 2, "prod_ab": 2, "prod_repab": 2, "prod_absrep": 2, "prod_proprep": 2, "pair": 2, "snd": 2, "usual": 2, "lemma": 2, "natur": 2, "number": 2, "is_nat": 2, "is_natf": 2, "is_nat_monoton": 2, "is_nat_i": 2, "is_nat_e0": 2, "is_nat_": 2, "is_nat_z": 2, "nat_rep": 2, "nat_ab": 2, "nat_repab": 2, "nat_absrep": 2, "nat_proprep": 2, "consequ": 2, "transfer": 2, "nat_": 2, "nat_abs_inj": 2, "nat_rep_inj": 2, "s_inj": 2, "not_equal_z_": 2, "nat_cas": 2, "nat_case_z": 2, "nat_case_": 2, "pred_well_found": 2, "nat_recf": 2, "nat_rec": 2, "nat_rec_ok0": 2, "nat_rec_ok": 2, "arithmet": 2, "sum": 2, "plus_z": 2, "plus_": 2, "plus_n_z": 2, "plus_n_": 2, "plus_comm": 2, "statu": 2, "depend": 2, "converion": 2, "sometim": 2, "diverg": 2, "progress": 2, "myprop": 2, "provid": 2, "wit": 2, "remain": 2, "free": 2, "If": 2, "could": 2, "hand": 2, "would": 2, "need": 2, "symptom": 2, "more": 2, "never": 2, "wai": 2, "atm": 2, "apply_2": 2, "veri": 2, "same": 2, "must": 2, "occurr": 2, "still": 2, "fix": 2, "about": 2, "handl": 2, "discuss": 2, "enrico": 2, "he": 2, "shot": 2, "optim": 2, "possibl": 2, "IN": 2, "unimpl": 2, "onc": 2, "let": 2, "reach": 2, "becom": 2, "user": 2, "hypothes": 2, "least": 2, "But": 2, "better": 2, "bidirect": 2, "successor": 2, "predecessor": 2, "prover": 2, "lambdaprolog": 2, "interfac": 2, "There": 2, "leancop": 2, "prolog": 2, "trick": 2, "small": 2, "formal": 2, "possibli": 2, "everyth": 2, "decis": 2, "procedur": 2, "ring": 2, "inequ": 2, "231": 2, "18": 2, "8433": 2, "malform": 2, "hollight_legaci": 2, "infixr": 2, "126": 2, "arrow": 2, "infixl": 2, "255": 2, "infix": 2, "128": 2, "127": 2, "implic": 2, "iff": 2, "membership": 2, "130": 2, "24": 2, "mixfix": 2, "support": 2, "token": 2, "famili": 2, "identifi": 2, "start": 2, "belong": 2, "preced": 2, "associ": 2, "higher": 2, "than": 2, "here": 2, "tabl": 2, "repres": 2, "symbol": 2, "mark": 2, "cannot": 2, "eg": 2, "while": 2, "increas": 2, "fixiti": 2, "div": 2, "mod": 2, "prefix": 2, "postfix": 2, "stai": 2, "ask": 2, "skip": 2, "120": 2, "As": 2, "facil": 2, "ast": 2, "verifi": 2, "how": 2, "text": 2, "echo": 2, "myformula": 2, "hyp_uvar": 2, "shoud": 2, "31": 2, "62": 2, "086": 2, "impl2": 2, "082": 2, "index2": 2, "iter": 2, "999999": 2, "111": 2, "2318": 2, "768": 2, "io_colon": 2, "lambda": 2, "infer": 2, "simpli": 2, "appl": 2, "288": 2, "186": 2, "234": 2, "330": 2, "093": 2, "lambda2": 2, "41": 2, "lambda3": 2, "termifi": 2, "x16": 2, "x17": 2, "mult": 2, "ten": 2, "thousand": 2, "866": 2, "178": 2, "122": 2, "278": 2, "221": 2, "847": 2, "959": 2, "45": 2, "1020": 2, "107": 2, "list_as_conj": 2, "done": 2, "list_comma": 2, "llam": 2, "dummi": 2, "clause1": 2, "clause2": 2, "prune_arg": 2, "prune_arg2": 2, "prune_arg3": 2, "whatev": 2, "clause3": 2, "so": 2, "alon": 2, "529": 2, "476": 2, "459": 2, "400": 2, "383": 2, "_f": 2, "f_": 2, "c4": 2, "c5": 2, "c6": 2, "112": 2, "llamchr": 2, "resili": 2, "both_or_non": 2, "watch": 2, "becasus": 2, "deal": 2, "dirti": 2, "context": 2, "b2n": 2, "216": 2, "798": 2, "710": 2, "457": 2, "893": 2, "751": 2, "_p": 2, "p_": 2, "109": 2, "xr": 2, "4096": 2, "cmp_term": 2, "time0": 2, "time1": 2, "pr": 2, "broken": 2, "time2": 2, "278063": 2, "056375": 2, "920249": 2, "481": 2, "map_list": 2, "assoc": 2, "942532": 2, "822595": 2, "355139": 2, "map_list_opt": 2, "363949": 2, "558965": 2, "226874": 2, "156": 2, "name_builtin": 2, "named_clauses00": 2, "name1": 2, "named_clauses01": 2, "unabl": 2, "graft": 2, "named_clauses02": 2, "namespaces00": 2, "aux": 2, "rl": 2, "174": 2, "070": 2, "namespaces01": 2, "toto": 2, "insid": 2, "baz": 2, "namespaces02": 2, "084": 2, "namespaces03": 2, "foo1": 2, "foo2": 2, "foo3": 2, "foo4": 2, "187": 2, "168": 2, "096": 2, "nil_con": 2, "con": 2, "062": 2, "notat": 2, "190": 2, "191": 2, "prefixr": 2, "postfixl": 2, "200": 2, "uu": 2, "cd": 2, "132": 2, "zip": 2, "110": 2, "151": 2, "269": 2, "_d": 2, "104": 2, "notation_error": 2, "notation_legaci": 2, "patternunif": 2, "patternunif2": 2, "32": 2, "pi3": 2, "pi5": 2, "bam": 2, "152": 2, "85": 2, "56": 2, "092": 2, "pnf": 2, "transform": 2, "formula": 2, "prenex": 2, "normal": 2, "form": 2, "assum": 2, "classic": 2, "equival": 2, "analyz": 2, "structur": 2, "includ": 2, "modifi": 2, "analysi": 2, "quant_fre": 2, "atom": 2, "termp": 2, "appear": 2, "head": 2, "immedi": 2, "subformula": 2, "proposit": 2, "top": 2, "OF": 2, "f3": 2, "f4": 2, "91": 2, "3225": 2, "688": 2, "475": 2, "855": 2, "891": 2, "93": 2, "3271": 2, "_f4": 2, "f4_": 2, "_f3": 2, "f3_": 2, "_f2": 2, "f2_": 2, "_f1": 2, "f1_": 2, "099": 2, "polymorphic_vari": 2, "langag": 2, "polymorph": 2, "variant": 2, "unari": 2, "funnam": 2, "program": 2, "fun": 2, "distinct": 2, "btl": 2, "ttl": 2, "origti": 2, "check_domain": 2, "check_codomain": 2, "bodi": 2, "is_subset": 2, "is_subset_": 2, "tl": 2, "tl1": 2, "mem_": 2, "check_term": 2, "accord": 2, "ocaml": 2, "ref": 2, "kill": 2, "hindlei": 2, "milner": 2, "interest": 2, "singleton": 2, "up": 2, "trigger": 2, "confus": 2, "between": 2, "mess": 2, "happen": 2, "is_ground": 2, "main1": 2, "Of": 2, "ig": 2, "og": 2, "special": 2, "main2": 2, "ih1": 2, "oh1": 2, "ih2": 2, "oh2": 2, "84": 2, "2748": 2, "2542": 2, "1118": 2, "1008": 2, "3786": 2, "102": 2, "3251": 2, "958": 2, "729": 2, "88": 2, "2860": 2, "80": 2, "2645": 2, "interspers": 2, "35": 2, "1158": 2, "81": 2, "2697": 2, "queen": 2, "less": 2, "neq": 2, "rang": 2, "queens_aux": 2, "unplacedq": 2, "safeq": 2, "unplacedqs1": 2, "not_attack": 2, "not_attack_aux": 2, "dummy1": 2, "dummy2": 2, "first_claus": 2, "no_more_ch": 2, "m1": 2, "tenthousand": 2, "189": 2, "49": 2, "1240": 2, "348": 2, "431": 2, "204": 2, "52": 2, "1389": 2, "649": 2, "_dummy2": 2, "dummy2_": 2, "_dummy1": 2, "dummy1_": 2, "54": 2, "1428": 2, "1471": 2, "1532": 2, "114": 2, "510": 2, "quote_syntax": 2, "builtin": 2, "014": 2, "reduce_cbn": 2, "xxxxxxxxx": 2, "cbn": 2, "y2": 2, "ONE": 2, "six": 2, "twelv": 2, "nine": 2, "five": 2, "285": 2, "211": 2, "563": 2, "_nine": 2, "nine_": 2, "_twelv": 2, "twelve_": 2, "090": 2, "246": 2, "reduce_cbv": 2, "cbv": 2, "r2": 2, "115": 2, "351": 2, "860": 2, "restriction3": 2, "nr": 2, "exit": 2, "442": 2, "restriction4": 2, "restriction5": 2, "restriction6": 2, "yap": 2, "027": 2, "771": 2, "hashtbl": 2, "528": 2, "ineffici": 2, "681": 2, "899": 2, "lvl": 2, "flat": 2, "763": 2, "629": 2, "90": 2, "48": 2, "ocamlopt": 2, "ocamlc": 2, "024": 2, "033": 2, "257": 2, "72": 2, "ulimit": 2, "81920": 2, "newlazi": 2, "lazi": 2, "eager": 2, "78": 2, "00": 2, "auto": 2, "39": 2, "hash": 2, "38": 2, "64": 2, "man": 2, "83": 2, "44": 2, "63": 2, "effici": 2, "ii": 2, "70": 2, "desper": 2, "desperate2": 2, "desperate3": 2, "1827": 2, "1857": 2, "47": 2, "2004": 2, "106": 2, "141": 2, "rev14": 2, "171": 2, "142": 2, "same_term": 2, "self_assign": 2, "succe": 2, "124322": 2, "052078": 2, "786915": 2, "057": 2, "shorten": 2, "177": 2, "shorten2": 2, "shorten_aux": 2, "shorten_aux2": 2, "shorten_builtin": 2, "shorten_tri": 2, "concat1": 2, "escap": 2, "121": 2, "_e": 2, "e_": 2, "_ab": 2, "ab_": 2, "079": 2, "spill_and": 2, "omit": 2, "purpos": 2, "spill_impl": 2, "spill_lam": 2, "trace2": 2, "063": 2, "trace_chr": 2, "trace_cut": 2, "trace_findal": 2, "trail": 2, "outcom": 2, "105": 2, "typeabbrv": 2, "typeabbrev": 2, "typeabbrv1": 2, "typeabbrv10": 2, "tmp": 2, "x30": 2, "x31": 2, "typeabbrv11": 2, "typeabbrv12": 2, "typeabbrv2": 2, "duplic": 2, "abbrevi": 2, "previou": 2, "typeabbrv3": 2, "typeabbrv4": 2, "typeabbrv5": 2, "elpi__compil": 2, "compileerror": 2, "unfold": 2, "typeabbrv6": 2, "unbound": 2, "typeabbrv7": 2, "typeabbrv8": 2, "typeabbrv9": 2, "uminu": 2, "uvar_chr": 2, "mk": 2, "meta": 2, "438": 2, "731": 2, "_x10": 2, "x10_": 2, "variadic_declare_constraint": 2, "tye": 2, "mono": 2, "size": 2, "comma": 2, "integ": 2, "fp": 2, "overbar": 2, "poli": 2, "fresh_": 2, "polyt": 2, "vt": 2, "vg": 2, "tp": 2, "xt": 2, "tq": 2, "76": 2, "1561": 2, "82": 2, "1693": 2, "2038": 2, "2025": 2, "2408": 2, "_tq": 2, "tq_": 2, "118": 2, "w_legaci": 2, "zebra": 2, "elp": 2, "_build": 2, "default": 2, "lib": 2}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"about": 0, "prerequisit": [0, 2], "extens": 0, "build": 0, "welcom": 1, "elpi": 1, "": 1, "document": 1, "api": 1, "playground": 2, "syntax": 2, "regexp": 2, "match": 2, "test": 2, "bed": 2}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 60}, "alltitles": {"About": [[0, "about"]], "Prerequisites": [[0, "prerequisites"], [2, "prerequisites"]], "Extensions": [[0, "extensions"]], "Building": [[0, "building"]], "Welcome to Elpi\u2019s documentation!": [[1, "welcome-to-elpi-s-documentation"]], "API:": [[1, null]], "Playground": [[2, "playground"]], "Syntax": [[2, "syntax"]], "Regexp Matching": [[2, "regexp-matching"]], "Test Bed": [[2, "test-bed"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["about", "index", "playground"], "filenames": ["about.rst", "index.rst", "playground.rst"], "titles": ["About", "Welcome to Elpi\u2019s documentation!", "Playground"], "terms": {"thi": [0, 2], "page": [0, 2], "i": [0, 2], "both": [0, 2], "an": [0, 2], "introspect": 0, "self": 0, "document": [0, 2], "stack": 0, "befor": [0, 2], "make": [0, 2], "sure": [0, 2], "have": [0, 2], "sphinx": [0, 2], "instal": [0, 2], "pip": 0, "place": 0, "To": [0, 2], "match": 0, "visual": 0, "us": [0, 2], "commun": 0, "e": [0, 2], "g": [0, 2], "http": 0, "coq": 0, "inria": 0, "fr": 0, "distrib": 0, "current": [0, 2], "refman": 0, "rtd": 0, "theme": 0, "On": [0, 2], "debian": 0, "base": [0, 2], "system": [0, 2], "one": [0, 2], "can": [0, 2], "packag": [0, 2], "manag": 0, "apt": 0, "doc": [0, 2], "python3": 0, "follow": [0, 2], "plugin": 0, "ext": 0, "intersphinx": 0, "githubpag": 0, "name": [0, 2], "www": 0, "org": 0, "en": 0, "master": 0, "usag": 0, "html": 0, "gener": [0, 2], "link": 0, "object": [0, 2], "extern": 0, "project": 0, "either": 0, "explicitli": 0, "through": 0, "role": 0, "fallback": 0, "resolut": 0, "ani": [0, 2], "other": [0, 2], "cross": 0, "refer": [0, 2], "modul": [0, 2], "which": [0, 2], "creat": [0, 2], "nojekyl": 0, "file": [0, 2], "directori": 0, "publish": 0, "github": 0, "come": 0, "its": [0, 2], "own": 0, "helper": 0, "ar": [0, 2], "meant": 0, "directli": 0, "see": [0, 2], "playground": 0, "section": 0, "inject": [0, 2], "point": 0, "instead": [0, 2], "target": 0, "sourc": [0, 2], "tree": 0, "": [0, 2], "root": 0, "makefil": 0, "Or": 0, "option": [1, 2], "legaci": 1, "parser": [1, 2], "hook": 2, "order": 2, "run": 2, "elpi": 2, "code": 2, "snippet": 2, "output": 2, "within": 2, "built": 2, "local": 2, "eval": 2, "opam": 2, "env": 2, "build": 2, "It": 2, "doesn": 2, "t": 2, "hurt": 2, "check": 2, "dune": 2, "correctli": 2, "exec": 2, "h": 2, "block": 2, "evalu": 2, "from": 2, "convention": 2, "denot": 2, "restructuredtext": 2, "type": 2, "app": 2, "term": 2, "lam": 2, "arr": 2, "ty": 2, "nat": 2, "bool": 2, "mode": 2, "o": 2, "hd": 2, "arg": 2, "tgt": 2, "src": 2, "f": 2, "pi": 2, "x": 2, "uvar": 2, "declare_constraint": 2, "len": 2, "0": 2, "_": 2, "n": 2, "m": 2, "1": 2, "constraint": 2, "rule": 2, "k": 2, "lx": 2, "ly": 2, "print": 2, "wrong": 2, "ariti": 2, "fals": 2, "gx": 2, "tx": 2, "gy": 2, "compat": 2, "ctxconstr": 2, "new": 2, "y": 2, "main": 2, "t1_": 2, "t2_": 2, "a_": 2, "b_": 2, "2": 2, "c": 2, "z": 2, "d_": 2, "The": 2, "engin": 2, "retriev": 2, "all": 2, "direct": 2, "chang": 2, "them": 2, "literalinclud": 2, "relev": 2, "contain": 2, "exampl": 2, "captur": 2, "stdout": 2, "consol": 2, "just": 2, "after": 2, "stderr": 2, "erro": 2, "In": 2, "case": 2, "assert": 2, "onli": 2, "result": 2, "should": 2, "look": 2, "pars": 2, "time": 2, "000": 2, "compil": 2, "004": 2, "home": 2, "jwintz": 2, "develop": 2, "chr": 2, "line": 2, "7": 2, "column": 2, "60": 2, "charact": 2, "133": 2, "warn": 2, "constant": 2, "ha": 2, "declar": 2, "11": 2, "8": 2, "319": 2, "did": 2, "you": 2, "mean": 2, "std": 2, "length": 2, "28": 2, "761": 2, "typecheck": 2, "154": 2, "c1": 2, "frozen": 2, "501": 2, "c0": 2, "502": 2, "494": 2, "495": 2, "496": 2, "497": 2, "c3": 2, "499": 2, "c2": 2, "498": 2, "500": 2, "x0": 2, "x1": 2, "x2": 2, "x3": 2, "x4": 2, "x5": 2, "x6": 2, "x7": 2, "507": 2, "508": 2, "509": 2, "x8": 2, "x9": 2, "514": 2, "515": 2, "x10": 2, "520": 2, "521": 2, "x11": 2, "success": 2, "001": 2, "x12": 2, "suspend": 2, "x13": 2, "x14": 2, "state": 2, "pass": 2, "valid": 2, "v": 2, "num": 2, "zero": 2, "pred": 2, "ack": 2, "m2": 2, "n2": 2, "v2": 2, "064": 2, "fail": 2, "messag": 2, "error": 2, "failur": 2, "accumulate_twice1": 2, "doom": 2, "int": 2, "accumul": 2, "100": 2, "065": 2, "accumulate_twice2": 2, "namespac": 2, "runner": 2, "work": 2, "4": 2, "87": 2, "071": 2, "068": 2, "ackermann": 2, "yield": 2, "3": 2, "13": 2, "29": 2, "noth": 2, "530": 2, "spy": 2, "split": 2, "do": 2, "set": 2, "mem": 2, "add": 2, "remov": 2, "privat": 2, "empti": 2, "merg": 2, "min": 2, "bind": 2, "bal": 2, "height": 2, "node": 2, "cardin": 2, "element": 2, "loc": 2, "string": 2, "map": 2, "gc": 2, "stat": 2, "filter": 2, "subset": 2, "equal": 2, "diff": 2, "inter": 2, "union": 2, "find": 2, "concat": 2, "random": 2, "self_init": 2, "rex": 2, "19": 2, "676": 2, "linear": 2, "_v": 2, "discard": 2, "v_": 2, "fresh": 2, "variabl": 2, "075": 2, "asclaus": 2, "hard": 2, "p": 2, "simpl": 2, "5": 2, "36": 2, "076": 2, "beta": 2, "b": 2, "foral": 2, "fatal": 2, "w": 2, "data": 2, "fold": 2, "right": 2, "fold2": 2, "ok": 2, "forall2": 2, "flatten": 2, "flip": 2, "findal": 2, "full": 2, "field": 2, "append": 2, "appendr": 2, "xxx": 2, "foo": 2, "miss": 2, "518": 2, "519": 2, "511": 2, "512": 2, "513": 2, "516": 2, "517": 2, "524": 2, "525": 2, "526": 2, "531": 2, "532": 2, "537": 2, "538": 2, "079": 2, "chrgcd": 2, "gcd": 2, "kind": 2, "group": 2, "A": 2, "solv": 2, "99": 2, "66": 2, "14": 2, "22": 2, "77": 2, "we": 2, "forc": 2, "resumpt": 2, "6": 2, "74": 2, "067": 2, "chrleq": 2, "leq": 2, "ltn": 2, "incompat": 2, "first": 2, "refl": 2, "atisym": 2, "tran": 2, "idempot": 2, "vim": 2, "ft": 2, "lprolog": 2, "238": 2, "16": 2, "073": 2, "chr_nokei": 2, "prop": 2, "fst": 2, "063": 2, "chr_nokey2": 2, "bar": 2, "true": 2, "070": 2, "chr_not_cliqu": 2, "appli": 2, "list": 2, "predic": 2, "keyword": 2, "chr_sem": 2, "d": 2, "debug": 2, "drop": 2, "last": 2, "conj2": 2, "test1": 2, "test2": 2, "ctx_load": 2, "d1": 2, "d2": 2, "d3": 2, "d11": 2, "d22": 2, "d33": 2, "cut": 2, "queri": 2, "q": 2, "answer": 2, "ko": 2, "two": 2, "three": 2, "four": 2, "108": 2, "quick": 2, "79": 2, "9": 2, "117": 2, "compact": 2, "trace": 2, "counter": 2, "unix": 2, "process": 2, "close": 2, "092": 2, "cut2": 2, "expect": 2, "differ": 2, "brain": 2, "damag": 2, "semant": 2, "teyju": 2, "consist": 2, "implicit": 2, "ko1": 2, "ko2": 2, "198": 2, "240": 2, "10": 2, "233": 2, "15": 2, "260": 2, "248": 2, "exist": 2, "exists2": 2, "093": 2, "cut3": 2, "57": 2, "081": 2, "cut4": 2, "cut5": 2, "116": 2, "125": 2, "_y": 2, "y_": 2, "099": 2, "cut6": 2, "25": 2, "75": 2, "53": 2, "40": 2, "deep_index": 2, "select": 2, "claus": 2, "sinc": 2, "index": 2, "level": 2, "tc": 2, "300": 2, "_foo": 2, "elpi_only_llam": 2, "open": 2, "unif": 2, "problem": 2, "outsid": 2, "pattern": 2, "fragment": 2, "const": 2, "appuvar": 2, "content": 2, "pleas": 2, "extend": 2, "printer": 2, "uid_priv": 2, "41508": 2, "41507": 2, "delai": 2, "command": 2, "util": 2, "delay_outside_frag": 2, "elpi_api": 2, "deprec": 2, "end_com": 2, "eta": 2, "tm": 2, "macro": 2, "ctx": 2, "depth": 2, "k1": 2, "k2": 2, "branch": 2, "put": 2, "some": 2, "around": 2, "adepth": 2, "bdepth": 2, "regress": 2, "135": 2, "129": 2, "get": 2, "077": 2, "eta_a": 2, "as_1": 2, "as_2": 2, "as_3": 2, "uvar_1": 2, "uvar_2": 2, "uvar_3": 2, "uvar_4": 2, "uvar_5": 2, "uvar_6": 2, "var": 2, "distinct_nam": 2, "unif_1": 2, "unif_2": 2, "u": 2, "bi": 2, "x01": 2, "ter": 2, "quater": 2, "becaus": 2, "flexibl": 2, "input": 2, "prune": 2, "wa": 2, "unif_zero": 2, "37": 2, "1064": 2, "unsaf": 2, "cast": 2, "unzip": 2, "59": 2, "1639": 2, "73": 2, "2170": 2, "89": 2, "2567": 2, "17": 2, "237": 2, "97": 2, "2760": 2, "x26": 2, "x27": 2, "x28": 2, "x29": 2, "23": 2, "700": 2, "_x": 2, "x_": 2, "33": 2, "1023": 2, "34": 2, "1040": 2, "_x5": 2, "x5_": 2, "_x4": 2, "x4_": 2, "_x3": 2, "x3_": 2, "_x2": 2, "x2_": 2, "_x1": 2, "x1_": 2, "_x01": 2, "x01_": 2, "_x0": 2, "x0_": 2, "002": 2, "097": 2, "ignor": 2, "even": 2, "odd": 2, "succ": 2, "doubl": 2, "395": 2, "_z": 2, "z_": 2, "066": 2, "test3": 2, "test4": 2, "same_var": 2, "super": 2, "tricki": 2, "implement": 2, "restrict": 2, "a1": 2, "when": 2, "backtrack": 2, "lost": 2, "test5": 2, "26": 2, "577": 2, "281": 2, "159": 2, "95": 2, "43": 2, "_b": 2, "_a": 2, "087": 2, "fragment_exit": 2, "r": 2, "rev": 2, "replac": 2, "fragment_exit2": 2, "fragment_exit3": 2, "sigma": 2, "general_cas": 2, "20": 2, "30": 2, "55": 2, "_g": 2, "g_": 2, "general_case2": 2, "074": 2, "general_case3": 2, "hc_interp": 2, "interpret": 2, "logic": 2, "horn": 2, "illustr": 2, "reduct": 2, "realiz": 2, "substitut": 2, "also": 2, "note": 2, "third": 2, "try_claus": 2, "reduc": 2, "copi": 2, "b1": 2, "b2": 2, "box": 2, "f1": 2, "f2": 2, "tru": 2, "perp": 2, "subst": 2, "backchain": 2, "why": 2, "memb": 2, "xcon": 2, "l": 2, "imp": 2, "prog": 2, "adj": 2, "path": 2, "xnil": 2, "pathfroma": 2, "61": 2, "1823": 2, "42": 2, "1152": 2, "1103": 2, "574": 2, "65": 2, "2013": 2, "27": 2, "633": 2, "21": 2, "588": 2, "396": 2, "68": 2, "2077": 2, "suppress": 2, "12": 2, "817": 2, "_t": 2, "t_": 2, "1172": 2, "50": 2, "1381": 2, "51": 2, "1445": 2, "_c": 2, "cs_": 2, "107": 2, "hdclaus": 2, "heap_discard": 2, "ho": 2, "except": 2, "67": 2, "hollight": 2, "untrust": 2, "call": 2, "kernel": 2, "next_object": 2, "next": 2, "callback_prov": 2, "proof": 2, "complet": 2, "next_tact": 2, "tactic": 2, "update_certif": 2, "certif": 2, "applic": 2, "end_of_proof": 2, "ppterm": 2, "pretti": 2, "deftac": 2, "definit": 2, "export": 2, "trust": 2, "librari": 2, "fold2_append": 2, "put_bind": 2, "prove": 2, "function": 2, "end": 2, "ones": 2, "without": 2, "therefor": 2, "re": 2, "out": 2, "outs2": 2, "bound": 2, "fn": 2, "occur": 2, "yx": 2, "ysx": 2, "yy": 2, "hol": 2, "thm": 2, "provabl": 2, "def0": 2, "typ": 2, "loop": 2, "check1": 2, "check1def": 2, "check1thm": 2, "check1axm": 2, "check1nbt": 2, "reterm": 2, "not_defin": 2, "check_hyp": 2, "temporarili": 2, "well": 2, "formed": 2, "avoid": 2, "too": 2, "much": 2, "slow": 2, "down": 2, "ultim": 2, "due": 2, "recogn": 2, "alreadi": 2, "univ": 2, "disj_union": 2, "eq": 2, "like": 2, "known": 2, "No": 2, "propag": 2, "now": 2, "sequent": 2, "seq": 2, "gamma": 2, "hack": 2, "FOR": 2, "daemon": 2, "ign": 2, "gamma2": 2, "th": 2, "thenll": 2, "tac1": 2, "tacn": 2, "deftacl": 2, "tacl": 2, "debprint": 2, "thenl": 2, "tac": 2, "xtac": 2, "xx": 2, "id": 2, "wl": 2, "gamma1": 2, "wgamma": 2, "newl": 2, "ww": 2, "debuggin": 2, "old": 2, "itac": 2, "new_certif": 2, "pg": 2, "bad": 2, "statement": 2, "defin": 2, "def": 2, "pdef": 2, "ptype": 2, "h1": 2, "h2": 2, "return": 2, "assumpt": 2, "theorem": 2, "goaltact": 2, "hyp": 2, "axiom": 2, "st": 2, "new_basic_typ": 2, "rep": 2, "ab": 2, "repab": 2, "absrep": 2, "preph": 2, "p_tactic": 2, "typdef": 2, "decl": 2, "check1decl": 2, "hypsuchthat": 2, "goal": 2, "pgoal": 2, "existence_condit": 2, "reptyp": 2, "abstyp": 2, "absreptyp": 2, "repabstyp": 2, "impl": 2, "prephtyp": 2, "what": 2, "cont": 2, "stop": 2, "print_constraint": 2, "parseterm": 2, "ppp": 2, "xa": 2, "g2": 2, "g1": 2, "s2": 2, "s1": 2, "u2": 2, "subseteq": 2, "u1": 2, "v1": 2, "plu": 2, "safe_list_map": 2, "unifi": 2, "thei": 2, "probabl": 2, "l1": 2, "l2": 2, "list_map": 2, "pptac": 2, "parsetac": 2, "ppptac": 2, "py": 2, "pgamma": 2, "ptac1": 2, "ptacn": 2, "ptac": 2, "pa": 2, "interact": 2, "non": 2, "parse_obj": 2, "psttac": 2, "sttac": 2, "parse_thm": 2, "ptyp": 2, "parse_axiom": 2, "prep": 2, "pp_tactic": 2, "parse_nbt": 2, "ptybo": 2, "tybo": 2, "parse_def": 2, "inductive_def": 2, "predf": 2, "predf_mon": 2, "pred_i": 2, "pred_e0": 2, "pred_": 2, "exp": 2, "inductive_def_pkg": 2, "pb": 2, "pst": 2, "pp": 2, "ct": 2, "contnext": 2, "welcom": 2, "extra": 2, "light": 2, "toplevel_loop": 2, "toplevel": 2, "read_cmd": 2, "enter": 2, "flush": 2, "std_out": 2, "readterm": 2, "std_in": 2, "ph": 2, "canon": 2, "canonicaltac": 2, "pcanonicaltac": 2, "next_tactic0": 2, "list_iter_rev": 2, "print_sequ": 2, "read_in_context": 2, "cert": 2, "true_then_fals": 2, "int_tac": 2, "abort": 2, "halt": 2, "other_tac": 2, "mk_script": 2, "new_tac": 2, "non_interactive_tac": 2, "script": 2, "new_interactive_tac": 2, "interactive_tac": 2, "subproof": 2, "cscript": 2, "pscript": 2, "t2": 2, "new2": 2, "newt": 2, "mk_list_of_bounded_fresh": 2, "px": 2, "turn": 2, "t1": 2, "otac": 2, "mk_constant_list": 2, "parse_inductive_def_spec": 2, "pf": 2, "param": 2, "pty": 2, "pl": 2, "build_quantified_pred": 2, "bo": 2, "build_pred": 2, "process_constructor": 2, "rest": 2, "prove_monotonicity_thm": 2, "apredf": 2, "stm": 2, "monoton": 2, "inv": 2, "conv": 2, "depth_tac": 2, "dd": 2, "auto_monoton": 2, "state_fixpoint_def": 2, "fixpoint": 2, "prove_fix_intro_thm": 2, "predf_monoton": 2, "forall_i": 2, "rand_tac": 2, "rator_tac": 2, "land_tac": 2, "cutth": 2, "fixpoint_is_prefixpoint": 2, "lforal": 2, "lappli": 2, "applyth": 2, "itaut": 2, "prove_fix_elim_thm": 2, "opr": 2, "x23": 2, "fixpoint_subseteq_any_prefixpoint": 2, "x24": 2, "lapply_last": 2, "lforall_last": 2, "prove_intro_thm": 2, "introthm": 2, "mk_intro_thm": 2, "itauteq": 2, "mani": 2, "ON": 2, "monthm": 2, "fixdef": 2, "elimthm": 2, "out1": 2, "basic": 2, "mk_bounded_fresh": 2, "bang": 2, "bug": 2, "runtim": 2, "ml": 2, "uncom": 2, "doe": 2, "matter": 2, "btw": 2, "ff": 2, "constant_tacl": 2, "ptacl": 2, "all_equals_list": 2, "tac2": 2, "ptac2": 2, "orels": 2, "repeat": 2, "gettimeofdai": 2, "time_aft": 2, "spent": 2, "For": 2, "metavari": 2, "inspect": 2, "pseq": 2, "sym": 2, "eq_true_intro": 2, "tt": 2, "tt_intro": 2, "conj": 2, "andr": 2, "robu": 2, "version": 2, "below": 2, "nil": 2, "andl": 2, "forall_": 2, "mp": 2, "where": 2, "apply_last": 2, "pq": 2, "convers": 2, "al": 2, "strip_const": 2, "expand": 2, "argument": 2, "beta_expand": 2, "seem": 2, "pc": 2, "abs_tac": 2, "sub_tac": 2, "try": 2, "autom": 2, "todo": 2, "our": 2, "rid": 2, "hypothesi": 2, "left": 2, "tri": 2, "search": 2, "space": 2, "via": 2, "focus": 2, "not_": 2, "bit": 2, "long": 2, "want": 2, "produc": 2, "mayb": 2, "automat": 2, "somewher": 2, "els": 2, "exists_": 2, "or_": 2, "and_": 2, "eq_to_impl": 2, "not_i": 2, "sync": 2, "ff_elim": 2, "orr": 2, "orl": 2, "exists_i": 2, "n1": 2, "move": 2, "front": 2, "eq_reflex": 2, "induct": 2, "and_monoton": 2, "or_monoton": 2, "impl_monoton": 2, "not_monoton": 2, "forall_monoton": 2, "exists_monoton": 2, "the_librari": 2, "lstop": 2, "go": 2, "primivit": 2, "oper": 2, "axiomat": 2, "choic": 2, "over": 2, "choos": 2, "connect": 2, "quantifi": 2, "disjoint": 2, "inj1_disj_union": 2, "inj2_disj_union": 2, "case_disj_union": 2, "case_disj_union_inj1": 2, "e1": 2, "e2": 2, "case_disj_union_inj2": 2, "univers": 2, "injection_univ": 2, "ejection_univ": 2, "inject_limit_univ": 2, "eject_limit_univ": 2, "pair_univ": 2, "proj1_univ": 2, "proj2_univ": 2, "inj1_univ": 2, "inj2_univ": 2, "case_univ": 2, "ejection_injection_univ": 2, "eject_inject_limit_univ": 2, "proj1_pair_univ": 2, "p1": 2, "p2": 2, "proj2_pair_univ": 2, "case_univ_inj1": 2, "case_univ_inj2": 2, "or_commut": 2, "or_ff": 2, "or_tt": 2, "or_idempot": 2, "or_associ": 2, "and_commut": 2, "and_tt": 2, "and_ff": 2, "and_idempot": 2, "and_associ": 2, "and_or": 2, "or_and": 2, "ads_or_and": 2, "ads_and_or": 2, "not_or": 2, "not_and": 2, "not_not_not": 2, "impl_not_not": 2, "eq_to_impl_f": 2, "eq_to_impl_b": 2, "properti": 2, "inj": 2, "disj": 2, "pair_univ_inj_l": 2, "x20": 2, "x21": 2, "x22": 2, "x25": 2, "pair_univ_inj_r": 2, "injection_univ_inj": 2, "inj1_univ_inj": 2, "inj2_univ_inj": 2, "not_eq_inj1_inj2_univ": 2, "inj1_disj_union_inj": 2, "inj2_disj_union_inj": 2, "a2": 2, "knaster": 2, "tarski": 2, "j": 2, "in_subseteq": 2, "is_fixpoint": 2, "fixpoint_subseteq_any_fixpoint": 2, "prefixpoint_to_prefixpoint": 2, "fixpoint_is_fixpoint": 2, "found": 2, "recurs": 2, "rec": 2, "acc": 2, "accf": 2, "accf_monoton": 2, "acc_i0": 2, "acc_e0": 2, "acc_": 2, "lt": 2, "acc_i": 2, "well_found": 2, "rec_is_fixpoint": 2, "comment": 2, "requir": 2, "test_appli": 2, "test_apply2": 2, "test_itaut_1": 2, "test_monotone1": 2, "test_monotone2": 2, "test_monotone3": 2, "pnn": 2, "pnnf": 2, "pnnf_monoton": 2, "pnn_i": 2, "pnn_e0": 2, "pnn_e": 2, "pnn_tt": 2, "pnn_not": 2, "ad": 2, "hoc": 2, "fragil": 2, "x15": 2, "pnn_has_two_valu": 2, "elimin": 2, "principl": 2, "in_two": 2, "in_twof": 2, "in_twof_monoton": 2, "in_two_i": 2, "in_two_e0": 2, "in_two_": 2, "in_two_tt": 2, "in_two_ff": 2, "bool2": 2, "myrep2": 2, "myabs2": 2, "myrepabs2": 2, "myabsrep2": 2, "myproprep2": 2, "mytt": 2, "mynot": 2, "mytt_transf": 2, "mynot_transf": 2, "x18": 2, "mybool2_": 2, "x19": 2, "step0": 2, "mynot_mynot_mytt": 2, "step1": 2, "cartesian": 2, "product": 2, "inductive_typ": 2, "abstract": 2, "is_pair": 2, "prod": 2, "prod_rep": 2, "prod_ab": 2, "prod_repab": 2, "prod_absrep": 2, "prod_proprep": 2, "pair": 2, "snd": 2, "usual": 2, "lemma": 2, "natur": 2, "number": 2, "is_nat": 2, "is_natf": 2, "is_nat_monoton": 2, "is_nat_i": 2, "is_nat_e0": 2, "is_nat_": 2, "is_nat_z": 2, "nat_rep": 2, "nat_ab": 2, "nat_repab": 2, "nat_absrep": 2, "nat_proprep": 2, "consequ": 2, "transfer": 2, "nat_": 2, "nat_abs_inj": 2, "nat_rep_inj": 2, "s_inj": 2, "not_equal_z_": 2, "nat_cas": 2, "nat_case_z": 2, "nat_case_": 2, "pred_well_found": 2, "nat_recf": 2, "nat_rec": 2, "nat_rec_ok0": 2, "nat_rec_ok": 2, "arithmet": 2, "sum": 2, "plus_z": 2, "plus_": 2, "plus_n_z": 2, "plus_n_": 2, "plus_comm": 2, "statu": 2, "depend": 2, "converion": 2, "sometim": 2, "diverg": 2, "progress": 2, "myprop": 2, "provid": 2, "wit": 2, "remain": 2, "free": 2, "If": 2, "could": 2, "hand": 2, "would": 2, "need": 2, "symptom": 2, "more": 2, "never": 2, "wai": 2, "atm": 2, "apply_2": 2, "veri": 2, "same": 2, "must": 2, "occurr": 2, "still": 2, "fix": 2, "about": 2, "handl": 2, "discuss": 2, "enrico": 2, "he": 2, "shot": 2, "optim": 2, "possibl": 2, "IN": 2, "unimpl": 2, "onc": 2, "let": 2, "reach": 2, "becom": 2, "user": 2, "hypothes": 2, "least": 2, "But": 2, "better": 2, "bidirect": 2, "successor": 2, "predecessor": 2, "prover": 2, "lambdaprolog": 2, "interfac": 2, "There": 2, "leancop": 2, "prolog": 2, "trick": 2, "small": 2, "formal": 2, "possibli": 2, "everyth": 2, "decis": 2, "procedur": 2, "ring": 2, "inequ": 2, "231": 2, "18": 2, "8433": 2, "malform": 2, "hollight_legaci": 2, "infixr": 2, "126": 2, "arrow": 2, "infixl": 2, "255": 2, "infix": 2, "128": 2, "127": 2, "implic": 2, "iff": 2, "membership": 2, "130": 2, "24": 2, "mixfix": 2, "support": 2, "token": 2, "famili": 2, "identifi": 2, "start": 2, "belong": 2, "preced": 2, "associ": 2, "higher": 2, "than": 2, "here": 2, "tabl": 2, "repres": 2, "symbol": 2, "mark": 2, "cannot": 2, "eg": 2, "while": 2, "increas": 2, "fixiti": 2, "div": 2, "mod": 2, "prefix": 2, "postfix": 2, "stai": 2, "ask": 2, "skip": 2, "120": 2, "As": 2, "facil": 2, "ast": 2, "verifi": 2, "how": 2, "text": 2, "echo": 2, "myformula": 2, "hyp_uvar": 2, "shoud": 2, "31": 2, "62": 2, "086": 2, "impl2": 2, "080": 2, "index2": 2, "iter": 2, "999999": 2, "111": 2, "2318": 2, "756": 2, "io_colon": 2, "lambda": 2, "infer": 2, "simpli": 2, "appl": 2, "288": 2, "186": 2, "234": 2, "330": 2, "091": 2, "lambda2": 2, "41": 2, "lambda3": 2, "termifi": 2, "x16": 2, "x17": 2, "mult": 2, "ten": 2, "thousand": 2, "866": 2, "178": 2, "122": 2, "278": 2, "221": 2, "847": 2, "959": 2, "45": 2, "1020": 2, "106": 2, "296": 2, "list_as_conj": 2, "done": 2, "list_comma": 2, "llam": 2, "dummi": 2, "clause1": 2, "clause2": 2, "prune_arg": 2, "prune_arg2": 2, "prune_arg3": 2, "whatev": 2, "clause3": 2, "so": 2, "alon": 2, "529": 2, "476": 2, "459": 2, "400": 2, "383": 2, "_f": 2, "f_": 2, "c4": 2, "c5": 2, "c6": 2, "109": 2, "llamchr": 2, "resili": 2, "both_or_non": 2, "watch": 2, "becasus": 2, "deal": 2, "dirti": 2, "context": 2, "b2n": 2, "216": 2, "798": 2, "710": 2, "457": 2, "893": 2, "751": 2, "_p": 2, "p_": 2, "xr": 2, "4096": 2, "cmp_term": 2, "time0": 2, "time1": 2, "pr": 2, "broken": 2, "time2": 2, "338665": 2, "054629": 2, "967089": 2, "587": 2, "map_list": 2, "assoc": 2, "807320": 2, "611266": 2, "368343": 2, "794": 2, "map_list_opt": 2, "260207": 2, "487699": 2, "227113": 2, "981": 2, "name_builtin": 2, "named_clauses00": 2, "name1": 2, "named_clauses01": 2, "unabl": 2, "graft": 2, "named_clauses02": 2, "namespaces00": 2, "aux": 2, "rl": 2, "174": 2, "namespaces01": 2, "toto": 2, "insid": 2, "baz": 2, "namespaces02": 2, "082": 2, "namespaces03": 2, "foo1": 2, "foo2": 2, "foo3": 2, "foo4": 2, "187": 2, "168": 2, "095": 2, "nil_con": 2, "con": 2, "062": 2, "notat": 2, "190": 2, "191": 2, "prefixr": 2, "postfixl": 2, "200": 2, "uu": 2, "cd": 2, "132": 2, "zip": 2, "110": 2, "151": 2, "269": 2, "101": 2, "_d": 2, "103": 2, "notation_error": 2, "notation_legaci": 2, "patternunif": 2, "078": 2, "patternunif2": 2, "32": 2, "pi3": 2, "pi5": 2, "bam": 2, "152": 2, "85": 2, "56": 2, "089": 2, "pnf": 2, "transform": 2, "formula": 2, "prenex": 2, "normal": 2, "form": 2, "assum": 2, "classic": 2, "equival": 2, "analyz": 2, "structur": 2, "includ": 2, "modifi": 2, "analysi": 2, "quant_fre": 2, "atom": 2, "termp": 2, "appear": 2, "head": 2, "immedi": 2, "subformula": 2, "proposit": 2, "top": 2, "OF": 2, "f3": 2, "f4": 2, "91": 2, "3225": 2, "688": 2, "475": 2, "855": 2, "891": 2, "93": 2, "3271": 2, "_f4": 2, "f4_": 2, "_f3": 2, "f3_": 2, "_f2": 2, "f2_": 2, "_f1": 2, "f1_": 2, "polymorphic_vari": 2, "langag": 2, "polymorph": 2, "variant": 2, "unari": 2, "funnam": 2, "program": 2, "fun": 2, "distinct": 2, "btl": 2, "ttl": 2, "origti": 2, "check_domain": 2, "check_codomain": 2, "bodi": 2, "is_subset": 2, "is_subset_": 2, "tl": 2, "tl1": 2, "mem_": 2, "check_term": 2, "accord": 2, "ocaml": 2, "ref": 2, "kill": 2, "hindlei": 2, "milner": 2, "interest": 2, "singleton": 2, "up": 2, "trigger": 2, "confus": 2, "between": 2, "mess": 2, "happen": 2, "is_ground": 2, "main1": 2, "Of": 2, "ig": 2, "og": 2, "special": 2, "main2": 2, "ih1": 2, "oh1": 2, "ih2": 2, "oh2": 2, "84": 2, "2748": 2, "2542": 2, "1118": 2, "1008": 2, "3786": 2, "102": 2, "3251": 2, "958": 2, "729": 2, "88": 2, "2860": 2, "80": 2, "2645": 2, "interspers": 2, "35": 2, "1158": 2, "81": 2, "2697": 2, "119": 2, "queen": 2, "less": 2, "neq": 2, "rang": 2, "queens_aux": 2, "unplacedq": 2, "safeq": 2, "unplacedqs1": 2, "not_attack": 2, "not_attack_aux": 2, "dummy1": 2, "dummy2": 2, "first_claus": 2, "no_more_ch": 2, "m1": 2, "tenthousand": 2, "189": 2, "49": 2, "1240": 2, "348": 2, "431": 2, "204": 2, "52": 2, "1389": 2, "649": 2, "_dummy2": 2, "dummy2_": 2, "_dummy1": 2, "dummy1_": 2, "54": 2, "1428": 2, "1471": 2, "1532": 2, "453": 2, "quote_syntax": 2, "builtin": 2, "013": 2, "reduce_cbn": 2, "xxxxxxxxx": 2, "cbn": 2, "y2": 2, "ONE": 2, "six": 2, "twelv": 2, "nine": 2, "five": 2, "285": 2, "211": 2, "563": 2, "_nine": 2, "nine_": 2, "_twelv": 2, "twelve_": 2, "245": 2, "reduce_cbv": 2, "cbv": 2, "r2": 2, "115": 2, "351": 2, "088": 2, "790": 2, "restriction3": 2, "nr": 2, "exit": 2, "442": 2, "restriction4": 2, "restriction5": 2, "restriction6": 2, "yap": 2, "027": 2, "771": 2, "hashtbl": 2, "528": 2, "ineffici": 2, "681": 2, "899": 2, "lvl": 2, "flat": 2, "763": 2, "629": 2, "083": 2, "90": 2, "48": 2, "ocamlopt": 2, "014": 2, "ocamlc": 2, "024": 2, "033": 2, "257": 2, "72": 2, "ulimit": 2, "81920": 2, "newlazi": 2, "lazi": 2, "eager": 2, "78": 2, "00": 2, "auto": 2, "39": 2, "hash": 2, "38": 2, "64": 2, "man": 2, "83": 2, "44": 2, "63": 2, "effici": 2, "ii": 2, "70": 2, "desper": 2, "desperate2": 2, "desperate3": 2, "1827": 2, "1857": 2, "47": 2, "2004": 2, "139": 2, "rev14": 2, "171": 2, "same_term": 2, "self_assign": 2, "succe": 2, "138590": 2, "049548": 2, "797339": 2, "shorten": 2, "177": 2, "shorten2": 2, "shorten_aux": 2, "shorten_aux2": 2, "shorten_builtin": 2, "shorten_tri": 2, "concat1": 2, "escap": 2, "121": 2, "_e": 2, "e_": 2, "_ab": 2, "ab_": 2, "spill_and": 2, "omit": 2, "purpos": 2, "spill_impl": 2, "spill_lam": 2, "trace2": 2, "trace_chr": 2, "trace_cut": 2, "trace_findal": 2, "trail": 2, "outcom": 2, "105": 2, "085": 2, "typeabbrv": 2, "typeabbrev": 2, "typeabbrv1": 2, "typeabbrv10": 2, "tmp": 2, "x30": 2, "x31": 2, "typeabbrv11": 2, "typeabbrv12": 2, "typeabbrv2": 2, "duplic": 2, "abbrevi": 2, "previou": 2, "typeabbrv3": 2, "typeabbrv4": 2, "typeabbrv5": 2, "elpi__compil": 2, "compileerror": 2, "unfold": 2, "typeabbrv6": 2, "unbound": 2, "typeabbrv7": 2, "typeabbrv8": 2, "typeabbrv9": 2, "uminu": 2, "uvar_chr": 2, "mk": 2, "meta": 2, "438": 2, "731": 2, "072": 2, "_x10": 2, "x10_": 2, "variadic_declare_constraint": 2, "tye": 2, "mono": 2, "size": 2, "comma": 2, "integ": 2, "fp": 2, "overbar": 2, "poli": 2, "fresh_": 2, "polyt": 2, "vt": 2, "vg": 2, "tp": 2, "xt": 2, "tq": 2, "76": 2, "1561": 2, "82": 2, "1693": 2, "2038": 2, "2025": 2, "2408": 2, "_tq": 2, "tq_": 2, "114": 2, "w_legaci": 2, "zebra": 2, "elp": 2, "_build": 2, "default": 2, "lib": 2}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"about": 0, "prerequisit": [0, 2], "extens": 0, "build": 0, "welcom": 1, "elpi": 1, "": 1, "document": 1, "api": 1, "playground": 2, "syntax": 2, "regexp": 2, "match": 2, "test": 2, "bed": 2}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 60}, "alltitles": {"About": [[0, "about"]], "Prerequisites": [[0, "prerequisites"], [2, "prerequisites"]], "Extensions": [[0, "extensions"]], "Building": [[0, "building"]], "Welcome to Elpi\u2019s documentation!": [[1, "welcome-to-elpi-s-documentation"]], "API:": [[1, null]], "Playground": [[2, "playground"]], "Syntax": [[2, "syntax"]], "Regexp Matching": [[2, "regexp-matching"]], "Test Bed": [[2, "test-bed"]]}, "indexentries": {}}) \ No newline at end of file