lean4-htt/tests/playground
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
..
parser chore(tests/playground/parser/syntax): fix test 2019-05-18 11:39:44 -07:00
.gitignore test(tests/playground): rbmap example 2019-02-19 19:01:51 -08:00
arith_eval_nat.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
arith_eval_uint32.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
badreset.lean fix(library/init/lean/compiler/ir/resetreuse): must use livevars instead of freevars 2019-05-07 11:09:51 -07:00
badupdate1.lean fix(library/compiler/struct_cases_on): performance problem exposed by badupdate1.lean 2019-04-26 16:30:19 -07:00
binsearch.lean feat(library/init/data/array): add Array.binSearch 2019-05-14 18:25:54 -07:00
bytearray.lean feat(library/init/data): add ByteArray 2019-05-08 16:43:00 -07:00
compile.sh chore(tests): compile tests using -O3 again 2019-03-18 17:55:28 +01:00
environment_extension.lean feat(tests/playground/environment_extension): scoped extensions in Lean 2019-03-25 17:35:01 +01:00
envtest.lean test(tests/playground/envtest): add small environment extension test 2019-05-11 17:53:27 -07:00
expander.lean test(tests/playground/expander): add Leo's direct transformation 2019-04-03 11:27:06 +02:00
filemap.lean test(tests/playground/filemap): FileMap 2019-04-02 17:23:13 -07:00
fix.lean chore(library/init/io): we don't need fix anymore 2019-03-27 12:59:43 -07:00
fix1.lean chore(library/init,runtime,library/compiler): add fix primitive back 2019-03-27 17:13:53 -07:00
flat_parser.lean test(tests/playground/parser): add leanWhitespace parser 2019-03-30 12:48:18 -07:00
flat_parser2.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
gen.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
hash.lean refactor(library/init/data/hashmap): use AssocList and HasBeq 2019-04-03 05:55:08 -07:00
ir.lean chore(tests/playground/ir): fix test 2019-04-29 10:50:10 -07:00
lazylist.lean chore(tests/playground/lazylist): fix test 2019-05-29 14:33:47 -07:00
leanpkg.path chore(tests/playground): add helper files 2019-02-15 18:13:37 -08:00
lowtech_expander.lean test(tests/playground/lowtech_expander): remove dead code 2019-04-01 15:45:13 -07:00
map_perf.lean chore(library/init): fold functions argument order consistency 2019-04-03 07:42:14 -07:00
mapVShmap.lean test(tests/playground/mapVShmap): use {x with ...} notation in the test 2019-04-22 13:42:53 -07:00
moddata.lean feat(library/module, library/init/lean/environment): add primitives for reading/writing files as compacted regions 2019-05-13 17:26:28 -07:00
oldcompile.sh chore(tests/playground): scripts for using old IR compiler 2019-05-23 18:33:29 -07:00
oldrun.sh chore(tests/playground): scripts for using old IR compiler 2019-05-23 18:33:29 -07:00
opts.lean feat(library/compiler): special support for initialization functions of the form def initFn : IO Unit 2019-03-23 08:46:38 -07:00
partial_eq_lemma.lean test(tests/playground/partial_eq_lemma): partial equation lemmas 2019-03-26 18:06:04 -07:00
perf.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
persistentarray.lean feat(library/init/data, runtime): remove parray support from runtime, and implement them in Lean using Scala/Clojure Radix trees 2019-06-02 09:18:19 -07:00
primes.hs test(tests/playground/lazylist): perf tests 2019-04-26 13:12:39 -07:00
rand.lean feat(library/init/data/random): random numbers 2019-05-04 15:57:42 -07:00
ref1.lean chore(tests/playground): fix playground tests 2019-03-21 18:30:58 -07:00
ref2.lean chore(tests/playground): fix playground tests 2019-03-21 18:30:58 -07:00
run.sh test(tests/playground/run.sh): fix 2019-03-05 15:37:11 +01:00
smap.lean feat(util/map_foreach): add helper functions for traversing Lean maps 2019-05-13 12:27:59 -07:00
split.lean feat(library/init/data/string/basic): add String.split 2019-03-22 17:26:43 -07:00
task_test.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
task_test2.lean chore(tests/playground): fix tests 2019-04-25 16:48:06 -07:00
task_test3.lean chore(tests/playground): fix tests 2019-04-25 16:48:06 -07:00
task_test4.lean chore(tests/playground): fix tests 2019-04-25 16:48:06 -07:00
tst.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
uf1.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
uf1_new.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
unsafe.lean feat(library/init/io): implement unsafeIO in Lean 2019-05-11 16:28:11 -07:00
view_expander.lean test(tests/playground): expander performance tests 2019-04-01 17:23:14 +02:00
zipper.lean chore(tests/playground): add zipper 2019-05-29 14:33:47 -07:00