SNAP

1. An early (IBM 360?) interpreted text-processing language for beginners, close to basic English.

["Computer Programming in English", M.P. Barnett, Harcourt Brace 1969].

2. ["Some Proposals for SNAP, A Language with Formal Macro Facilities", R.B. Napper, Computer J 10(3):231-243, 1967].

[Same as 1?]

snap

1. <programming> To remove indirection, e.g. by replacing a pointer to a pointer with a pointer to the final target (see chase pointers).

The underlying metaphor may be a rubber band stretched through a number of points; if you release it from the intermediate points, it snaps to a straight line from first to last.

Often a trampoline performs an error check once and then snaps the pointer that invoked it so subsequent calls will bypass the trampoline (and its one-shot error check). In this context one also speaks of "snapping links". For example, in a Lisp implementation, a function interface trampoline might check to make sure that the caller is passing the correct number of arguments; if it is, and if the caller and the callee are both compiled, then snapping the link allows that particular path to use a direct procedure-call instruction with no further overhead.

[Jargon File]

2. <operating system> snap dump.