Frage

Ich bin Haskell nur zu lernen, und zu versuchen, den meisten idiomatischen Weg, um herauszufinden, eine Sichtlinie Algorithmus zu implementieren.

Der Demo-Code, den ich gefunden verwendet den Zustand Monade, aber es scheint einfacher zu mir (ich bin nur ein Anfänger) Zustand rekursiv zu übergeben. Was bin ich hier? Gibt es Performance-Probleme?

Suche Code an: http://www.finalcog.com/bresenham-algorithm- idiomatische-haskell

Danke,

Chris.

War es hilfreich?

Lösung

Es kann ein wenig worden ausführlichen Zustand überall passieren. Auch wird der Zustand Monade gut von den meisten Haskell Programmierer bekannt, so werden sie wissen, was Sie tun. Wenn Sie Ihre eigene Hand rollen, außerhalb einer Monade, kann es schwierig sein, zu erkennen, was Ihr Code tut.

ich den Zustand Monade ordentlich finden für den Zustand ändert einkapseln, es ist ziemlich offensichtlich, was Teil des Codes Stateful ist (das heißt ändert oder abhängig von Zustand) w.r.t. der Rest der reinen Sache.

Andere Tipps

Für größere Programme ist es besser, den Zustand vorbei Sanitär in der Monade zu verstecken. Es gibt weniger Fehlerrisiko dann.

Ein Vorteil einer Monade der Verwendung auf Zustand zu übergeben, anstatt explizit auf Zustand vorbei ist, dass es viele nützliche combinators definiert für Monaden sind, die Sie verwenden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top