मैं monads साथ एफ # में (संगणना भाव उर्फ) कर रहा है और मैं इस सरल पहचान इकाई ने लिखा है:एफ # में कस्टम गणना भाव
type Identity<'a> =
| Identity of 'a
type IdentityBuilder() =
member x.Bind (Identity v) f = f(v)
member x.Return v = Identity v
let identity = new IdentityBuilder()
let getInt() = identity { return Int32.Parse(Console.ReadLine()) }
let calcs() = identity {
let! a = getInt() // <- I get an error here
let! b = getInt()
return a + b }
मैं त्रुटि मैं में हो रही है समझ में नहीं आता उल्लेखनीय लाइन:
यह अभिव्यक्ति प्रकार पहचान < की उम्मीद नहीं थी() ग
ख * 'मुझे लगता है कि इस getInt के रूप में कोई मतलब नहीं है मैं' एक> लेकिन यहाँ टाइप है ' स्पष्ट रूप से Identity<'a>
प्रकार का मान है।
क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं?
या भाषा spec के सेक्शन 6.4.10 देखें: http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.html – Brian
स्वयं को नोट करें: उस विकी को संशोधित करें पेज क्योंकि इसका कोई मतलब नहीं है;) – Juliet