1. Generalisation ignoring or hiding details to capture some kind of commonality between different instances. Examples are abstract data types (the representation details are hidden), abstract syntax (the details of the concrete syntax are ignored), abstract interpretation (details are ignored to analyse specific properties). 2. Parameterisation, making something a function of something else. Examples are lambda abstractions (making a term into a function of some variable), {higher-order functions} (parameters are functions), {bracket abstraction} (making a term into a function of a variable). Opposite of concretisation. (1998-06-04)