1 2 | nächste Seite |
Gepostet: |
Nützliche Haskell-Tricks | ||||||||||
Ist mir gerade untergekommen: Bei...
... ist apply2 nichts anderes als join von Monad (-> r). Mit anderen Worten
Was kennt ihr noch so für nette Tricks? |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Bei Algorithmen wie Mergesort muss man eine Liste in zwei gleichgroße Teile splitten, dazu habe ich heute folgende clevere Implementierung gesehen:
Siehe http://stackoverflow.com/questions/13455849/is-this-implementation-of-merge-sort-good |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Nett :) Ich kann leider nicht mit solchen Tricks aufwarten. |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Eine der unterschätztesten Funktionen des Preludes ist fromEnum. Insbesondere angewandt auf Bool ist es oft nützlich:
|
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Wenn man filter und map nacheinander ausführen muss, und dabei eventuell noch zwei Unterfunktionen z.B. fürs Pattern Matching braucht, ist concatMap oft die bessere Wahl:
|
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Wozu const so alles gut sein kann... Hier eine Möglichkeit, die Funktion Prelude.last inklusive Fehlerfall als Einzeiler zu schreiben:
|
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Umwandlung in Ziffern, z.B. 12345 --> [1,2,3,4,5]
|
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Applikative Funktoren sind lustig, man kann sich damit z.B. manchmal replicate sparen. Angenommen, wir wollen jeden Buchstaben in einem Wort ver-n-fachen, dann geht die Standardlösung in Richtung ...
Wenn man sich aber einmal ansieht, wie der Operator (<*) funktioniert, z.B. ...
... kommt man schnell auf die recht elegante Lösung:
|
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Letzterer Trick lässt sich in bestimmten Fällen auf 2D erweitern. Hier eine Matrix aus lauer Einsen:
|
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Gerade auf Stackoverflow gesehen ( http://stackoverflow.com/questions/16378773/map-multiple-functions-in-haskell ) :
Ich denke, ich verstehe wie das funktioniert, aber es dreht mir immer noch ein wenig das Hirn um... Wobei die pragmatische Variante...
...auch nicht schlecht ist. |
|||||||||||
Zum Seitenanfang | |||||||||||
1 2 | nächste Seite |