You are here: irt.org | FOLDOC | head-strict
<theory> A head-strict function will not necessarily evaluate every cons cell of its (list) argument, but whenever it does evaluate a cons cell it will also evaluate the element in the head of that cell. An example of a head-strict function is
beforeZero :: [Int] -> [Int] beforeZero [] = [] beforeZero (0:xs) = [] beforeZero (x:xs) = x : beforeZero xswhich returns a list up to the first zero.
This pattern of evaluation is important because it is common in functions which operate on a list of inputs.
See also tail-strict, hyperstrict.
(1995-05-11)
Nearby terms: Head Normal Form « head normalisation theorem « heads down « head-strict » heap » heartbeat » heatseeker
FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL