4 ms·
What is described looks to me like an interpreter for a Forth-like DSL in which the notion of the monad should find its "natural" expression. Still not sure if
by Koshkin 5y ago
What is described looks to me like an interpreter for a Forth-like DSL in which the notion of the monad should find its "natural" expression. Still not sure if it can indeed be viewed as a practically useful extension of the base language (Clojure)...
- sesm 5y agoI'm not an expert, but my understanding is: 1. You are writing a DSL that works with wrapped values. 2. In this DSL you can use arbitrary pure functions from your base language. 3. The value proposition is: those pure functions should not be aware of the fact that they are working with wrapped values, they are written as if they are computing regular non-wrapped values. Bind takes care of this. 4. Indeed the simplest way to implement this is some kind of interpreter. But you don't have to re-implement the entire language inside this interpreter, because of #3