Gepostet: |
Lambda vereinfachen | ||||||||||
Ich habe folgende Funktion:
Nun würde ich gern das Mappen gleich im zipwith erledigen. Dann hätte ich...
...oder vereinfacht...
Bekomme ich das x auch noch irgendwie entfernt? |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Das hier ginge, aber ich hoffe, dass es noch einen eleganteren Weg gibt:
|
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Ich wurde aufgeklärt:
... kann man schreiben als ...
Jetzt muss ich nur noch verstehen, warum... |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Meinst du die Pointfree Notation?: http://www.haskell.org/haskellwiki/Pointfree | |||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Ja, nur die Notation kennen und richtig anwenden sind zwei verschiedene Sachen. Ein ähnliches Problem wie meins wird hier diskutiert: http://stackoverflow.com/questions/5304677/when-to-use-pointless-style Und als Verallgemeinerung der \"boobs operator\" (.).(.) definiert :-) |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
In der einfachsten Form glaube ich die Funktionskomposition . verstanden zu haben, aber ich blicke nicht mehr durch, wenn der von dir angesprochene Operator zum Einsatz kommt bzw. sowas wie ((fromEnum . ) . (/=)) da steht. Oder ein Beispiel von mir: dropWhile ((not .) . isPrefixOf) xs dropWhile ((not . isPrefixOf) xs allein ginge ja nicht, weil isPrefixOf :: [a] -> [a] -> Bool 2 Operanden und not :: Bool -> Bool nur 1 Operand hat, oder? aber wie sich das (not .) . isPrefixOf jetzt genau zusammensetzt, wie ich das verstehen bzw. in andere Syntax übersetzen kann ist mir nicht klar, könntest du das erklären? |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Nur unter Alkoholeinfluss... | |||||||||||
Zum Seitenanfang | |||||||||||