Leonardo de Moura
|
df9352ea6e
|
feat(library/compiler): better support for numeric constants
|
2016-05-12 16:33:37 -07:00 |
|
Leonardo de Moura
|
f2af5828ba
|
refactor(library/compiler): preprocess_rec ==> preprocess
|
2016-05-12 16:03:39 -07:00 |
|
Leonardo de Moura
|
1393238c9d
|
fix(library/vm/vm_nat): fix constant name
|
2016-05-12 15:29:14 -07:00 |
|
Leonardo de Moura
|
c48a17563c
|
feat(library/vm/optimize): add basic bytecode optimizations
|
2016-05-12 15:24:58 -07:00 |
|
Leonardo de Moura
|
5a7f96a995
|
refactor(library/vm): simplify initialization
|
2016-05-12 14:49:06 -07:00 |
|
Leonardo de Moura
|
399b83122c
|
refactor(library): move vm to a separate directory
|
2016-05-12 14:45:06 -07:00 |
|
Leonardo de Moura
|
7852247376
|
feat(compiler/simp_inductive): add optimization for inductive datatypes that have only one constructor C, and C has only one relevant field
|
2016-05-12 14:24:14 -07:00 |
|
Leonardo de Moura
|
a9f05abbe7
|
feat(library/compiler,library/vm): add unreachable instruction
|
2016-05-12 14:01:58 -07:00 |
|
Leonardo de Moura
|
670e7117a2
|
feat(library/vm): throw error if VM already has code for the given function
|
2016-05-12 13:50:46 -07:00 |
|
Leonardo de Moura
|
0558214b7c
|
fix(library/compiler/vm_compiler): emit code for neutral expr
|
2016-05-12 13:45:05 -07:00 |
|
Leonardo de Moura
|
38bd7e6d10
|
fix(library/compiler/vm_compiler): typo
|
2016-05-12 11:54:38 -07:00 |
|
Leonardo de Moura
|
7e7129272f
|
fix(library/annotation): memory leak
|
2016-05-12 11:43:45 -07:00 |
|
Leonardo de Moura
|
41786f41f0
|
fix(library/vm): did not use copy constructor
|
2016-05-12 11:41:28 -07:00 |
|
Leonardo de Moura
|
705317ae77
|
feat(library/compiler): generate bytecode
|
2016-05-11 19:21:47 -07:00 |
|
Leonardo de Moura
|
7a4ed85fee
|
feat(library/vm): add get_vm_decl
|
2016-05-11 17:42:14 -07:00 |
|
Leonardo de Moura
|
61471df3eb
|
feat(library/vm): store idx at vm_decl
|
2016-05-11 17:39:49 -07:00 |
|
Leonardo de Moura
|
5189a83f57
|
feat(library/vm): pretty print bytecode
|
2016-05-11 16:57:56 -07:00 |
|
Leonardo de Moura
|
70cff1a4bd
|
feat(library/compiler/lambda_lifting): avoid unnecessary auxiliary decls
|
2016-05-11 16:34:47 -07:00 |
|
Leonardo de Moura
|
ecc9014d82
|
fix(library/compiler/simp_inductive): check ignore predicate at visit_constant
|
2016-05-11 16:06:21 -07:00 |
|
Leonardo de Moura
|
99716306f1
|
feat(library/vm): accessors and setters for vm_instr
|
2016-05-11 15:54:46 -07:00 |
|
Leonardo de Moura
|
a383b25c50
|
feat(library/vm): add auxiliary procedures
|
2016-05-11 15:47:05 -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
|
a5c6741d1b
|
fix(library/compiler/simp_inductive): add support for constructor without arguments
|
2016-05-11 14:24:43 -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
|
ef8b182fb6
|
feat(library/util): add get_constructor_idx
|
2016-05-11 13:16:40 -07:00 |
|
Leonardo de Moura
|
5f9120be63
|
feat(library/util): add get_contructor_relevant_fields
|
2016-05-11 13:11:37 -07:00 |
|
Leonardo de Moura
|
53308d55b1
|
feat(library/vm): add is_vm_builtin_function
|
2016-05-11 12:49:54 -07:00 |
|
Leonardo de Moura
|
74b9690b7f
|
feat(library/vm): add Proj (projection) operation
|
2016-05-11 11:56:55 -07:00 |
|
Leonardo de Moura
|
1bb36e5a0a
|
chore(library/compiler/simp_pr1_rec): assume num of typeformers (aka motive) is 1
|
2016-05-11 11:51:35 -07:00 |
|
Leonardo de Moura
|
08a563dc0a
|
fix(library/compiler/simp_pr1_rec): bug in simplification step
|
2016-05-11 11:47:59 -07:00 |
|
Leonardo de Moura
|
26029c2078
|
chore(library/definitional/projection): cleanup
|
2016-05-11 11:42:46 -07:00 |
|
Leonardo de Moura
|
ca891c176e
|
feat(frontends/lean/pp): add option pp.hide_comp_irrelevant
It is true by default
|
2016-05-11 11:31:38 -07:00 |
|
Leonardo de Moura
|
9d01d1bb04
|
chore(library/compiler/preprocess_rec): add extra assertions
|
2016-05-11 11:24:12 -07:00 |
|
Leonardo de Moura
|
a581017d8d
|
chore(library/compiler/preprocess_rec): trace preprocessing steps
|
2016-05-11 11:17:40 -07:00 |
|
Leonardo de Moura
|
3b47d91b3e
|
feat(library/compiler): add lambda lifting
|
2016-05-11 11:07:39 -07:00 |
|
Leonardo de Moura
|
1820bdc430
|
feat(library/compiler): generate better auxiliary function names
|
2016-05-11 10:26:51 -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
|
906c4f86f1
|
feat(library/vm): add vm_decl(s)
|
2016-05-10 21:11:07 -07:00 |
|
Leonardo de Moura
|
3dd7cd7403
|
feat(library/vm): implement nat functions in C++
|
2016-05-10 17:35:53 -07:00 |
|
Leonardo de Moura
|
2daf9c8d59
|
feat(library): add VM objects and instructions
|
2016-05-10 15:59:01 -07:00 |
|
Leonardo de Moura
|
de9df69ef6
|
refactor(src): move compiler folder to library
|
2016-05-09 13:28:00 -07:00 |
|
Leonardo de Moura
|
50fd4eb7bd
|
feat(compiler/erase_irrelevant): eliminate subtype.tag, subtype.rec and subtype.elt_of
|
2016-05-07 16:57:26 -07:00 |
|
Leonardo de Moura
|
329a9723cb
|
feat(library): tag auxiliary no_confusion definitions
|
2016-05-07 15:26:49 -07:00 |
|
Leonardo de Moura
|
fd83b711b6
|
fix(library/type_context): make sure aux_recursors are not unfolded in whnf_pred IF the given predicate returns false for them.
|
2016-05-03 17:26:53 -07:00 |
|
Leonardo de Moura
|
8c878e8196
|
refactor(library/aux_recursors): make sure is_aux_recursor returns true for manually defined nat.cases_on
|
2016-05-03 17:26:11 -07:00 |
|
Leonardo de Moura
|
156068609f
|
feat(compiler/preprocess_rec): do not unfold cases_on
|
2016-05-03 15:42:20 -07:00 |
|
Leonardo de Moura
|
da79cd7d95
|
feat(frontends/lean/pp): add option pp.hide_binder_types
|
2016-05-02 18:16:27 -07:00 |
|
Leonardo de Moura
|
007d82107d
|
feat(compiler): add basic function inliner
|
2016-05-02 17:24:13 -07:00 |
|
Leonardo de Moura
|
2fca1ac2a4
|
feat(library/type_context): add method mk_let
It is identical to mk_lambda, but makes sure all locals are actually let-decls
|
2016-05-01 19:32:54 -07:00 |
|
Leonardo de Moura
|
048376d8fd
|
feat(library/locals): add auxiliary method
|
2016-05-01 19:01:47 -07:00 |
|