Commit graph

17586 commits

Author SHA1 Message Date
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
e06d10b34d chore: update stage0 2019-10-07 13:11:59 -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
Sebastian Ullrich
27599b11b5 chore: clang 9 should work on macOS now 2019-10-07 12:24:55 +02:00
Sebastian Ullrich
2eddb76b98 chore: use pinned nixpkgs version for everything 2019-10-07 12:24:55 +02:00
Leonardo de Moura
10760d3eb2 chore: try (to fix) Windows build 2019-10-06 18:55:32 -07:00
Leonardo de Moura
4bb72cb272 chore: update stage0 2019-10-04 21:17:11 -07:00
Leonardo de Moura
afc5352360 chore: fix style 2019-10-04 21:16:37 -07:00
Leonardo de Moura
a4c7e597a8 chore: (try to) fix Windows build 2019-10-04 20:52:54 -07:00
Leonardo de Moura
82c3bb8015 chore: update stage0 2019-10-04 20:02:51 -07:00
Leonardo de Moura
5801e0e65a fix: print module name instead of file name 2019-10-04 20:02:43 -07:00
Leonardo de Moura
7f878eeb95 chore: (try to) fix Windows build 2019-10-04 19:48:03 -07:00
Leonardo de Moura
a2db1c9979 chore: remove old doc 2019-10-04 17:09:47 -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
a1b811e298 chore: add new stage0 2019-10-04 14:45:59 -07:00
Leonardo de Moura
b75b7be0b3 chore: delete old stage0 2019-10-04 14:40:18 -07:00
Leonardo de Moura
ce487517d1 chore: update stage0 2019-10-04 14:37:33 -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
Leonardo de Moura
93207e99f4 chore: preparing for new naming convention 2019-10-04 14:22:23 -07:00
Leonardo de Moura
b44e9c8d64 chore: update stage0 2019-10-04 14:20:22 -07:00
Leonardo de Moura
63babfd478 chore: preparing for new file naming convention 2019-10-04 14:18:56 -07:00
Leonardo de Moura
e596089a2d chore: one module per import command 2019-10-04 12:27:47 -07:00
Sebastian Ullrich
264fd2b987 chore: remove obsolete prepare-commit-msg script 2019-10-04 10:51:24 +02:00
Leonardo de Moura
a47bbf747d chore: minor fixes after rebase 2019-10-03 17:27:05 -07:00
Daniel Selsam
ba06fd335b test: add new elab issue from @joehendrix 2019-10-03 17:23:53 -07:00
Daniel Selsam
1a1daf8aba fix(typeclass/context): standardize eUnify fail message 2019-10-03 17:23:53 -07:00
Daniel Selsam
7e63caa47e chore(typeclass): slight refactor 2019-10-03 17:23:53 -07:00
Daniel Selsam
0590def0bc perf(typeclass/context.lean): quick fail in eUnify 2019-10-03 17:23:53 -07:00
Daniel Selsam
5de5aa37cf chore(lean/typeclass): distinguish 'TmpMVar' from 'MVar' 2019-10-03 17:23:53 -07:00
Daniel Selsam
62c8d4cc57 perf(lean/typeclass/context.lean): quick checks 2019-10-03 17:23:53 -07:00
Daniel Selsam
59ff6ff850 chore(lean/typeclass): standardize indents 2019-10-03 17:23:53 -07:00
Daniel Selsam
e071501342 chore(lean/typeclass): 'synth_command' -> 'synthCommand' 2019-10-03 17:23:53 -07:00
Daniel Selsam
710b115885 chore(library/init): macro version of panic 2019-10-03 17:23:53 -07:00
Daniel Selsam
1d0e0378c0 chore(library/init/lean): Mvar -> MVar 2019-10-03 17:23:53 -07:00
Daniel Selsam
9c4f33593b chore(typeclass): use Option.toBool 2019-10-03 17:23:53 -07:00
Daniel Selsam
8b461ccdaa fix(library/init/data/queue): need not be inhabited 2019-10-03 17:23:53 -07:00
Daniel Selsam
a82266c652 feat(library/init/lean/typeclass): #synth with tabled resolution 2019-10-03 17:23:53 -07:00
Leonardo de Moura
b4a002f0f2 feat: abstract interpreter entry point, and missing stuff
TODO: widening to ensure termination
2019-10-03 16:50:47 -07:00
Leonardo de Moura
938c018e40 feat: helper functions 2019-10-03 16:50:38 -07:00
Leonardo de Moura
ce80a6d749 chore: naming convention 2019-10-03 16:50:30 -07:00
Leonardo de Moura
b316dc24c8 feat: more array goodies and naming convetion 2019-10-03 16:50:23 -07:00
Leonardo de Moura
c056894da3 feat: add Option.get!, Option.getOrElse ==> Option.getD 2019-10-03 16:50:07 -07:00
Leonardo de Moura
338c9359fa feat: add find! to maps 2019-10-03 16:49:57 -07:00
Leonardo de Moura
680ee21161 feat(library/init/lean/compiler/ir): add unreachbranches.lean
New optimization pass for eliminating unreachable branches that occur
very often when using `ExceptT` and `EState`.

The current commit implements an abstract interpreter for computing
an approximation of the kinds of values returned by a function.
TODO:
- Implement `FnBody.jmp`.
- Implement `interpDecl`
- Remove unreachable branches in `FnBody.case`
2019-10-02 19:57:43 -07:00
Leonardo de Moura
45d664ff25 fix(library/init/lean/compiler/ir/livevars): bug at updateLiveVars 2019-10-02 16:50:37 -07:00
Leonardo de Moura
874dd1d55c chore(library/init/lean/compiler/ir/basic): remove unnecessary function 2019-10-02 16:50:37 -07:00