module List where import FFI import Prelude hiding (take) main :: Fay () main = putStrLn (showList (take 5 (let ns = 1 : map' (\x -> x + 1) ns in ns))) take :: Int -> [a] -> [a] take 0 _ = [] take n (x:xs) = x : take (n - 1) xs map' :: (a -> b) -> [a] -> [b] map' f [] = [] map' f (x:xs) = f x : map' f xs showList :: [Int] -> String showList = ffi "JSON.stringify(%1)"