plaudern.de

Forumsharing?
Forum suchen
Forum erstellen
Impressum/Kontakt
Datenschutz
AGB
Hilfe

38 User im System
Rekord: 483
(01.04.2024, 01:34 Uhr)

 
 
 Haskell :: Sprache
  Suche:

 Blatt 8 [ohne Text] 01.12.2002 (05:23 Uhr) amo
 Aufgabe 1 [ohne Text] 01.12.2002 (05:24 Uhr) amo
 power 19.12.2002 (13:10 Uhr) amo
power :: [a] -> [[a]]
power [] = [[]]
power (e:l) = power l ++ map (e:) (power l)
 power 19.12.2002 (13:13 Uhr) amo
power :: [a] -> [[a]]
power [] = [[]]
power (e:l) = power l ++ consAll e (power l)

consAll :: a -> [[a]] -> [[a]]
consAll _ [] = []
consAll y (x:xs) = [y:x] ++ consAll y xs
 power 19.12.2002 (13:14 Uhr) amo
power :: [a] -> [[a]]
power [] = [[]]
power (e:l) = power l ++ map (\e x -> (e:x)) (power l)
> power :: [a] -> [[a]]
> power [] = [[]]
> power (e:l) = power l ++ map (\e x -> (e:x)) (power l)

Das gibt beim Typecheck nach dem Laden vom Script folgenden Typfehler:

ERROR "uebbl08.hs":15 - Type error in application
*** Expression     : power l ++ map (\e x -> e : x) (power l)
*** Term           : power l
*** Type           : [[a]]
*** Does not match : [[[a]] -> [[a]]]


Kann das jemand erklären?
Wo ist der entscheidende funktionale Unterschied zwischen
map (e:)
mit nur dem Konstruktor : und
map (\e x -> e:x)
mit Lambda - Kalkül?

map scheint in dem Fall map (\e x -> e:x), aber nicht in jedem Fall, eine Liste von Funktionen zurückzugeben, obwohl Haskell die Funktionalität von map alleine nicht so angibt, sondern als (a -> b) -> [a] -> [b].
 Aufgabe 2 [ohne Text] 01.12.2002 (05:24 Uhr) amo
 Aufgabe 3 [ohne Text] 01.12.2002 (05:25 Uhr) amo
 Aufgabe 4 [ohne Text] 01.12.2002 (05:25 Uhr) amo
 Aufgabe 4 a) [ohne Text] 19.12.2002 (12:59 Uhr) amo
 Aufgabe 4 b) [ohne Text] 19.12.2002 (12:59 Uhr) amo

Dies ist ein Beitrag aus dem Forum "Haskell". Die Überschrift des Forums ist "Haskell :: Sprache".
Komplette Diskussion aufklappen | Inhaltsverzeichnis Forum Haskell | Forenübersicht | plaudern.de-Homepage

Kostenloses Forumhosting von plaudern.de. Dieses Forum im eigenen Design entführen. Impressum



Papier sparen durch druckoptimierte Webseiten. Wie es geht erfahren Sie unter www.baummord.de.