From 44fb70a695d25382640bf4772c4fd582338fa684 Mon Sep 17 00:00:00 2001
From: Gregor Kleen <gkleen@yggdrasil.li>
Date: Wed, 4 Nov 2015 18:46:55 +0100
Subject: Better solutions for quadrate & alleVariablen

---
 ws2015/FFP/blaetter/03/FFP_U03_Funktoren.hs | 13 +++++++++++++
 1 file changed, 13 insertions(+)

(limited to 'ws2015')

diff --git a/ws2015/FFP/blaetter/03/FFP_U03_Funktoren.hs b/ws2015/FFP/blaetter/03/FFP_U03_Funktoren.hs
index 935f9eb..eaa09c7 100644
--- a/ws2015/FFP/blaetter/03/FFP_U03_Funktoren.hs
+++ b/ws2015/FFP/blaetter/03/FFP_U03_Funktoren.hs
@@ -120,6 +120,9 @@ testb1 = testT2 == (fmap even testT1)
 quadrate :: [Integer]
 quadrate = map (2^) [0..]
 
+quadrate' :: [Integer] -- More efficient (probably)
+quadrate' = 1 : [2 * x | x <- quadrate']
+
 -- Zum Testen:
 q1 = take 5 quadrate
 -- > q1
@@ -143,6 +146,16 @@ alleVariablen = seed : alleVariablen' [seed]
       where
         now = [v : p | v <- vars, p <- prevs]
 
+alleVariablen' :: [String] -- Preferred.
+alleVariablen' = "" : [v : p | p <- alleVariablen', v <- vars]
+  where
+    vars = ['a', 'b', 'c', 'd']
+    
+alleVariablen'' :: [String]
+alleVariablen'' = [v : p | p <- "" : alleVariablen'', v <- vars]
+  where
+    vars = ['a', 'b', 'c', 'd']
+    
 -- Zum Testen:
 check l x = (map length . groupBy ((==) `on` length)) (take x l)
 
-- 
cgit v1.2.3