lean4-htt/tests/playground
Leonardo de Moura d55a439542 test(tests/playground/fix_1): add fix.lean variant: fix_1.lean
`fix.lean` and `fix_1.lean` are very similar, but fix.lean is almost
twice as fast. Reason: `fix.lean` uses `fix_2` instead of `fix_1` and
avoid the creation of many closures. Here are runtime numbers on my
machine.

```
time ./fix_1.lean.out 23
352321527

real	0m0.729s
user	0m0.724s
sys	0m0.000s
```

```
~/projects/lean4/tests/playground (master +)$ time ./fix.lean.out 23
352321527

real	0m0.396s
user	0m0.388s
sys	0m0.004s
```

TODO: modify the compiler to replace `fix_core_n f a_1 ... a_m`
with `fix_core_m f a_1 ... a_m` whenever `n < m`.
This feature is quite useful for writing reusable/generic code. For
example, we cannot write an efficient `rec_t` without it because we
don't know the arity of `m A` when we write `rec_t`.
2019-03-11 13:44:07 -07:00
..
.gitignore test(tests/playground): rbmap example 2019-02-19 19:01:51 -08:00
arith_eval.ml test(tests/playground): add new example in Lean and OCaml 2019-02-14 15:50:07 -08:00
arith_eval_nat.lean test(tests/playground): add new example in Lean and OCaml 2019-02-14 15:50:07 -08:00
arith_eval_uint32.lean test(tests/playground): add new example in Lean and OCaml 2019-02-14 15:50:07 -08:00
bad_bench test(tests/playground/Makefile): bench fallback, all Lean tests 2019-03-05 15:44:03 +01:00
binarytrees.ghc-6.hs test(tests/playground): binarytrees benchmarks game benchmark in Lean, OCaml & Haskell 2019-02-25 23:46:10 +01:00
binarytrees.lean test(tests/playground/binarytrees.lean): further opt 2019-02-26 18:08:09 +01:00
binarytrees.ocaml-2.ml test(tests/playground): binarytrees benchmarks game benchmark in Lean, OCaml & Haskell 2019-02-25 23:46:10 +01:00
compile.sh test(tests/playground): rbmap.hs, Makefile 2019-02-26 20:26:55 +01:00
deriv.hs test(tests/playground/deriv): Haskell version 2019-02-28 14:57:57 +01:00
deriv.lean tests(tests/playground/deriv): deriv in OCaml 2019-02-27 11:15:52 -08:00
deriv.ml tests(tests/playground/deriv): deriv in OCaml 2019-02-27 11:15:52 -08:00
expr_const_folding.hs test(tests/playground/expr_const_folding): Haskell version 2019-02-18 14:59:33 +01:00
expr_const_folding.lean test(tests/playground/expr_const_folding): fix Lean version 2019-02-18 14:29:07 +01:00
expr_const_folding.ml tests(tests/playground/expr_const_folding): another example for the paper 2019-02-15 12:07:52 -08:00
expr_const_folding.swift test(tests/playground/expr_const_folding): add Swift translation 2019-02-19 11:24:10 +01:00
fix.lean chore(library/init/fix): rename primitives 2019-03-11 13:41:13 -07:00
fix_1.lean test(tests/playground/fix_1): add fix.lean variant: fix_1.lean 2019-03-11 13:44:07 -07:00
fix_with_tuples.lean test(tests/playground): fix tests 2019-03-11 08:11:00 -07:00
flat_parser.lean feat(tests/playground/flat_parser): minor edits 2019-03-09 08:08:37 -08:00
gen.lean test(tests/playground/gen): simple lean file generator 2019-03-04 16:19:50 -08:00
leanpkg.path chore(tests/playground): add helper files 2019-02-15 18:13:37 -08:00
Makefile test(tests/playground/Makefile): re-add original ocamlopt parameters 2019-03-05 15:44:42 +01:00
perf.lean
rbmap.cpp chore(tests/playground/rbmap): use +1 instead of +k to avoid big number arithmetic when we increase number of elements inserted 2019-02-24 08:49:38 -08:00
rbmap.hs test(tests/playground): rbmap.hs, Makefile 2019-02-26 20:26:55 +01:00
rbmap.lean test(tests/playground/rbmap): consistent naming 2019-02-26 20:27:23 +01:00
rbmap.library.lean test(tests/playground/rbmap): consistent naming 2019-02-26 20:27:23 +01:00
rbmap.ml test(tests/playground/rbmap.ml): take the same input as Lean version 2019-02-25 14:51:16 +01:00
rbmap2.lean chore(tests/playground/rbmap): use +1 instead of +k to avoid big number arithmetic when we increase number of elements inserted 2019-02-24 08:49:38 -08:00
rbmap3.cpp test(tests/playground): manually optimized rbmap3 2019-02-20 11:00:54 -08:00
rbmap3.lean chore(tests/playground/rbmap): use +1 instead of +k to avoid big number arithmetic when we increase number of elements inserted 2019-02-24 08:49:38 -08:00
run.sh test(tests/playground/run.sh): fix 2019-03-05 15:37:11 +01:00
task_test.lean test(tests/playground): simple task benchmarks 2019-02-17 11:47:02 -08:00
task_test2.lean test(tests/playground): simple task benchmarks 2019-02-17 11:47:02 -08:00
task_test3.lean test(tests/playground): simple task benchmarks 2019-02-17 11:47:02 -08:00
task_test4.lean test(tests/playground): simple task benchmarks 2019-02-17 11:47:02 -08:00
tst.lean
uf1.lean test(tests/playground): new versions of unionfind1 2019-02-26 16:47:53 -08:00
uf1_new.lean test(tests/playground): new versions of unionfind1 2019-02-26 16:47:53 -08:00
unionfind1.lean test(tests/playground): add union find examples 2019-02-26 13:44:16 -08:00
unionfind2.lean test(tests/playground): add union find examples 2019-02-26 13:44:16 -08:00