LINUX.ORG.RU

История изменений

Исправление quasimoto, (текущая версия) :

Ещё можно от прописывания параметров избавиться — в хаскеле есть такие Клейсли-стрелки, с комбинаторами для них получается так:

checkFile >=> parse >=> (findVarValue "a" >=> checkValue) >>> up
--                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--                      ^ pure part

(функции могут работать в произвольных трансформерах — MaybeT если нужно просто протаскивать нейтральное значение как and, или что-то более сложное можно придумать, с накоплением отчёта об ошибках, например).

Так что (run (batch file-exists? parse-cfg (find-value 'varname) check-value) path). Но специфично, конечно.

Исходная версия quasimoto, :

Ещё можно от прописывания параметров избавиться — в хаскеле есть такие Клейсли-стрелки, с комбинаторами для них получается так:

checkFile >=> parse >=> (findVarValue "a" >=> checkValue) >>> up
--                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--                      ^ pure part

(функции могут работать в произвольных трансформерах — MaybeT если нужно просто протаскивать нейтральное значение как and, или что-то более сложное можно придумать, с накоплением отчёта об ошибках, например).

Так что (run (batch file-exists? parse-cfg (find-value 'varname) check-value) path). Но специфично, конечно.