this is a classic example of the 'encapsulation vs abstraction' thing that programmers are constantly getting wrong
If you're hiding information, you're encapsulating. The opposite of encapsulation is "openness."
If you're providing choice, you're abstracting. The opposite of abstract is "concrete."
A value likeĀx = 3 + 2
Ā isĀ concrete, whileĀx a = 3 + a
Ā isĀ abstract, specificallyĀ abstract inĀa
.
from a linguistics perspective, since a ton of people get it wrong, then it's descriptively okay-ish to useĀabstraction
Ā to meanĀencapsulation
. but from a precise terminology perspective, where the two words are pretty different in meaning and practice, well, we should get it right
(especially since Haskellers tend to beĀ awfulĀ about encapsulation but very good about abstraction!)