Leonardo de Moura
7623f64b5e
feat(runtime,library/init/util): add some debugging helper function
2019-02-17 09:22:37 -08:00
Leonardo de Moura
170579c803
feat(library/init/core): task builting primitives
2019-02-17 08:45:46 -08:00
Leonardo de Moura
9e0b28d8ce
feat(library/init/data/array/basic): improve
2019-02-16 16:08:10 -08:00
Leonardo de Moura
3c73c43ab2
feat(runtime,library/init/data/array/basic): add builtin support for arrays
2019-02-16 15:27:23 -08:00
Leonardo de Moura
e84f7744c3
feat(library/init/lean/compiler/const_folding): const fold nat.succ and char.of_nat
2019-02-16 11:15:19 -08:00
Leonardo de Moura
c855094ecb
feat(library/init/data/char/basic): mark char.of_nat as noinline
2019-02-16 10:45:52 -08:00
Leonardo de Moura
61274c7d35
feat(library/init/data/char): use uint32 instead of nat for defining char
2019-02-15 18:07:55 -08:00
Leonardo de Moura
e0fd89e165
feat(library/init/lean/compiler): fold nat predicates
2019-02-15 16:17:16 -08:00
Leonardo de Moura
542bd432f8
test(tests/compiler): uint constant folding tests
2019-02-15 14:53:29 -08:00
Leonardo de Moura
0cb3ac683d
feat(library/compiler): connect new const_folding module implemented in Lean with csimp
2019-02-15 14:37:48 -08:00
Leonardo de Moura
6785ad9844
fix(library/init/lean/default): missing file
2019-02-14 15:21:53 -08:00
Leonardo de Moura
390c9009f7
chore(shell,boot): update boot, and initialization process
2019-02-14 14:49:16 -08:00
Leonardo de Moura
68e8aa8d1d
feat(library/init/lean/compiler): add constant folding helper functions
2019-02-14 14:35:10 -08:00
Leonardo de Moura
5e7308d22d
chore(library/init/lean/expr): get_app_fn
2019-02-14 14:12:25 -08:00
Sebastian Ullrich
587a7a001a
feat(library/init/lean/elaborator): to_pexpr: support string literals
2019-02-14 14:07:05 -08:00
Sebastian Ullrich
dbc470d7e4
feat(library/init/lean/{parser/term,elaborator}): support @& borrowed annotations
2019-02-14 14:07:05 -08:00
Sebastian Ullrich
7cffe6935e
feat(frontends/lean/vm_elaborator): port to new runtime
2019-02-14 14:07:05 -08:00
Leonardo de Moura
b722885137
feat(library/init/io): add unsafe_io and timeit
2019-02-13 16:59:24 -08:00
Leonardo de Moura
9cb2005e8e
feat(library/init/lean): add hash functions and dbg_to_string
2019-02-13 16:19:25 -08:00
Leonardo de Moura
b89eb64cf1
refactor(library/init/lean/expr): use native constructors
2019-02-13 15:07:49 -08:00
Leonardo de Moura
e10240fe5c
refactor(runtime/io): use extern "C" for io primitives
2019-02-13 11:21:29 -08:00
Leonardo de Moura
71f5290567
feat(kernel): expose level primitives
2019-02-13 10:37:13 -08:00
Leonardo de Moura
4627929a83
refactor(boot,runtime,util): move name runtime implementation to util/name, and use "extern C" ABI
2019-02-13 08:27:23 -08:00
Leonardo de Moura
456ed23cc2
feat(library/init): use extern when declarating nat primitives
2019-02-12 18:12:29 -08:00
Leonardo de Moura
52db59eb87
fix(library/init/data/int/basic): nasty bug at int.repr
2019-02-12 15:58:59 -08:00
Leonardo de Moura
88de217cb7
chore(library/init): remove version.lean.in
...
We are currently not using this file. In the future, we should
reintroduce it, but its functions should be implemented as builtins.
Thus, every `chore(boot): update` commit will not have to update it.
2019-02-12 11:57:09 -08:00
Leonardo de Moura
425a4b70d1
feat(library/init/data/int/basic): use extern attribute, and fix div/mod mess
...
Now, int.div and int.mod behave like C++ `/` and `%` for int,
moreover, they satisfy
(a/b)*b + (a%b) = a
2019-02-12 11:41:46 -08:00
Leonardo de Moura
f20c132ced
feat(library/init/lean/elaborator): use extern attribute
2019-02-12 11:40:21 -08:00
Sebastian Ullrich
534b507aff
feat(library/init/lean/frontend): rework error reporting
2019-02-12 13:34:32 +01:00
Leonardo de Moura
6be47dfb97
feat(library/init/data/string/basic): use extern attribute
2019-02-11 17:54:24 -08:00
Leonardo de Moura
73d590f1fb
feat(library/init/io): use extern attribute
2019-02-11 16:56:54 -08:00
Leonardo de Moura
5a5e949578
feat(library/init/lean/name): use extern attribute
2019-02-11 16:12:25 -08:00
Leonardo de Moura
7b0227572f
fix(library/init/core): missing borrowed annotation
2019-02-11 16:01:56 -08:00
Leonardo de Moura
9c3675f58f
feat(library/init/data): use extern when declaring uint and usize primitives
2019-02-11 15:15:57 -08:00
Leonardo de Moura
bc4e06666b
chore(*): avoid 0-ary extern declarations
2019-02-11 13:21:17 -08:00
Leonardo de Moura
1703255330
fix(library/init/core): we simulate the unused attribute feature using extern inline
2019-02-11 11:38:24 -08:00
Leonardo de Moura
befa53ec70
feat(library/compiler/emit_cpp): use new extern_attribute module
2019-02-11 11:03:56 -08:00
Leonardo de Moura
348ccf533c
feat(library/compiler): borrowed annotations
2019-02-11 10:08:47 -08:00
Leonardo de Moura
7e8f9e6f66
feat(library/compiler): add [extern] attribute
2019-02-09 18:53:44 -08:00
Leonardo de Moura
e8758a1707
chore(library/compiler/export_attribute): exporting constructors is messy
...
It is much simpler and only slightly more verbose to export an
auxiliary function that just invokes the constructor.
2019-02-09 18:00:27 -08:00
Sebastian Ullrich
b809bb5311
feat(library/init/lean/frontend): demangle and remove read_file
2019-02-09 19:55:53 +01:00
Leonardo de Moura
613980fb30
fix(library/Makefile.in): add .olean as .cpp dependency
2019-02-08 17:09:53 -08:00
Leonardo de Moura
b50f9de3b8
feat(library/init/lean/extern): declare extern_attr_data and helper functions
2019-02-08 16:55:44 -08:00
Leonardo de Moura
efe64cb2d3
feat(library/init/data/list/basic): tail recursive length
2019-02-08 16:51:44 -08:00
Leonardo de Moura
4734e55f6d
feat(library/init/data): tail recursive append
2019-02-08 16:35:20 -08:00
Leonardo de Moura
afc2569f7c
fix(library/init/data/nat/basic): tail recursive nat.repeat
2019-02-08 11:00:48 -08:00
Leonardo de Moura
bfbfe94ac9
chore(library/init/control/default): add init.control.combinators
2019-02-07 09:12:53 -08:00
Sebastian Ullrich
12480e665e
chore(library/Makefile): make generated CMakeLists.txt deterministic
2019-02-07 14:25:14 +01:00
Sebastian Ullrich
f9b3244d97
fix(library/init/lean/expr): literal: use C++ constructor ordering
2019-02-07 13:03:09 +01:00
Leonardo de Moura
2058d33d07
feat(runtime,library/compiler): add name.dec_eq builtin
2019-02-05 14:36:02 -08:00