Skip to content
  • kristenk's avatar
    Solver: Use difference lists to combine logs in 'Explore.exploreLog'. · a258aefc
    kristenk authored
    This commit adds a data structure, 'RetryLog', which is like a difference list
    for the 'Progress' type, except that it only supports efficient appends at
    failures. Since the solver continually appends logs and calls 'tryWith' while
    exploring the search tree, it is important for those operations to be efficient.
    Afterwards, the solver converts the 'RetryLog' back to a 'Progress' so that it
    can be processed with pattern matching in Log.hs and Message.hs.
    a258aefc