diff options
author | Edoardo La Greca | 2025-08-26 16:09:22 +0200 |
---|---|---|
committer | Edoardo La Greca | 2025-08-26 16:09:22 +0200 |
commit | 420960b427f7106c92ced4c86e7d7b9ebf52fb76 (patch) | |
tree | 18a8a2e3403922b1c978b0c98ec90d56b2bd9881 /lec06/Fibonacci.hs | |
parent | ad05f12f2bf44a85693121182a2593c3f780a7d8 (diff) |
add third exercise of lecture 6
Diffstat (limited to 'lec06/Fibonacci.hs')
-rw-r--r-- | lec06/Fibonacci.hs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lec06/Fibonacci.hs b/lec06/Fibonacci.hs index 5d5eb00..70d8934 100644 --- a/lec06/Fibonacci.hs +++ b/lec06/Fibonacci.hs @@ -13,3 +13,13 @@ fibs1 = map fib [0..] fibs2 :: [Integer] fibs2 = map fst $ iterate (\l -> ( snd l , snd l + fst l )) (0,1) +-- Exercise 3 + +data Stream a = Cons a (Stream a) + +streamToList :: Stream a -> [a] +streamToList (Cons a s) = a : streamToList s + +instance Show a => Show (Stream a) where + show s = show $ take 20 $ streamToList s + |