You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/FSharpPlus/Data/Seq.fs
+50Lines changed: 50 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -60,6 +60,7 @@ module SeqT =
60
60
61
61
typeSeqT<'``monad<seq<'t>>``>with
62
62
63
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
63
64
static member inlineReturn(x:'T)= x |> Seq.singleton |> result |> SeqT : SeqT<'``Monad<seq<'T>``>
64
65
65
66
[<EditorBrowsable(EditorBrowsableState.Never)>]
@@ -71,31 +72,55 @@ type SeqT<'``monad<seq<'t>>``> with
71
72
[<EditorBrowsable(EditorBrowsableState.Never)>]
72
73
static member inlineLift3(f:'T->'U->'V->'W,x:SeqT<'``Monad<seq<'T>``>,y:SeqT<'``Monad<seq<'U>``>,z:SeqT<'``Monad<seq<'V>``>)= SeqT.lift3 f x y z : SeqT<'``Monad<seq<'W>``>
73
74
75
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
74
76
static member inline(<*>)(f:SeqT<'``Monad<seq<('T -> 'U)>``>,x:SeqT<'``Monad<seq<'T>``>)= SeqT.apply f x : SeqT<'``Monad<seq<'U>``>
77
+
78
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
75
79
static member inline(>>=)(x: SeqT<'``Monad<seq<'T>``>, f: 'T -> SeqT<'``Monad<seq<'U>``>)= SeqT.bind f x
76
80
81
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
77
82
static member inlineget_Empty()= SeqT <| result Seq.empty : SeqT<'``MonadPlus<seq<'T>``>
83
+
84
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
78
85
static member inline(<|>)(SeqT x,SeqT y)= SeqT <|(x >>=(fun a -> y >>=(fun b -> result ((Seq.append:seq<_>->seq<_>->_) a b)))): SeqT<'``MonadPlus<seq<'T>``>
79
86
87
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
80
88
static member inlineTryWith(source:SeqT<'``Monad<seq<'T>>``>,f:exn ->SeqT<'``Monad<seq<'T>>``>)= SeqT (TryWith.Invoke (SeqT.run source)(SeqT.run << f))
89
+
90
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
81
91
static member inlineTryFinally(computation:SeqT<'``Monad<seq<'T>>``>,f)= SeqT (TryFinally.Invoke (SeqT.run computation) f)
92
+
93
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
82
94
static member inlineUsing(resource,f:_ ->SeqT<'``Monad<seq<'T>>``>)= SeqT (Using.Invoke resource (SeqT.run << f))
static member inlineLift(x:'``Monad<'T>``):SeqT<'``Monad<seq<'T>>``>= SeqT.lift x
87
101
102
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
88
103
static member inlineLiftAsync(x:Async<'T>)= SeqT.lift (liftAsync x): SeqT<'``MonadAsync<'T>``>
89
104
105
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
90
106
static member inlineThrow(x:'E)= x |> throw |> SeqT.lift
107
+
108
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
91
109
static member inlineCatch(m:SeqT<'``MonadError<'E1,'T>``>,h:'E1 ->SeqT<'``MonadError<'E2,'T>``>)= SeqT ((fun v h -> catch v h)(SeqT.run m)(SeqT.run << h)): SeqT<'``MonadError<'E2,'T>``>
92
110
111
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
93
112
static member inlineCallCC(f:(('T -> SeqT<'``MonadCont<'R,seq<'U>>``>)-> _))= SeqT (callCC <|fun c -> SeqT.run (f (SeqT << c << Seq.singleton ))): SeqT<'``MonadCont<'R, seq<'T>>``>
94
113
114
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
95
115
static member inlineget_Get()= SeqT.lift get : SeqT<'``MonadState<'S,'S>``>
116
+
117
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
96
118
static member inlinePut(x:'S)= x |> put |> SeqT.lift : SeqT<'``MonadState<unit,'S>``>
97
119
120
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
98
121
static member inlineget_Ask()= SeqT.lift ask : SeqT<'``MonadReader<'R,seq<'R>>``>
122
+
123
+
[<EditorBrowsable(EditorBrowsableState.Never)>]
99
124
static member inlineLocal(SeqT (m:'``MonadReader<'R2,'T>``),f:'R1->'R2)= SeqT (local f m)
0 commit comments