start adding no inline flag to functions

This commit is contained in:
microproofs
2024-03-01 11:10:37 -05:00
committed by Kasey
parent 2aaa46e54c
commit 4e928f39db
3 changed files with 21 additions and 18 deletions

View File

@@ -4,7 +4,7 @@ mod interner;
pub mod shrinker;
pub fn aiken_optimize_and_intern(program: Program<Name>) -> Program<Name> {
let w = program
program
.builtin_force_reducer()
.lambda_reducer()
.inline_reducer()
@@ -12,17 +12,11 @@ pub fn aiken_optimize_and_intern(program: Program<Name>) -> Program<Name> {
.inline_reducer()
.force_delay_reducer()
.cast_data_reducer()
.convert_arithmetic_ops();
// println!("{:#?}", w);
let x = w.builtin_curry_reducer();
// println!("{:#?}", x);
let y = x.lambda_reducer().inline_reducer().builtin_curry_reducer();
// println!("{:#?}", y);
y.lambda_reducer().inline_reducer()
.convert_arithmetic_ops()
.builtin_curry_reducer()
.lambda_reducer()
.inline_reducer()
.builtin_curry_reducer()
.lambda_reducer()
.inline_reducer()
}

View File

@@ -86,6 +86,8 @@ impl Default for IdGen {
}
}
pub const NO_INLINE: &str = "__no_inline__";
#[derive(PartialEq, PartialOrd, Default, Debug, Clone)]
pub struct VarLookup {
found: bool,