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/Control/Foldable.fs
+9Lines changed: 9 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -147,6 +147,11 @@ type FoldMap =
147
147
static member inlineFoldMap(x:Set<_>,f,[<Optional>]_impl:FoldMap)= Seq.fold (fun x y -> Plus.Invoke x (f y))(Zero.Invoke ()) x
148
148
static member inlineFoldMap(x:_ [],f,[<Optional>]_impl:FoldMap)= Array.fold (fun x y -> Plus.Invoke x (f y))(Zero.Invoke ()) x
149
149
150
+
static member inlineFoldMap(x:Map<_,_>,f,[<Optional>]_impl:FoldMap)= Map.fold (fun x _ y -> Plus.Invoke x (f y))(Zero.Invoke ()) x
151
+
static member inlineFoldMap(x:Dictionary<_,_>,f,[<Optional>]_impl:FoldMap)= Dictionary.fold (fun x _ y -> Plus.Invoke x (f y))(Zero.Invoke ()) x
152
+
static member inlineFoldMap(x:IDictionary<_,_>,f,[<Optional>]_impl:FoldMap)= Dict.fold (fun x _ y -> Plus.Invoke x (f y))(Zero.Invoke ()) x
153
+
static member inlineFoldMap(x:IReadOnlyDictionary<_,_>,f,[<Optional>]_impl:FoldMap)= IReadOnlyDictionary.fold (fun x _ y -> Plus.Invoke x (f y))(Zero.Invoke ()) x
154
+
150
155
static member inlineInvoke(f:'T->'Monoid)(x:'``Foldable'<T>``):'Monoid =
151
156
let inlinecall_2(a:^a,b:^b,f)=((^aor^b):(static memberFoldMap:_*_*_->_) b, f, a)
152
157
let inlinecall(a:'a,b:'b,f)= call_2 (a, b, f)
@@ -185,6 +190,10 @@ type Fold =
185
190
static memberFold(x:list<_>,f,z ,[<Optional>]_impl:Fold )= List.fold f z x
186
191
static memberFold(x:Set<_>,f,z ,[<Optional>]_impl:Fold )= Set.fold f z x
187
192
static memberFold(x:_ [],f,z ,[<Optional>]_impl:Fold )= Array.fold f z x
193
+
static memberFold(x:Map<_,_>,f,z ,[<Optional>]_impl:Fold )= Map.fold (fun s _ -> f s) z x
194
+
static memberFold(x:Dictionary<_,_>,f,z ,[<Optional>]_impl:Fold )= Dictionary.fold (fun s _ -> f s) z x
195
+
static memberFold(x:IDictionary<_,_>,f,z ,[<Optional>]_impl:Fold )= Dict.fold (fun s _ -> f s) z x
196
+
static memberFold(x:IReadOnlyDictionary<_,_>,f,z ,[<Optional>]_impl:Fold )= IReadOnlyDictionary.fold (fun s _ -> f s) z x
188
197
189
198
static member inlineInvoke(folder:'State->'T->'State)(state:'State)(foldable:'``Foldable'<T>``):'State =
190
199
let inlinecall_2(a:^a,b:^b,f,z)=((^aor^b):(static memberFold:_*_*_*_->_) b, f, z, a)
0 commit comments