Hacker News new | ask | show | jobs
by tree_of_item 4607 days ago
Functions that work on "any monad" in Scheme can accept the monad operations as an extra parameter. A macro can hide this, like

    (with-monad m
       (monad-operation data))
See https://github.com/clojure/algo.monads for an implementation of this in Clojure.