Leonardo de Moura
58e91559d0
feat(*): use new inductive datatype module
2018-09-06 18:09:22 -07:00
Leonardo de Moura
8ed89c6ac3
chore(library): remove normalize.cpp
...
The command `#reduce` was also temporarily removed.
2018-09-04 10:51:14 -07:00
Leonardo de Moura
22ba0a1155
chore(library): remove inverse.cpp
...
We used this module to implement inductive_compiler pack/unpack functions
2018-08-23 13:16:27 -07:00
Leonardo de Moura
c5714c2fac
chore(kernel): remove expr.macro constructor
...
We are now ready to implement `expr` using `runtime/object`.
2018-06-19 17:54:43 -07:00
Leonardo de Moura
8101b9df6e
refactor(library/string): remove string_macro
...
We now use expr_lit.
2018-06-14 16:26:39 -07:00
Leonardo de Moura
91a65f692f
refactor(library/compiler): remove nat_value macro
2018-06-14 15:26:32 -07:00
Leonardo de Moura
335c58f8a7
feat(kernel): add expr_kind::Quote
...
This is a temporary expr constructor. We need it to be able to eliminate
expr_macro, and then define expr using runtime/object
2018-06-12 17:40:00 -07:00
Leonardo de Moura
62788a9ca3
refactor(kernel): fix terminology: "free_var" is actually a loose bound variable
...
We represent free variables uisng local constants.
We will fix this terminology too.
2018-06-08 13:25:36 -07:00
Leonardo de Moura
2d7b6ed12c
chore(library/compiler): remove copy_tag from old compiler
2018-06-07 16:28:54 -07:00
Leonardo de Moura
b95e710e8c
feat(library/compiler, library/equations_compiler): avoid rec_fn_macro in the equation and bytecode compilers
2018-05-31 17:08:12 -07:00
Leonardo de Moura
0556412f8d
refactor(*): add runtime folder
...
@kha The runtime folder includes what is needed to link a
standalone Lean program. It is still contains some unnecessary files.
We will be able to remove them after we release Lean4.
2018-05-14 14:23:56 -07:00
Leonardo de Moura
bdea7d420d
chore(*): type_context ==> type_context_old
2018-03-05 12:38:24 -08:00
Leonardo de Moura
ada4932507
feat(library/compiler): add new cache support to compiler
2018-02-21 15:04:20 -08:00
Leonardo de Moura
dbfcc65c60
fix(library/compiler/erase_irrelevant): erase_type
2018-02-19 07:55:43 -08:00
Sebastian Ullrich
283d8ade1a
fix(library/quote): use opaque macro for elaborated expr quotations
2017-06-07 10:00:17 -07:00
Sebastian Ullrich
8c0394b294
refactor(library,frontends/lean): separate expr and pexpr macros
2017-05-09 16:02:41 -07:00
Leonardo de Moura
0d97700c60
feat(library/compiler): add support for and.rec in the code generator
2017-04-16 13:31:37 -07:00
Leonardo de Moura
60dd85719c
feat(library/system/io): system.io without axioms
2017-03-22 23:36:05 -07:00
Sebastian Ullrich
16558bf082
refactor(library,library): rename pre_monad to has_bind
2017-03-09 20:32:25 -08:00
Sebastian Ullrich
763097dbd2
refactor(library): revise the monadic hierarchy
2017-03-09 20:30:03 -08:00
Leonardo de Moura
4ab0a6d8d2
fix(library): problems with the subtype constructor and field renaming
...
The problem was not detected by the test suite because of issue #1446
2017-03-08 19:42:12 -08:00
Leonardo de Moura
ceeb77ec8c
fix(library/compiler/erase_irrelevant): erase types of irrelevant lambdas
...
This modification makes sure we do not create unnecessary closures,
and avoid artificial dependencies that may prevent destructive updates.
2017-03-08 14:48:45 -08:00
Leonardo de Moura
22988bb95d
feat(library/compiler): avoid pack/unpack overhead produced by the inductive_compiler in the code generator
...
TODO: make sure the user is not manually using cases_on for the
auxiliary datatype generated by the inductive_compiler to
destruct nested inductives.
2017-03-04 13:54:44 -08:00
Leonardo de Moura
2c0a5a5120
fix(library/compiler/erase_irrelevant): remove broken io monad optimization
...
It doesn't work when combined with inlining and common-subexpression-elimination
2017-02-07 21:24:31 -08:00
Leonardo de Moura
a516d384ae
fix(library/compiler/erase_irrelevant): make sure io monad actions are not erased by dead code elimination optimization
2017-01-02 01:42:36 -08:00
Leonardo de Moura
bd2f9bce05
fix(library/compiler/erase_irrelevant): issue created by elim_unused_lets optimization
2016-12-14 18:51:53 -08:00
Leonardo de Moura
6577cc87a3
feat(library): add pre_monad
...
closes #1235
2016-12-08 12:48:55 -08:00
Jared Roesch
e65d90ac79
feat(*): C++ code generator
...
in progress move of Lean.native to init
2016-12-05 16:11:41 -08:00
Leonardo de Moura
e16e9880f7
chore(library/system): enforce Lean naming conventions IO ==> io
2016-11-17 11:27:37 -08:00
Leonardo de Moura
fffe69fdf9
feat(library/vm,library/tactic/vm_monitor): use optionT to define vm monad
2016-11-14 16:13:56 -08:00
Leonardo de Moura
7232e3a076
feat(library/vm/vm): invoke debugger (aka vm_monitor)
2016-11-14 14:45:49 -08:00
Leonardo de Moura
d6000416f8
feat(library/compiler,frontends/lean/elaborator): (try to) preserve position information
...
We will use this information in the debugger.
2016-11-09 16:51:48 -08:00
Leonardo de Moura
d66584f390
feat(library/vm,library/compiler): save argument names
2016-11-08 15:10:04 -08:00
Leonardo de Moura
a77e4b5abf
fix(library/compiler/erase_irrelevant): bug at is_comp_irrelevant
2016-10-27 11:51:37 +08:00
Leonardo de Moura
5e5285ee67
refactor(library): rename pr1/pr2 ==> fst/snd
2016-09-21 09:48:39 -07:00
Leonardo de Moura
165d45ac32
fix(library/compiler/erase_irrelevant): monad.return was renamed to monad.ret
2016-06-08 16:17:33 -07:00
Leonardo de Moura
53811822d4
chore(*): style
2016-05-25 18:10:15 -07:00
Leonardo de Moura
856f6bcbdf
fix(library/compiler/erase_irrelevant): missing case
2016-05-25 17:49:02 -07:00
Leonardo de Moura
1b8d9deb37
chore(library/compiler/erase_irrelevant): style
2016-05-25 15:45:43 -07:00
Leonardo de Moura
bf2d2b9feb
fix(library/vm,library/compiler,frontends/lean): IO monad support
2016-05-25 13:30:43 -07:00
Leonardo de Moura
6d37c26b5d
feat(library/compiler/erase_irrelevant): add support for IO monad.return
2016-05-24 18:28:06 -07:00
Leonardo de Moura
63ed0c0056
feat(library/compiler/erase_irrelevant): add support for IO monad.bind
2016-05-24 18:14:39 -07:00
Leonardo de Moura
d7e863c3f4
feat(library/compiler/erase_irrelevant): add support for quotient types
...
and expand macros
2016-05-23 17:49:42 -07:00
Leonardo de Moura
e42972b501
feat(library/compiler/erase_irrelevant): add support for acc.rec
2016-05-23 16:31:29 -07:00
Leonardo de Moura
7ca916cddf
feat(library/compiler/simp_inductive): add optimization for _cases based on the number of reachable cases
2016-05-11 14:40:53 -07:00
Leonardo de Moura
e53bfb9d0a
feat(library/compiler): add new compilation step where we reduce cases_on, constructor and projection applications into a basic primitives
2016-05-11 14:17:32 -07:00
Leonardo de Moura
b12587dc5c
feat(library/compiler/erase_irrelevant): false.rec ==> unreachable
2016-05-11 10:17:14 -07:00
Leonardo de Moura
de9df69ef6
refactor(src): move compiler folder to library
2016-05-09 13:28:00 -07:00