Skip to content

Handled computation should have more broader effect type #2

@pandaman64

Description

@pandaman64

Currently, the effects of Handled is just {effects of source computation} - {effects handled by handler}. This makes performing effects within the handler difficult. A workaround is to call embed() just before the handle() so that the source computation contains necessary effects, but this is insufficient if the handler wants to re-perform the effect.

The handled computation should have {effects of source computation} - {effects handled by handler} + {effects the handler can produce} as the effect, but taking the union of two type-level sets is very difficult.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions