Skip to content

Recursive functions, algebraically---improvements & changes #10

@ahubers

Description

@ahubers

Reviews: https://github.com/IaFP/Rome-paper/tree/main/POPL25.

Changes recommended by the reviewers, explicitly

...

Changes recommended by the reviewers, implicitly

...

Changes that strengthen our case

  • An operational semantics.
  • Restore strong normalization: remove fix term and use combinators. N.b. Even with these changes, your semantics will remain partial because of Agda's positivity checker. I see the type-level potatoes as a necessity to bypass positivity checking, and hence the semantics is partial. (Even with partiality/delay monads, this doesn't change.) What you could do is change your return type from Maybe to an existential on bound: there exists a gas level such that this function produces a type/term. But this sounds like sized types, to be honest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions