Sebastian Ullrich
ab42cffad2
refactor: rename all Default.lean files except for Init/Default.lean
2019-11-19 13:52:21 +01:00
Leonardo de Moura
46adfcfdb6
refactor: Name fully implemented in Lean
2019-11-18 19:54:05 -08:00
Leonardo de Moura
b09fb4348d
chore: rename Name constructors
2019-11-18 19:54:05 -08:00
Leonardo de Moura
d9ca07fca8
chore: replace DecidableEq Name with HasBeq Name
2019-11-18 12:45:53 -08:00
Leonardo de Moura
66895b2c94
chore: mkLevelZero => levelZero, mkLevelOne => levelOne
2019-11-17 08:33:37 -08:00
Leonardo de Moura
b78ac59523
refactor: Level fully implemented in Lean
2019-11-17 08:24:09 -08:00
Leonardo de Moura
110438edd7
refactor: use mkLevel* instead of Level constructors
2019-11-17 07:17:58 -08:00
Leonardo de Moura
a3ccbe66cf
refactor: Expr fully implemented in Lean
...
No hidden fields.
2019-11-16 12:10:49 -08:00
Leonardo de Moura
7775c7816d
chore: add UInt* helper functions
2019-11-14 17:26:33 -08:00
Leonardo de Moura
c341486e28
refactor: avoid Expr constructors
...
Using `mk*` functions instead.
Reason: preparing to remove `src/kernel/expr.cpp` hack.
2019-11-14 16:32:45 -08:00
Leonardo de Moura
c768a24735
chore: mkApp => mkAppN
...
We are goint to use `mkApp` for creating unary applications
2019-11-14 15:44:17 -08:00
Leonardo de Moura
af3b465760
feat: apply [specialize] before elaboration
...
This is a workaround. See new comment.
We need it for making aa9080e9e more effective.
2019-11-13 15:41:27 -08:00
Leonardo de Moura
583923492c
chore: naming conventions
2019-11-07 10:40:26 -08:00
Leonardo de Moura
c3e9ac73e2
refactor: default ==> arbitrary
...
Make sure it is opaque, and avoid `irreducible`
2019-11-05 14:42:42 -08:00
Leonardo de Moura
06fe9d3afa
refactor: EState ==> EStateM
2019-11-05 09:05:10 -08:00
Leonardo de Moura
5bb5ef6296
refactor: State ==> StateM
2019-11-05 07:56:19 -08:00
Leonardo de Moura
df8bbf5438
chore: remove Init.Control.Combinators
...
Reason: it contains a bunch of little functions that are supposed to
be defined in other modules.
2019-10-27 18:58:40 -07:00
Leonardo de Moura
34765c97d7
chore: rename mmap, mfoldl, mfor ...
...
We now use `mapM`, `foldlM`, ... like Haskell.
Motivation: fixes the inconsistent naming convetion. We are already
using the `M` suffix for functions such as `anyM`. We used `anyM`
because `many` is a valid English word.
cc @kha @dselsam
2019-10-27 18:19:34 -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
a56297203f
chore: style
2019-10-23 17:10:39 -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
5902ef30d6
refactor: prepare to change EState
2019-10-21 16:51:48 -07:00
Leonardo de Moura
7a11f3b0a9
test: add getCtorLayout test
2019-10-11 15:11:24 -07:00
Leonardo de Moura
7adf00666b
feat: expose getCtorLayout
2019-10-11 14:34:30 -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
97373b5a20
feat: add struct/union constructors to IRType
2019-10-11 10:57:36 -07:00
Leonardo de Moura
dd69b3b46e
feat: remove unnecessary normalizeIds steps
2019-10-09 15:24:07 -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
0bc41efc7a
chore: use new array notation #[...]
2019-10-07 15:41:34 -07:00
Leonardo de Moura
4e13904d6b
chore: remove unnecessary function
2019-10-07 14:27:23 -07:00
Leonardo de Moura
daf9d219d3
fix: must reset assignments before each iteration
...
Reason: the join points cached values are incorrect since they were
computed using the previous values for `funVals`.
2019-10-07 14:25:45 -07:00
Leonardo de Moura
c81ab9759f
feat: add elimDeadBranches
2019-10-07 13:59:00 -07:00
Leonardo de Moura
f8bf68a9af
chore: invoke inferCtorSummaries from IR compiler
2019-10-07 13:10:54 -07:00
Leonardo de Moura
3f62957c8f
feat: add widening operator
2019-10-07 13:05:43 -07:00
Leonardo de Moura
4e53cc0bfa
fix: bugs at infer
2019-10-07 10:52:17 -07:00
Leonardo de Moura
0714716477
fix: file and import names, tests and stage0
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2019-10-04 17:04:02 -07:00
Leonardo de Moura
a2abbdbf9a
chore: fix imports using script
...
This is just a draft.
```
for f in `find . -name '*.lean'`; do echo $f; gsed "/^import/s/\b\(.\)/\u\1/g" $f > tmp; gsed "/^Import/s/Import/import/g" tmp > $f; done
```
2019-10-04 14:34:58 -07:00
Leonardo de Moura
de4d3152f1
chore: use CamelCase to name files and directories
2019-10-04 14:23:08 -07:00