minor fix and some refactoring on the if statements

This commit is contained in:
microproofs
2024-01-20 16:34:33 -05:00
committed by Kasey
parent 82fc82ceee
commit eda4e259d6
2 changed files with 27 additions and 31 deletions

View File

@@ -1585,33 +1585,34 @@ pub fn list_access_to_uplc(
// case for no tail
// name is guaranteed to not be discard at this point
if matches!(expect_level, ExpectLevel::Full | ExpectLevel::Items) {
if matches!(expect_level, ExpectLevel::None) {
acc.lambda(name).apply(head_list).lambda(tail_name)
} else {
Term::tail_list()
.apply(Term::var(tail_name.to_string()))
.delayed_choose_list(acc, error_term.clone())
.lambda(name)
.apply(head_list)
.lambda(tail_name)
} else {
acc.lambda(name).apply(head_list).lambda(tail_name)
}
} else if name == "_" {
if matches!(expect_level, ExpectLevel::Full | ExpectLevel::Items)
&& error_term != Term::Error
{
if matches!(expect_level, ExpectLevel::None) || error_term == Term::Error {
acc.apply(Term::tail_list().apply(Term::var(tail_name.to_string())))
.lambda(tail_name)
} else {
Term::var(tail_name.to_string())
.delayed_choose_list(
error_term.clone(),
acc.apply(Term::tail_list().apply(Term::var(tail_name.to_string()))),
)
.lambda(tail_name)
} else {
acc.apply(Term::tail_list().apply(Term::var(tail_name.to_string())))
.lambda(tail_name)
}
} else if matches!(expect_level, ExpectLevel::Full | ExpectLevel::Items)
&& error_term != Term::Error
{
} else if matches!(expect_level, ExpectLevel::None) || error_term == Term::Error {
acc.apply(Term::tail_list().apply(Term::var(tail_name.to_string())))
.lambda(name)
.apply(head_list)
.lambda(tail_name)
} else {
Term::var(tail_name.to_string())
.delayed_choose_list(
error_term.clone(),
@@ -1620,11 +1621,6 @@ pub fn list_access_to_uplc(
.apply(head_list),
)
.lambda(tail_name)
} else {
acc.apply(Term::tail_list().apply(Term::var(tail_name.to_string())))
.lambda(name)
.apply(head_list)
.lambda(tail_name)
}
},
)