Abstraction -- programming methodology
- control abstractions -- structured programming
- data abstraction -- information hiding
The kind of abstraction provided by ADTs can be supported
by any language with a procedure call mechanism
(given that appropriate protocols are developed
and observed by the programmer).