Changes between Version 7 and Version 8 of ViewPatternsNew


Ignore:
Timestamp:
Jul 18, 2007 5:03:04 PM (8 years ago)
Author:
danl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ViewPatternsNew

    v7 v8  
    335335== Compilation ==
    336336
     337View patterns can do arbitrary computation, perhaps expensive.
     338
     339It's reasonable to expect the compiler to avoid repeated computation when pattern line up in a column, as in `size` at the top of the page.  In pattern-guard form, common sub-expression should achieve the same effect, but it's quite a bit less obvious.  We should be able to give clear rules for when the avoidance of repeat computation is guaranteed.
     340
    337341== Features views can have ==
    338342
    339 To distinguish between the different proposals, we identify some features of views.
     343In comparing the different views proposals below, it will be useful to have terminology for some features of views.
    340344
    341345=== Value input feature ===
    342346
    343 Our proposal has the ''value input'': the view function can be passed parameters; in a function definition, those parameters can mention previous arguments.  For example, this permits a view function itself to be passed as an argument, so patterns, in a sense, become first class.
     347Our proposal has the ''value input'' feature: the view function can be passed parameters; in a function definition, those parameters can mention previous arguments.  For example, this permits a view function itself to be passed as an argument, so patterns, in a sense, become first class.
    344348
    345349=== Implicit `Maybe` feature ===
     
    359363=== Integration with type classes ===
    360364
    361 Our proposal ''integrates with type classes'': a single "view" can decompose multiple different data types
     365Our proposal ''integrates with type classes'': an single view function can decompose multiple different data types, and the type class constraints are propagated to the user of the view
    362366
    363367== Related work ==