Commit graph

17692 commits

Author SHA1 Message Date
Leonardo de Moura
34acf2003c chore: rename assign delayed method 2019-10-25 10:44:42 -07:00
Leonardo de Moura
14afe50384 chore: fix extern Level primitive names 2019-10-24 19:09:37 -07:00
Leonardo de Moura
025e9d32ef feat: update functions for universe levels, use C version of Level.hasParam and Level.hasMVar 2019-10-24 19:04:01 -07:00
Leonardo de Moura
ba286dee8e chore: update stage0 2019-10-24 17:44:41 -07:00
Leonardo de Moura
da4c6a8b72 feat: helper functions 2019-10-24 17:43:27 -07:00
Leonardo de Moura
cb210b0adc feat: expose Expr.hasExprMVar and Expr.hasLevelMVar 2019-10-24 17:32:47 -07:00
Leonardo de Moura
f9572174c9 feat: TypeContext skeleton 2019-10-24 16:45:33 -07:00
Leonardo de Moura
563da4522d chore: udpate stage0 2019-10-24 15:12:09 -07:00
Leonardo de Moura
a50515e0d6 chore: use => instead of Lean3 , 2019-10-24 15:10:19 -07:00
Leonardo de Moura
d1c9a440d8 feat: add missing Expr.update* functions 2019-10-24 15:10:03 -07:00
Leonardo de Moura
ccfa57d657 chore: rename constructors
Before we start writing a lot of Expr code.

- `Expr.pi` does not make sense anymore.
- `Expr.elet` is weird. `«let»` is too inconvenient to write. So, I
   used `letE` short for `letExpr`. GHC avoids this issue because
   keywords are lowercase and constructors are capitalized.
2019-10-24 13:53:33 -07:00
Leonardo de Moura
faf7d7daf6 chore: update stage0 2019-10-23 17:31:47 -07:00
Leonardo de Moura
012d48f35b chore: remove unnecessary annotations
We have a new and better "arity guesser"
2019-10-23 17:30:59 -07:00
Leonardo de Moura
b709979102 feat: improve arity guesser for IO extern primitives 2019-10-23 17:29:41 -07:00
Leonardo de Moura
a56297203f chore: style 2019-10-23 17:10:39 -07:00
Leonardo de Moura
e5e5cd8519 chore: update stage0 2019-10-23 16:58:35 -07:00
Leonardo de Moura
b9480d6ae2 chore: remove unnecessary c inline 2019-10-23 16:58:07 -07:00
Leonardo de Moura
745367a4ed fix: remove irrelevant arguments 2019-10-23 16:51:09 -07:00
Leonardo de Moura
aa77c0a651 chore: remove unnecessary inline 2019-10-23 15:26:22 -07:00
Leonardo de Moura
c232e9e1c8 chore: update stage0 2019-10-23 15:19:52 -07:00
Leonardo de Moura
93c6ab8eee feat: add Expr.updateApp test of concept 2019-10-23 15:19:34 -07:00
Leonardo de Moura
0941ea284f feat: suppress irrelevant arguments in extern calls 2019-10-23 15:06:44 -07:00
Leonardo de Moura
74d8caf57a feat: add Level mappings 2019-10-23 12:47:37 -07:00
Leonardo de Moura
0032c02247 feat: expose Expr.equal (structural equality) and adding Expr mappings aliases 2019-10-23 10:49:51 -07:00
Leonardo de Moura
76c9206837 chore: update stage0 2019-10-22 17:26:51 -07:00
Leonardo de Moura
c330600197 chore: add example to demonstrate that messages are computed lazily 2019-10-22 17:12:42 -07:00
Leonardo de Moura
c3e4bc0d55 fix: enableTracing 2019-10-22 16:45:23 -07:00
Leonardo de Moura
d51c291f2a refactor: simplify traceCtx 2019-10-22 16:36:18 -07:00
Leonardo de Moura
6498055656 chore: helper instances 2019-10-22 16:18:28 -07:00
Leonardo de Moura
f88561ae68 feat: add trace! macro 2019-10-22 16:08:37 -07:00
Leonardo de Moura
45e21168d2 feat: hierarchical trace kinds 2019-10-22 15:13:57 -07:00
Leonardo de Moura
0a0bc0b7b9 fix: remove unused parameter and add missing disableTracing 2019-10-22 15:04:44 -07:00
Leonardo de Moura
16099189f2 chore: minor adjustments 2019-10-22 14:57:26 -07:00
Leonardo de Moura
13faf9fdf6 feat: add trace prefix to options 2019-10-22 14:43:02 -07:00
Leonardo de Moura
3cd8dc6366 fix: minor issues and add MonadTracer test 2019-10-22 14:33:07 -07:00
Leonardo de Moura
f74195fd50 refactor: new MonadTracer and helper classes/instances 2019-10-22 10:18:18 -07:00
Leonardo de Moura
17a3c51c54 feat: structured messages
Current "plan":
structure messages => tracing infrastructure => unifier => elaborator

cc @kha @dselsam
2019-10-22 08:43:32 -07:00
Leonardo de Moura
1418f12248 fix: reject [class] at declarations that are not inductive datatypes or structures
closes #42
2019-10-21 22:52:13 -07:00
Daniel Selsam
d8a3dfb63d doc: elabissue for bind with existential types 2019-10-21 22:28:14 -07:00
Daniel Selsam
5ce34b0b3c doc: elabissues from reid visit 2019-10-21 22:27:58 -07:00
Leonardo de Moura
4794902f42 chore: ensure dummy functions are inlined 2019-10-21 18:47:24 -07:00
Leonardo de Moura
08c74c5739 chore: update stage0 2019-10-21 18:43:15 -07:00
Leonardo de Moura
870db93c8e feat: add EState.Backtrackable class
@dselsam @kha: The new class allows us to use `EState` even when part of
the state must be backtrackable. The default instance ensures that
there is no backtrackable state. The new test shows how to use it.
2019-10-21 18:39:59 -07:00
Leonardo de Moura
a8d3803089 chore: remove weird idiom 2019-10-21 17:41:23 -07:00
Leonardo de Moura
25e72207b9 chore: update stage0 2019-10-21 17:36:27 -07:00
Leonardo de Moura
5d1f104b8d fix: EState.set 2019-10-21 17:34:41 -07:00
Leonardo de Moura
30571f12d4 chore: adjust runtime to new EState 2019-10-21 17:05:16 -07:00
Leonardo de Moura
d8dd61ae5a chore: remove optimization
We will add support for returning values on the stack, and will not
need to rely on the trick used in this module.
2019-10-21 16:56:07 -07:00
Leonardo de Moura
58d01e6a99 chore: update stage0 2019-10-21 16:55:18 -07:00
Leonardo de Moura
5902ef30d6 refactor: prepare to change EState 2019-10-21 16:51:48 -07:00