Commit graph

45 commits

Author SHA1 Message Date
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