lean4-htt/tests
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
..
compiler fix(runtime/object): string_utf8_extract 2019-03-09 12:57:51 -08:00
ir refactor(library/system/io): move into init 2018-08-21 08:43:09 -07:00
lean chore(library/init): remove coroutines from stdlib 2019-03-08 15:34:17 +01:00
playground test(tests/playground/fix_1): add fix.lean variant: fix_1.lean 2019-03-11 13:44:07 -07:00