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
Leonardo de Moura
b5d7f9a763
chore: cleanup Trace
...
- State was not used linearly.
- `TraceState` must be non-backtrackable. That is, we should never use `TraceT (ExceptT E m A)`.
Thus, we add a new instance for lifting MonadTracer.
- Avoid `Thunk`.
Pending issues:
- API is too expensive.
a) We need to create closure.
b) We eagerly create `Message`s even when tracing is disabled.
- `Message` collides with structure defined at `Messages.lean`
- Need convenient way of writing new `MonadTracer` instances.
- `traceRoot` requires a `Position` and a class.
Thus, only modules that have access to `Position` may turn on
tracing. The module `TypeContext` will not have access to position
information, but we want to generate trace messages.
2019-10-21 14:56:36 -07:00
Leonardo de Moura
5529266cdf
chore: missing instance
2019-10-21 14:40:47 -07:00
Leonardo de Moura
9baf91e641
feat: add Level.isEquiv
2019-10-21 10:56:59 -07:00
Leonardo de Moura
c30e9ca551
chore: add TypeContext.lean file
2019-10-21 10:51:55 -07:00
Leonardo de Moura
d18305297d
feat: add Expr.getAppRevArgs
2019-10-21 10:49:01 -07:00
Leonardo de Moura
65e5247944
chore: mark dead code
2019-10-21 10:25:38 -07:00
Leonardo de Moura
eb9f361232
chore: remove dead code
2019-10-21 10:14:19 -07:00
Leonardo de Moura
fcf56f7017
chore: update stage0
2019-10-21 09:26:37 -07:00
Leonardo de Moura
447482e489
refactor: use Array instead of List at mkApp and getAppArgs
...
Preparation for new unifier.
@dselsam: I had to make minor changes at `Synth.Lean`, and add messy
code to `Context.lean`. `Context.lean` will be deleted in the future.
So, it is not a big deal.
2019-10-21 09:12:36 -07:00
Daniel Selsam
8b7975fab8
test: add (perf) test for typeclass append
2019-10-19 18:07:37 -07:00
Daniel Selsam
8c8d47562d
perf: do not recompute anormSubgoal
2019-10-19 18:07:37 -07:00
Daniel Selsam
c45547a14c
perf: check for mvar in uAlphaNormalizeCore
2019-10-19 18:07:37 -07:00
Daniel Selsam
7e19b5999a
perf: check for MVar in eAlphaNormalizeCore
2019-10-19 18:07:37 -07:00
Sebastian Ullrich
ba8b3a1733
feat: allow ':' as search path operator on Windows
...
This reimplements 704e203 .
2019-10-19 18:03:55 -07:00
Leonardo de Moura
1aac5380b9
chore: use TO_REF
2019-10-19 14:23:15 -07:00
Leonardo de Moura
1f8370c67d
test: issue reported by Reid
2019-10-19 13:26:47 -07:00
Sebastian Ullrich
9160949df3
test: fix test
2019-10-18 13:47:23 +02:00
Sebastian Ullrich
9b55687597
fix: show #eval errors
2019-10-18 13:10:13 +02:00
Sebastian Ullrich
7c56754495
feat: profile #synth calls
2019-10-18 11:27:55 +02:00
Leonardo de Moura
104b4a1ce2
test: document another elab issue
2019-10-15 09:41:07 -07:00
Sebastian Ullrich
2866824b51
test: capture stderr as well
...
This might or might not give more information on randomly failing tests on CI
/cc @leodemoura
2019-10-15 17:36:28 +02:00
Leonardo de Moura
0c3c5bf82f
tests: add more issues
2019-10-15 07:47:09 -07:00
Leonardo de Moura
39e8499c7b
fix: new offset at param_borrow
2019-10-11 16:27:29 -07:00
Leonardo de Moura
7a11f3b0a9
test: add getCtorLayout test
2019-10-11 15:11:24 -07:00
Leonardo de Moura
02ab51505c
fix: adjust ir_interpreter
...
IRType is not a scalar type anymore.
2019-10-11 15:00:26 -07:00
Leonardo de Moura
7adf00666b
feat: expose getCtorLayout
2019-10-11 14:34:30 -07:00
Leonardo de Moura
178bde2a83
chore: update stage0
2019-10-11 11:20:45 -07:00
Leonardo de Moura
e5a55e16cf
chore: rename files
2019-10-11 11:19:58 -07:00
Leonardo de Moura
604cb3dd81
feat: check struct/union projs
2019-10-11 11:13:44 -07:00
Leonardo de Moura
321d9a8a89
chore: update stage0
2019-10-11 10:57:51 -07:00
Leonardo de Moura
97373b5a20
feat: add struct/union constructors to IRType
2019-10-11 10:57:36 -07:00
Leonardo de Moura
9852da8b18
chore: update stage0
2019-10-09 15:26:46 -07:00
Leonardo de Moura
dd69b3b46e
feat: remove unnecessary normalizeIds steps
2019-10-09 15:24:07 -07:00
Leonardo de Moura
feb9b66a30
chore: update stage0
2019-10-09 15:21:17 -07:00
Leonardo de Moura
2b3218d35a
fix: ensure expandResetReuse does not produce decl with duplicate indices
2019-10-09 15:18:01 -07:00
Leonardo de Moura
04c0c0c159
feat: ensure duplicate indices are not used
2019-10-09 15:02:43 -07:00
Leonardo de Moura
8ec03b09ec
fix: make sure maxIndex takes into account dead variables too
2019-10-09 14:55:48 -07:00
Leonardo de Moura
b44e27c91c
refactor: ensure pushProj does not reuse variable ids
2019-10-09 14:55:39 -07:00
Leonardo de Moura
d1ca45d83a
chore: use #[] instead of Array.empty
2019-10-08 16:23:06 -07:00
Leonardo de Moura
bfe4f5e7d3
chore: style
2019-10-08 15:21:42 -07:00
Leonardo de Moura
2f46279d78
chore: update stage0
2019-10-08 14:35:04 -07:00