| (theory) | head-strict - 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. |
About this site and copyright information - Online Dictionary Home