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 testingprop_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}}}