packages feed

extrapolate-0.4.0: TODO.md

TODO
====

A non-exhaustive list of things TO DO for Extrapolate.

* improve performance by improving performance of Speculate

* `deriveGeneralizableFromTo`: derive a generalizable value using a bijection
  passed as parameter so that a data invariant is not broken.  Example:

    deriveGeneralizable ''Map fromList toList.

* `add-th-eg`:
  add the parser example from the Feat paper;

* `improve-record-printing`:
  Improve the record printing by explictly printing records and _not_ showing
  variables.  For example, when testing `prop_delete`, currently we get:

	StackSet (Screen (Workspace x y (Just s)) z x’) ss ws crs

  but we could get the following instead (with indent):

    > check prop_delete
    StackSet { current  = Screen
                        { workspace = Workspace
                                    { tag    = x
                                    , layout = y
                                    , stack  = Just s
                                    }
                        , screen       = z
                        , screenDetail = x'
                        }
             , visible  = ss
             , hidden   = ws
             , floating = crs
             }

  which could be further summarized to:

	stackset {current = scr {workspace = ws {stack = Just s}}}