Skip to content

Is trace really an iterator? #42

Open
@joshrule

Description

@joshrule

We currently use Iterator to extend a Trace out from a root. The similarity between the previous step-based implementation and Iterator's next made it an easy implementation. I'm increasingly convinced, however, that we either need to remove the Iterator implementation or rework the way in which it is constructed. The overall semantics of Trace is confusing and makes it possible to compute values that the user might not intend. For example, you can build a trace with 100 nodes and then ask for the likelihood of a given rewrite in a 50 node trace, but because 100 nodes already exist, the likelihood will be over all 100 nodes rather than just 50.

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