Leonardo de Moura
ca12439e25
feat(library/init/lean/environment): add persistent := true parameter to addEntry
2019-06-03 17:03:46 -07:00
Leonardo de Moura
0a08569b46
feat(library/init/lean/environment): remove lazy, add addImported field to PersistentEnvExtension
...
It seems `lazy := false` is only going to be used in the attribute
manager. So, I remove it. I added a new field `addImported : Bool`
instead. An extension can specify whether `addEntryFn` is going to be
invoked or not for imported entries. `addImported := false` is useful for extensions such
as `protected`, and I will use it in the attribute manager too.
2019-06-03 16:45:27 -07:00
Leonardo de Moura
90dc3356dc
chore(library/init/lean/environment): remove unnecessary local instance
2019-06-03 16:24:36 -07:00
Leonardo de Moura
4a26f0028c
chore(library/init/lean/environment): remove unnecessary function
2019-06-03 15:17:40 -07:00
Leonardo de Moura
ffbccf1ee9
fix(library/compiler): ByteArray bug
2019-06-03 15:01:16 -07:00
Leonardo de Moura
9310c807e6
feat(library/private): use environment extension in Lean
...
Remark: we don't need the `m_inv_map` anymore.
2019-06-03 11:50:33 -07:00
Leonardo de Moura
ed1a433d52
feat(library/init/lean/modifiers): add privatePrefix
2019-06-03 10:33:40 -07:00
Leonardo de Moura
224195a1fb
feat(library/init/lean/modifiers): environment extension for private declarations
2019-06-03 10:10:00 -07:00
Leonardo de Moura
377b1ca042
chore(library/private): cleanup
2019-06-03 09:38:10 -07:00
Leonardo de Moura
cd73105dff
refactor(kernel/environment,library/private,library/init/lean/environment): move main module name to header
2019-06-03 09:14:23 -07:00
Leonardo de Moura
23029cb386
chore(stage0): update
2019-06-03 08:24:53 -07:00
Leonardo de Moura
483f1efc4d
refactor(library/init/lean/environment): move fields that are rarely used to a separate structure, add setMainModuleName
2019-06-03 08:23:00 -07:00
Leonardo de Moura
6d39b8478f
chore(library/init/lean/environment): remove dead field
2019-06-03 08:08:04 -07:00
Leonardo de Moura
30a6a2ade8
feat(library/init/data, runtime): remove parray support from runtime, and implement them in Lean using Scala/Clojure Radix trees
...
The Scala/Clojure approach for persistent arrays works great with our
`reset/reuse`. We seem to be much more efficient than their
implementations because of `reset/reuse`. The new approach also seems
better than the old one implemented in the runtime, and has a few
advantages:
1- The reroot procedure used in the old approach required
synchronization for multi-threaded code, or we would need to perform
deep copies when sending `parray` objects between threads.
2- We don't need any runtime extension for the new approach.
3- The old approach used "trail lists" for undoing array updates.
This works well for bactracking search use cases, but it is bad
in use cases where we are simultaneously updating the persistent
arrays that have shared nodes.
2019-06-02 09:18:19 -07:00
Leonardo de Moura
9d00a8d262
feat(tests/playground/radixtree): use bit shift and land instead instead of / and %
2019-06-01 11:06:45 -07:00
Leonardo de Moura
3251f1c75b
feat(library/init/data/uint): add shift_left and shift_right
2019-06-01 10:57:08 -07:00
Leonardo de Moura
8d913e382d
feat(library/init/lean/compiler/constfolding): fold Nat.pow, UInt*.toNat and USize.toNat
2019-06-01 10:28:04 -07:00
Leonardo de Moura
336761d787
feat(tests/playground/radixtree): add stats
2019-06-01 09:47:57 -07:00
Leonardo de Moura
c92fe75053
fix(library/init/lean/compiler/constfolding): Usize => USize
...
Camel case auto-conversion bug.
2019-06-01 09:42:22 -07:00
Leonardo de Moura
6f383ffa1d
fix(runtime/object): overflow at lean::nat_mul
2019-06-01 09:23:41 -07:00
Leonardo de Moura
d2d2c32c81
feat(library/init/data/nat/bitwise): use lean::nat_land and lean::nat_lor
2019-05-31 21:55:57 -07:00
Leonardo de Moura
e87c471e7f
test(tests/playground/radixtree): Scala/Clojure inspired persistent arrays
...
@kha It is a pity we didn't use this example in our paper. It works
really well with `reset`/`reuse`.
2019-05-31 21:55:57 -07:00
Leonardo de Moura
8256a48cda
fix(library/init/lean/compiler/ir/rc): uset live vars
2019-05-31 21:55:57 -07:00
Sebastian Ullrich
9fe86c3f96
chore(tests/bench): further tweak Swift support
2019-05-31 10:48:50 +02:00
Sebastian Ullrich
2a6fb67afc
feat(tests/bench): add qsort.swift
2019-05-31 00:40:09 +02:00
Leonardo de Moura
fab4fdf7c4
tests(tests/bench): add rbmap.swift
2019-05-30 14:47:06 -07:00
Leonardo de Moura
27c690b0c5
test(tests/bench/rbmap_checkpoint): add swift version
2019-05-30 14:35:58 -07:00
Leonardo de Moura
c347643361
test(tests/bench): add deriv.swift
2019-05-30 11:34:58 -07:00
Sebastian Ullrich
d532c4ad29
feat(tests/bench): add safe binarytrees.swift from https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/binarytrees-swift-1.html
2019-05-30 19:33:38 +02:00
Sebastian Ullrich
c30209ee02
feat(tests/bench): add Swift support
2019-05-30 19:33:23 +02:00
Leonardo de Moura
70c9733897
chore(stage0): update
2019-05-30 09:41:16 -07:00
Leonardo de Moura
d9cceec9eb
feat(library/init/lean/compiler/ir/emitcpp): avoid unnecessary var decls
2019-05-30 09:36:28 -07:00
Leonardo de Moura
8333e48037
chore(stage0): update
2019-05-30 09:16:09 -07:00
Leonardo de Moura
4da2e9f7b6
test(tests/bench/rbmap_checkpoint): OCaml version using myLen
2019-05-30 07:40:53 -07:00
Leonardo de Moura
40ce455e79
chore(tests/bench/rbmap_checkpoint): myLen version for GHC
2019-05-30 07:35:22 -07:00
Leonardo de Moura
e954ed12bc
chore(tests/bench/rbmap_checkpoint): use myLean
2019-05-30 07:30:07 -07:00
Leonardo de Moura
d9856889d6
chore(*): cleanup
2019-05-30 07:30:07 -07:00
Sebastian Ullrich
007e45794f
chore(tests/bench/default): update MLKit
2019-05-30 16:25:41 +02:00
Sebastian Ullrich
9ec570416d
chore(tests/bench): rename benchmarks
2019-05-30 16:25:41 +02:00
Sebastian Ullrich
8a2c2ffe84
chore(tests/bench/Makefile): reduce rbmap input sizes
2019-05-30 16:18:03 +02:00
Leonardo de Moura
30fefdb188
chore(tests/playground): add zipper
2019-05-29 14:33:47 -07:00
Leonardo de Moura
0009435add
chore(tests/playground/lazylist): fix test
2019-05-29 14:33:47 -07:00
Sebastian Ullrich
4e3191123c
chore(tests/bench/default.nix): remove compilers of retired categories
2019-05-29 17:36:42 +02:00
Sebastian Ullrich
dfea4be7a4
chore(tests/bench): add readme
2019-05-29 17:32:35 +02:00
Sebastian Ullrich
5f14d12344
feat(tests/bench/Makefile): update HTML report
2019-05-29 17:13:55 +02:00
Sebastian Ullrich
4d0e4c545e
chore(tests/bench/default.nix): fix
2019-05-29 17:13:55 +02:00
Sebastian Ullrich
9b9465d299
chore(tests/bench): move out from playground/
2019-05-29 16:33:50 +02:00
Sebastian Ullrich
d082a7e42f
fix(tests/playground/Makefile): fix rbmap_shared input size
2019-05-29 15:03:44 +02:00
Sebastian Ullrich
1ad692eb77
chore(tests/playground/Makefile): retire unionfind1
2019-05-29 14:58:58 +02:00
Sebastian Ullrich
423b087782
chore(tests/playground/Makefile): build *.tex by default
2019-05-29 10:08:39 +02:00