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