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 xs

which 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.



< Previous Terms Terms Containing head-strict Next Terms >
Head Disk Assembly
header
Head Normal Form
head normalisation theorem
heads down
head-strict
tail-strict
heap
heartbeat
heatseeker
heat sink
heat slug