Views: a way for pattern matching to cohabit with data abstraction (1987)

by P Wadler
Venue:In Proc. Principles Of Programming Languages (POPL’87