Size: a a a

2020 May 25

AD

Aleksandr Drozdov in F# Chat
Yield
источник

AH

Ayrat Hudaygulov in F# Chat
ещё Zero
источник

PD

Prunkles Dreemurr in F# Chat
Ayrat Hudaygulov
ещё Zero
Но он же unit -> M<'T>
источник

AH

Ayrat Hudaygulov in F# Chat
Prunkles Dreemurr
Но он же unit -> M<'T>
не, он unit -> ‘a
источник

PD

Prunkles Dreemurr in F# Chat
Ayrat Hudaygulov
не, он unit -> ‘a
Да, это будет вернее
источник

AH

Ayrat Hudaygulov in F# Chat
ты там можешь хоть юнит вернуть
источник

PD

Prunkles Dreemurr in F# Chat
Ayrat Hudaygulov
ты там можешь хоть юнит вернуть
Если верну юнит, то результатом ce и будет юнит же
источник

AH

Ayrat Hudaygulov in F# Chat
да не
источник

AH

Ayrat Hudaygulov in F# Chat
этот зеро просто нужен. ты там и верни юнит
источник

AH

Ayrat Hudaygulov in F# Chat
я хз зачем он нужен компилятору, но он нужен
источник

PD

Prunkles Dreemurr in F# Chat
Ayrat Hudaygulov
этот зеро просто нужен. ты там и верни юнит
type FooBuilder() =
   member _.Yield(x) = x
   member _.Zero() = ()
let foo = FooBuilder()
let x = foo { 3 }
val x : unit = ()
источник

PD

Prunkles Dreemurr in F# Chat
А по идее должен быть 3
источник

AH

Ayrat Hudaygulov in F# Chat
ну шо такое
источник

AD

Aleksandr Drozdov in F# Chat
они должны один тип возвращать
источник

AD

Aleksandr Drozdov in F# Chat
же
источник

AH

Ayrat Hudaygulov in F# Chat
не, для такого ещё комбайн нужен вроде
источник

PD

Prunkles Dreemurr in F# Chat
Ayrat Hudaygulov
не, для такого ещё комбайн нужен вроде
type FooBuilder() =
   member _.Yield(x: int) = x
   member _.Combine(u: unit, x: int) = x
   member _.Zero() = ()
let foo = FooBuilder()
let x = foo { 3 }

Всё равно x есть unit
источник

AH

Ayrat Hudaygulov in F# Chat
дя бля
источник

AD

Aleksandr Drozdov in F# Chat
¯\(°_o)/¯
источник

AH

Ayrat Hudaygulov in F# Chat
type BBBbuilder() =
   member _.Zero() = []
   member _.Yield x = [x]
   member _.Combine (x,y) = x @ y
   member _.Delay f = f()
   
let b = BBBbuilder()


let c =
   b {
       1
       2
       3
   }
источник