2016-07-17 12 views
0

Ich lese durch diese blog post über das Schreiben einer API in Haskell mit Scotty, und ich stieß auf den Abschnitt über Monade Transformatoren. Ich verstehe das Konzept der Monade Transformatoren, aber ich kann nicht meinen Kopf wickeln um das, was hier vor sich geht:Was ist los in diesem Ausdruck?

let r m = runReaderT (runConfigM m) c 

Wie kann der Ausdruck Referenz m wenn m in der gleichen let Ausdruck deklariert wird, die es verwendet? Was geht hier vor sich? Was ist m?

+0

'r' wäre eine Funktion und' m' wäre ein Parameter. – pdexter

Antwort

6

Das ist eine (lokale) Funktionsdeklaration mit dem Namen r. m ist der Parameter der Funktion. Es entspricht:

let r = \m -> runReaderT (runConfigM m) c 
+0

Das erklärt es perfekt, danke! – npj