26 Commits

Author SHA1 Message Date
62f0389c94
Implementend Generator, does not work 2024-03-15 02:29:39 +01:00
024513767f
Implemnted (most) of MSeq monad 2024-03-14 20:48:52 +01:00
8d3f175a82
Added solver for Functor actions 2024-03-14 14:16:53 +01:00
88994419e3
Added a test and fixed two inference bugs 2024-03-14 13:54:36 +01:00
8f45228e1d
The solver works ... well at least it compiles 2024-03-14 13:27:12 +01:00
35d0bd817e
Implemented solver for easy cases 2024-03-11 20:15:09 +01:00
5ed12f0cdf
Added all type inference 2024-03-11 17:52:04 +01:00
5caeca79ff
Added annotation, but not working 2024-03-10 20:51:14 +01:00
1fc5a46904
Tried to implement Var and Abs has_type method ... 2024-02-15 05:46:29 +01:00
f600a1b212
Backed up the original run.t file for comparison. Did the first dune promote (nothing works) 2024-02-15 01:41:21 +01:00
Gabriel Scherer
fd0213fe82 fix a ConstraintSimplifier bug
Reported-by: Mathis Bouverot-Dupuis
2024-02-14 15:57:36 +01:00
Gabriel Scherer
1f2bf2bb13 MSeq and MRand documentation: give an example.
Suggested-by: Dai Weituo
2024-02-08 16:17:07 +01:00
Gabriel Scherer
44d184b6d4 Infer.has_type: include a full example of a constraint that works for (lambda x. x)
Suggested-by: Dai Weituo
2024-02-08 15:49:45 +01:00
Gabriel Scherer
c0ad56a745 move Decode from support/ to src/ for more visibility
Suggested-by: Neven Villani <neven.villani@crans.org>
2024-01-23 23:33:23 +01:00
Gabriel Scherer
e76e32347f Merge branch 'main' into 'main'
Non-lazy `MonadPlus.delay` leads to stack overflow

See merge request gasche/mpri-2.4-project-2023-2024!1
2024-01-16 14:35:35 +00:00
Neven Villani
56b91df9d5
Make MSeq.delay and MRand.delay lazy
This avoids `Stack_overflow`s that otherwise occur when the behavior
is only partially implemented.
2024-01-15 20:13:52 +01:00
Gabriel Scherer
bb1ec74794 README: tip of GADTs in OCaml 2024-01-07 23:06:16 +01:00
Gabriel Scherer
88ce70e6ee give more hints in Generator.ml 2024-01-07 23:01:42 +01:00
Gabriel Scherer
97e3c01eaa clarify(?) the documentation of ['a on_sol] 2024-01-07 22:37:37 +01:00
Gabriel Scherer
3cf46e36c2 minigen: ensure that it is possible to run with only MSeq implemented
Reported-by: Neven Villani <neven.villani@crans.org>
2024-01-07 22:30:07 +01:00
Gabriel Scherer
1b02ba850c Infer: explicitly restrict tuples to pairs 2023-12-23 01:22:47 +01:00
Gabriel Scherer
1852d50231 parser: use braces around tuples, not parentheses
This is the syntax we use in the printer. It has the advantage of
making the printing (and parsing) of tuple types unambiguous, even for
tuples of type 0 or 1:
- `(int)` could be `int` or a 1-ary tuple
- `{int}` can only be a 1-ary tuple
2023-12-23 01:22:15 +01:00
Gabriel Scherer
e848910039 testsuite: avoids 4-indented code blocks that pass for test output
Reported-By: Nicolás Ojeda Bär
2023-12-22 15:49:01 +01:00
Gabriel Scherer
fce7844414 fix the OCaml bound in .opam: we use Seq.take which is 4.14
Reported-by: Ellenor Taghayor
2023-12-22 15:48:56 +01:00
Gabriel Scherer
96bd055026 first public release of the project 2023-12-21 00:40:52 +01:00
Gabriel Scherer
6c3e9720fc root 2023-12-21 00:39:18 +01:00