| CSC448: Type Checking Revisited: Example Program [117/133] | ![]() ![]() ![]() |
An example program that uses take at two
different types:
let take =
fun f i =>
fun g xs =>
if (is_zero (i)) then
[]
else
cons (head (xs)) (f (i - 1) (tail (xs)))
in
(length (take 2 ["a", "b", "c"])) + (length (take 1 [1, 2, 3]))