In dieser Lektion befinden sich 68 Karteikarten

Standardfunktionen

Diese Lektion wurde von checko erstellt.

Lektion lernen

  • mod mod :: Int -> Int -> Int Modulo rechnen ( 2 % 5 = 1 )
  • ($) ($) :: ( a -> b) -> a -> b Der Dollar-Operator zur Verknüpfung zweier Funktion (Output A = Input B)
  • (.) (.) :: ( b -> c ) -> ( a -> b ) -> a -> c Punkt-Operator: Verknüpft auch zwei Funktionen im Sinne von: f.g(h) = f(g(h))
  • id id: a -> a Identitätsfunktion
  • const const :: a -> b -> a Konstante Funktion
  • update update :: Eq a => (a -> b) -> a -> b -> a -> b Funktionsupdate: wenn a = a' dann b ansonsten f a'
  • flip flip :: ( a -> b -> c ) -> b -> a -> c Dreht die Parameter einer zweistelligen Funktion um.
  • curry uncurry curry :: ((a,b) -> c) -> a -> b -> c Wandelt eine binäre Funktion in eine lineare Funktion um uncurry :: (a -> b -> c) -> (a,b) -> c Wandelt eine lineare Funktion in eine binäre Funktion um
  • lift lift :: (a -> b -> c) -> (state -> a) -> (state -> b) -> state -> c lift heißt mathematisch f(x) 'op' g(x) (Zwei Funktionen mit einem arithmetischen Operator verknüpft)
  • endrekursiver Funktionsaufruf bedeutet das die gesamte Ausführung der Funktion rekursiv verläuft. An keinem Moment der Ausführung soll auf das Ergebnis einer rekursiven Berechnung gewartet werden.
  • loop loop :: State -> Int -> Int (state ist die Schleifenvariable) Schleifenfunktion (solange eine Bedingung erfüllt ist, wird die Funktion rekursiv aufgerufen.)
  • single single :: a -> [a] entspricht: a : []
  • length length :: [a] -> Int Berechnet die Länge einer Liste
  • null null :: [a] -> Bool Prüft, ob eine Liste leer ist.
  • head head :: [a] -> a Gibt das erste Element einer Liste zurück
  • tail tail :: [a] -> [a] Git alle Elemente einer Liste bis auf das Erste in einer Liste zurück.
  • (++) (++) :: [a] -> [a] -> [a] Listenkonkatenation (Verknüpfung zweier Listen)
  • (!!) (!!) :: [a] -> Int -> a Gibt das Element mit dem Index Int einer Liste zurück
  • init init :: [a] -> [a] Gibt alle Elemente einer Liste bis auf das Letzte in einer Liste zurück.
  • last last :: [a] -> a Gibt das letzte Elemente einer Liste zurück.
  • take take :: Int -> [a] -> [a] Gibt alle Elemente bis zum Index Int einer Liste zurück
  • drop drop :: Int -> [a] -> [a] Gibt alle Elemente einer Liste ab dem Index Int (exkl.) zurück.
  • takeWhile takeWhile :: (a -> Bool) -> [a] -> [a] Gibt solange die Elemente einer Liste zurück, solange die Bedingung erfüllt ist.
  • dropWhile dropWhile :: (a -> Bool) -> [a] -> [a] Überspringe solange die Elemente einer Liste wie die Bedingung erfüllt ist.
  • updList updList :: [a] -> Int -> a -> [a] Ersetze in einer Liste das Element mit dem Index Int durch einen neuen Wert
  • reverse reverse :: [a] -> [a] Gibt eine Liste zurück, in der die Elemente rückwärts (von rechts nach links) von der Ursprungsliste stehen. [1,2,3] --reverse--> [3,2,1]
  • loop (Liste) loop :: [state] -> [a] -> [a] Die Schleifenfunktion für eine Liste
  • splitAt splitAt :: Int -> [a] -> ([a],[a]) Splittet eine Liste nach dem Element mit dem Index int in zwei Teile und gibt beide Teile in einem Tupel zurück.
  • span span :: (a -> Bool) -> [a] -> ([a],[a]) Splittet eine Liste vor dem Element, welches die Bedingung nicht mehr erfülllt.
  • sublist sublist :: [a] -> Int -> Int -> [a] Gibt die Elemente vom Index Int bis zum Index Int' einer Liste in einer neuen Liste aus.
  • merge merge :: [Int] -> [Int] -> [Int] Gibt alle Elemente aus zwei Listen in einer Liste aufsteigend sortiert zurück
  • map map :: (a -> b) -> [a] -> [b] Wendet eine einstellige Funktion auf jedes Element einer Liste an Bsp.: [2..9] --map (+5)--> [7..14]
  • zipWith zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] Nimmt nacheinander je ein Element aus a und b und wenn dann auf eine zweistellige Funktion auf beide Elemente an. Die Ergebnisse werden in einer neuen Liste ...
  • zip zip :: [a] -> [b] -> [(a,b)] Nimmt je ein Element aus Liste a und b und bildet daraus ein Tupel, welches in eine neue Liste eingefügt wird.
  • lookup lookup :: Eq a => a -> [(a,b)] -> Maybe b Gegeben ist eine Liste mit Tupeln (Index, Inhalt). Lookup gibt den Inhalt des Tupels mit dem Index a im Datentyp Maybe zurück. Bei Fehler wird Nothing zurückgegeben. ...
  • updRel updRel :: Eq a => [(a,b)] -> a -> b -> [(a,b)] Gegeben ist eine Liste mit Tupeln (Index,Inhalt). Der Inhalt des Tupels mit dem Index a wird durch b ersetzt.
  • foldl foldl :: (state -> a -> state) -> state -> [a] -> state Eine zweistellige Funktion wird nacheinander auf den State und ein Element einer Liste angewendet. Das Ergebnis der Funktion bildet den neuen State ...
  • sum product and or concat sum :: Num a => [a] -> a        // Aufsummieren der Elemente einer Liste product :: Num a => [a] -> a   // Aufmultiplizieren der Elemente einer Liste and :: [Bool] -> Bool               // ...
  • concatMap concatMap :: (a -> [b]) -> [a] -> [b] Zunächst wird eine einstellige Funktion, die eine Liste zurückgibt, auf jedes Element einer Liste angewendet (map). Anschließend erfolgt die Konkatenation aller ...
  • minimum maximum minimum :: [a] -> a     \\Ermittelt das Minimum einer Liste maximum ::  [a] -> a   \\Ermittelt das Maximum einer Liste
  • fold2 fold2 :: (state -> a -> b -> state) -> state -> [a] -> [b]  -> state Eine dreistellige Funktion wird auf den state und je ein Element der Listen a und b angewendet. Das Ergebnis ist der neue Stack für ...
  • foldr foldr :: (a -> state -> state) -> state -> [a] -> state Eine zweistellige Funktion wird nacheinander auf ein Element einer Liste und den State angewendet. Das Ergebnis der Funktion bildet den neuen State ...
  • any any :: (a -> Bool) -> [a] -> Bool Prüft, ob es ein Element in einer Liste gibt, welches die Bedingung erfüllt.
  • all all :: (a -> Bool) -> [a] -> Bool Prüft, ob alle Elemente einer Liste die Bedingung erfüllen
  • elem notElem elem :: Eq a => a -> [a] -> Bool Prüft, ob Element a in einer Liste enthalten ist. notElem :: Eq a => a -> [a] -> Bool Prüft, ob Element a nicht in einer Liste enthalten ist.
  • filter filter :: (a -> Bool) -> [a] -> [a] Filter alle Elemente, die die Bedingung erfüllen, aus einer Liste heraus und speichert diese in einer neuen Liste
  • Listenkomprehension (Definition und Bestandteile) Listenkomprehension Def. [f x | x -> l, guard(s)] Nehme Element x aus Liste l, wenn es der Guard erlaubt, und führe dann f darauf aus. Schreibe das Ergebnis in eine neue Liste. Sollte kein Element aus ...
  • addIndex addIndex :: [a] -> [(Int,a)] Macht aus einer Liste eine Liste mit Tupeln (Index, Inhalt)
  • iterate iterate :: (a -> a) -> a -> [a] Erstellt eine Liste, dessen nachfolgendes Elemente durch eine einstellige Funktion ermittelt wird. Bsp. iterate (+2) 10 ~~> [10,12,14,...]
  • Definiere die folgenden Datentypen: Nat, Maybe a, ... data Nat = Zero | Succ Nat data Maybe a = Just a | Nothing data Either a b = Left a | Right a data [a] = [] | a : [a]