Commit graph

16444 commits

Author SHA1 Message Date
Leonardo de Moura
8aeff535fc chore(tests): remove old tests 2019-05-13 12:43:11 -07:00
Leonardo de Moura
edb4d76ecd feat(kernel/environment): environment as a Lean object 2019-05-13 12:41:33 -07:00
Leonardo de Moura
c57731f8c6 chore(tests/compiler/rbmap): fix test 2019-05-13 12:30:01 -07:00
Leonardo de Moura
deb2310b6d feat(util/map_foreach): add helper functions for traversing Lean maps 2019-05-13 12:27:59 -07:00
Sebastian Ullrich
de5b68f126 fix(CMakeLists,bin/leanc.in): fix installed leanc 2019-05-12 13:43:36 +02:00
Sebastian Ullrich
13603060cc fix(tests/playground/binarytrees): fix test 2019-05-12 13:43:36 +02:00
Leonardo de Moura
4392ed2466 fix(library/init/lean/default): make sure environment.lean is initialized 2019-05-11 18:05:11 -07:00
Leonardo de Moura
25879c97fa test(tests/playground/envtest): add small environment extension test 2019-05-11 17:53:27 -07:00
Leonardo de Moura
f1d16c261d fix(library/compiler/csimp): do not inline constants with [init] attribute 2019-05-11 17:51:46 -07:00
Leonardo de Moura
2cd2bec831 fix(init/init.cpp): initialization bug 2019-05-11 17:51:23 -07:00
Leonardo de Moura
06390337c6 chore(library/module): fix linker error 2019-05-11 17:08:58 -07:00
Leonardo de Moura
750384142e perf(library/init/control/estate): missing [inline] 2019-05-11 16:38:25 -07:00
Leonardo de Moura
c46608ced5 feat(library/init/io): implement unsafeIO in Lean
Motivation: avoid closure allocation.
2019-05-11 16:28:11 -07:00
Leonardo de Moura
76f643fbf6 chore(library/init/control/estate): add EState.run and EStage.run' 2019-05-11 16:26:51 -07:00
Leonardo de Moura
5f563973f3 feat(library/init/lean/environment): lower level interface for C++ 2019-05-11 15:50:02 -07:00
Leonardo de Moura
77c6aa6693 chore(library/init/io): mark unsafeIO as unsafe
@kha The previous declaration was fine from the logical point of
view. That is, nobody would be able to prove `false` using the opaque
constant `unsafeIO`. However, its runtime implementation breaks
referencial transparency, and counterintuitive behavior may happen if
it is not used carefully.
2019-05-11 15:46:45 -07:00
Leonardo de Moura
1270353313 feat(library/init/lean/environment): add auxiliary functions 2019-05-11 14:30:06 -07:00
Leonardo de Moura
8ca1b7b2cb chore(kernel/environment): dead code 2019-05-11 14:13:40 -07:00
Leonardo de Moura
b2f1bad2c7 chore(stage0): update 2019-05-10 17:03:49 -07:00
Leonardo de Moura
7580ad8fe8 feat(library/init/lean/environment): add auxiliary functions for refactoring environment.cpp 2019-05-10 17:02:27 -07:00
Leonardo de Moura
06727e9ca4 chore(kernel/environment): remove dead code 2019-05-10 16:37:13 -07:00
Leonardo de Moura
f5725abb57 refactor(library/init/lean/environment): cleanup and improve 2019-05-10 15:54:29 -07:00
Leonardo de Moura
e0b5f9a018 feat(library/init/lean/environment): extensions can only be registered during initialization 2019-05-10 11:51:42 -07:00
Leonardo de Moura
fd2a5dd45e feat(library/init/io): add IO.initializing 2019-05-10 11:26:49 -07:00
Leonardo de Moura
708bc42e0a feat(library/init/lean/environment): generate ModuleData 2019-05-10 11:21:17 -07:00
Leonardo de Moura
251890b490 feat(library/init/control/combinators): add Nat.mfold and rename Nat.for => Nat.fold 2019-05-10 10:47:57 -07:00
Leonardo de Moura
f6b3bc868a fix(library/init/lean/environment, library/compiler): compilation error and add [implementedBy] attribute 2019-05-10 07:22:56 -07:00
Leonardo de Moura
ecb50b553d feat(library/init/lean/environment): environment extension registration and API 2019-05-09 16:53:04 -07:00
Leonardo de Moura
3b80ec89b7 feat(library/init/lean/environment): add Environment
TODO: finish environment extension
2019-05-09 12:30:52 -07:00
Leonardo de Moura
ff47eba9d1 fix(library/init/control/combinators): iterate forward 2019-05-09 07:43:13 -07:00
Leonardo de Moura
9e246b365e feat(library/init/lean): add SMap for implementing Environment 2019-05-09 07:38:26 -07:00
Leonardo de Moura
8c68251b72 feat(library/init/lean/module): add ModuleData 2019-05-08 16:51:47 -07:00
Leonardo de Moura
18aa7de408 feat(library/init/data): add ByteArray 2019-05-08 16:43:00 -07:00
Leonardo de Moura
fd487d8db7 chore(*): remove old VM 2019-05-08 15:15:44 -07:00
Leonardo de Moura
3e04544ba4 feat(library/init/util): add unsafeCast 2019-05-08 14:17:17 -07:00
Leonardo de Moura
23ad4e574d chore(library/init/lean/trace): remove unnecessary unsafe 2019-05-08 14:17:17 -07:00
Leonardo de Moura
78401f0eff chore(library/init/lean/compiler/ir/resetreuse): add comment 2019-05-08 14:17:17 -07:00
Leonardo de Moura
a4e135790b feat(library/init/lean/compiler/ir/normids): add Decl.uniqueIds predicate 2019-05-08 14:17:17 -07:00
Sebastian Ullrich
8e8b7757e2 fix(library/Makefile): recreate libleanstdlib.a from scratch to avoid conflicts when moving files 2019-05-08 18:13:17 +02:00
Leonardo de Moura
0de9a92d4c feat(library/init/lean/compiler/ir/boxing): missing case 2019-05-08 06:04:18 -07:00
Leonardo de Moura
74fb8e627a feat(library/init/lean/compiler/ir/checker): improve IR checker 2019-05-08 05:47:25 -07:00
Leonardo de Moura
a24a8361f5 feat(library/init/lean/compiler/ir/boxing): add some missing cases 2019-05-07 18:23:08 -07:00
Leonardo de Moura
305f376a76 fix(stage0): missing files 2019-05-07 16:22:45 -07:00
Leonardo de Moura
6d4f7527a2 feat(library/init/lean/compiler/ir/boxing): explicit boxing and unboxing instructions
TODO: FnBody.vdecl case
2019-05-07 16:21:29 -07:00
Leonardo de Moura
2cea92b4c8 fix(library/init/lean/compiler/ir/resetreuse): do not use reset and reuse for 0-ary constructors 2019-05-07 16:13:35 -07:00
Leonardo de Moura
800569af5f chore(library/init/lean/compiler/ir/basic): cleanup 2019-05-07 16:13:22 -07:00
Leonardo de Moura
b717177a1a chore(library/init/data/array/basic): make sure Array.*foldl and List.*foldl have similar signatures 2019-05-07 15:23:03 -07:00
Leonardo de Moura
b782191d0b chore(tests/lean/run/float_cases_bug): fix test 2019-05-07 15:22:01 -07:00
Leonardo de Moura
b41d7ec98b chore(library/compiler/ir): style 2019-05-07 15:20:56 -07:00
Leonardo de Moura
5d3c6dbac2 feat(library/init/lean/compiler/ir/basic): add IRType.isScalar 2019-05-07 15:06:55 -07:00