Sebastian Ullrich
31aecbca97
fix(shell.nix): fix overriding LLVM once more...
2019-10-02 20:02:55 +02:00
Leonardo de Moura
cc18c0ef91
feat(library/init/lean/expr): add Expr.hasFVar and Expr.hasMVar
...
cc @dselsam
2019-10-02 10:07:26 -07:00
Leonardo de Moura
a8b39346d3
chore(tests/bench): fix tests
2019-10-02 10:07:26 -07:00
Leonardo de Moura
902e564517
chore(stage0): update
2019-10-02 10:07:26 -07:00
Leonardo de Moura
db75c8e5cf
chore(library/init/data/list): renamed basic_aux ==> basicaux
...
@kha we are currently avoiding `_` in file names.
I am not super happy with names such as `neverextractattr.lean`.
I am open to a new name convention for .lean files in the stdlib.
2019-10-02 10:07:26 -07:00
Sebastian Ullrich
bf9b5c21f8
fix(shell.nix): propagate arguments
2019-10-02 17:49:10 +02:00
Sebastian Ullrich
941aeb113a
chore(tests/bench/speedcenter.yaml): update temci config
2019-10-02 14:14:49 +02:00
Sebastian Ullrich
0397c0fb46
fix(azure-pipelines.yml): remove old build config and downgrade macOS build to LLVM 8 for now
...
https://github.com/NixOS/nixpkgs/issues/70243
2019-10-02 13:26:33 +02:00
Sebastian Ullrich
cae1009175
fix(library/init/data/list/aux): rename to basic_aux.lean
...
`aux` is a reserved filename on Windows
/cc @leodemoura
2019-10-02 12:30:29 +02:00
Sebastian Ullrich
dc3745712e
chore(shell.nix): update temci
2019-10-02 11:05:48 +02:00
Sebastian Ullrich
c61c4ddcd5
chore(default.nix): update to LLVM 9
2019-10-02 10:50:42 +02:00
Leonardo de Moura
509a5db284
chore(stage0): update
2019-10-01 16:48:04 -07:00
Leonardo de Moura
fdab3b90b9
refactor(library/init/data/array): new name convention for Array functions
2019-10-01 16:46:05 -07:00
Leonardo de Moura
411f397654
refactor(library/init/data/list): new name convention for List functions
...
cc @dselsam @kha
2019-10-01 15:15:02 -07:00
Leonardo de Moura
6ad9d58b0f
fix(library/init/lean/compiler/neverextractattr): auxiliary declarations should inherit @[neverExtract] attribute
2019-10-01 14:57:16 -07:00
Leonardo de Moura
70a90ca73e
feat(library/init/lean/parser/identifier): allow ! and ? in the identifiers
2019-10-01 14:45:07 -07:00
Leonardo de Moura
9d2eadc754
chore(library/init/lean/compiler): delete @[effectful]
2019-10-01 14:08:31 -07:00
Leonardo de Moura
81847302a7
feat(library/compiler): replace @[effectful] with @[neverExtract]
2019-10-01 14:06:08 -07:00
Leonardo de Moura
ccd135b0e9
chore(stage0): update
2019-10-01 14:00:52 -07:00
Leonardo de Moura
80d3ca9d77
feat(library/init/lean/compiler): add @[neverExtract] attribute
...
It will replace `@[effectful]`
cc @kha
2019-10-01 14:00:02 -07:00
Leonardo de Moura
a507145eb1
feat(library/init/lean/level): add instance : HasBeq Level
2019-10-01 09:47:44 -07:00
Leonardo de Moura
55fad9452f
feat(library/init/util): add @[effectful] to dbgTrace and dbgTraceIfShared
2019-10-01 01:18:12 -07:00
Leonardo de Moura
92b39e7161
chore(library/init): add findD variants
...
@cc @dselsam
2019-09-30 17:26:27 -07:00
Leonardo de Moura
18f461bb37
chore(stage0): update
2019-09-30 17:17:58 -07:00
Leonardo de Moura
261c0b9c24
feat(frontends/lean): add panic! macro
...
cc @dselsam
2019-09-30 17:16:19 -07:00
Leonardo de Moura
97419f5cc5
feat(library/init/util): add panicWithPos
...
It will be used by the macro `panic!`.
@kha @dselsam: I think the attribute `@[effectful]` is a bad name.
It is quite misleading. Any suggestions for a new name?
2019-09-30 17:06:07 -07:00
Leonardo de Moura
75bdc8712e
feat(library/compiler): disable a few optimizations for declarations tagged with @[effectful]
...
@kha @dselsam:
The main motivation for this change are functions such as `panic`.
I marked `panic` with the attribute `@[effectful]`.
Here is the summary of the changes. If `f` is marked as `@[effectful]`
1- Compiler will not perform common subexpression elimination on terms of the form `f ...`.
2- Compiler will not extract closed terms of the form `f ...`.
3- Compiler will throw an error if `f` is partially applied.
2019-09-30 16:53:11 -07:00
Leonardo de Moura
3d7a7c7e91
feat(library/init/util): add panic primitive
2019-09-30 16:23:18 -07:00
Leonardo de Moura
282f531f54
chore(stage0): update
2019-09-30 16:14:11 -07:00
Leonardo de Moura
e451c4dc78
feat(library/init/lean/compiler): add @[effectful]
...
This attribute is used for low-level primitives like unsafeIO
2019-09-30 16:12:41 -07:00
Leonardo de Moura
2b252a441e
feat(library/init/lean/declaration): add ConstantInfo.instantiateTypeUnivParams and ConstantInfo.instantiateValueUnivParams
...
cc @dselsam
See new test for an example.
2019-09-30 15:46:19 -07:00
Leonardo de Moura
864b9c730c
feat(library/init/lean/expr): helper functions
...
cc @dselsam
Notes:
- x.isAppOrConst => x.isApp || x.isConst
- x.isPi => x.isForall
2019-09-30 15:16:40 -07:00
Leonardo de Moura
faebe15a7f
feat(library/init/lean/expr): add efficient instantiate1
...
cc: @dselsam
2019-09-30 14:33:32 -07:00
Sebastian Ullrich
522cf13449
chore(tests/bench): update GHC and ocaml
2019-09-25 14:09:22 +02:00
Sebastian Ullrich
4b4f5c9832
test(tests/bench): further updates
2019-09-25 11:03:14 +02:00
Sebastian Ullrich
d3aa6488da
chore(tests/bench): update cross suite
2019-09-24 22:42:25 +02:00
Leonardo de Moura
d6ea1d1a3f
feat(frontends/lean/builtin_cmds): add #synth command
2019-09-24 11:32:43 +08:00
Leonardo de Moura
e9d16511c1
chore(stage0): update
2019-09-24 11:20:04 +08:00
Leonardo de Moura
28c905f684
chore(library/init/lean): add typeclass skelethon
2019-09-24 11:19:02 +08:00
Leonardo de Moura
345cc22f79
feat(frontends/lean/elaborator): do not create checkpoint at let x := v;
2019-09-21 10:27:30 -07:00
Leonardo de Moura
1ecb234a9f
test(elabissues): document some of the known problems
2019-09-21 10:17:26 -07:00
Leonardo de Moura
097a127c69
feat(util/map_foreach): add phashmap_foreach, fix smap_foreach, update stage0
2019-09-20 14:22:03 -07:00
Leonardo de Moura
18e6a106f4
feat(library/init/lean/smap): implement SMap using PHashMap instead of RBMap
2019-09-20 14:22:03 -07:00
Sebastian Ullrich
ce558b6a9e
doc(library/compiler/ir_interpreter): update docs
2019-09-20 10:46:33 +02:00
Leonardo de Moura
4db4b26de6
test(tests): use #eval and move tests
2019-09-19 14:38:52 -07:00
Leonardo de Moura
ac2871e15c
chore(stage0): update
2019-09-19 10:48:37 -07:00
Leonardo de Moura
b147ebad67
chore(tests/lean/run/array1): remove #exit
2019-09-19 10:47:40 -07:00
Leonardo de Moura
0bd268fc96
fix(library/compiler/erase_irrelevant): add elim_array_cases
2019-09-19 10:47:05 -07:00
Leonardo de Moura
a4b860b92a
fix(runtime): missing Array.data primitive
2019-09-19 10:27:10 -07:00
Leonardo de Moura
a7d616605a
fix(runtime/lean): missing primitive
2019-09-19 09:54:03 -07:00