Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Seq Composer #1570

Closed
wants to merge 328 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
328 commits
Select commit Hold shift + click to select a range
6e03110
Just a straight cast when EnumerableBase
manofstick Oct 20, 2016
cb5eb6f
Simplified Identity
manofstick Oct 20, 2016
bf63f41
Avoid creating extra ref objects
manofstick Oct 20, 2016
ccb32e4
Ensuring that OnDispose is called from ForEach
manofstick Oct 20, 2016
ca926d9
Seq.iteri, exists, contains, forall, trypick, pick, tryfind, find, re…
liboz Oct 20, 2016
2f2fb4c
passing false on process next when ending.
liboz Oct 20, 2016
daf36a7
fix bug where unfold did not respect the Halted state on Result
liboz Oct 20, 2016
170751b
Made names a little less verbose
manofstick Oct 21, 2016
1dfec9f
Fixed tryPick
manofstick Oct 21, 2016
95b52a1
Fixed tryFind, similar to tryPick
manofstick Oct 21, 2016
4b1bfc1
cleaned up math functions
manofstick Oct 21, 2016
4571b0d
Just fixing some more one past the end
manofstick Oct 21, 2016
ab0dab3
more consistency
manofstick Oct 21, 2016
8398058
more consistency
manofstick Oct 21, 2016
27ce377
foreach now takes seq and calls toComposer
manofstick Oct 21, 2016
ddc334a
Made ignoring return value a bit more explicit
manofstick Oct 21, 2016
ca6433e
processNextInForeach was a bit verbose
manofstick Oct 22, 2016
7f40a23
Consolidated ForEach functionality
manofstick Oct 22, 2016
6749050
Seq.concat
manofstick Oct 22, 2016
65378ee
findIndex/tryFindIndex
liboz Oct 22, 2016
696c0d1
fix bug with Concat when there are side effects
liboz Oct 22, 2016
d3a8700
Fix a Take bug
manofstick Oct 23, 2016
1a5a64a
Seq.scan
liboz Oct 22, 2016
d5ac0b3
Seq.tryItem, tryHead, head, exactlyOne
liboz Oct 23, 2016
f47a9aa
Another take on halting index
manofstick Oct 24, 2016
25e561c
Remove mutable state in SeqComponentFactory
manofstick Oct 25, 2016
c74d0bc
Simplified use of OnComplete & OnDispose
manofstick Oct 26, 2016
9db469a
Starting to finalise namespacing and comments
manofstick Oct 26, 2016
b81f0a9
seq.comparewith
liboz Oct 27, 2016
527440c
More compact Seq.compareWith
manofstick Oct 27, 2016
cfb12f0
oops, type-o !
manofstick Oct 27, 2016
f4191dd
Minimalist exposure of factory infrastructire
manofstick Oct 29, 2016
6586aba
Renaming recommentations base on @rmunn feedback
manofstick Oct 29, 2016
4b46694
Commented strange Unchecked.default usage
manofstick Oct 29, 2016
a05dbe9
Partial move to Composer module
manofstick Oct 29, 2016
6b20dbb
Seq.item/iter2/iteri2/fold2/forall2/exists2
liboz Oct 30, 2016
261aada
Removed Helpers. qualifier
manofstick Oct 30, 2016
92d0077
Update NoNeedToTailcall.output.test.bsl for Seq mod
manofstick Oct 30, 2016
5bbb608
Adding types to try to appease test
manofstick Oct 30, 2016
5598710
seq.windowed
liboz Oct 31, 2016
81fe141
Tightening up Seq.windowed
manofstick Nov 1, 2016
d0a667f
Reduce the diff on seq.fs so that it is easier to review on GitHub
liboz Nov 4, 2016
a9d165b
Remove Helper from signature file
manofstick Nov 4, 2016
b3a7377
Update LinqAggreagates output
manofstick Nov 5, 2016
4eb712e
Modified item/tryItem to use skip
manofstick Nov 5, 2016
38d3b14
Patch up the surface area. Still subject to change.
manofstick Nov 5, 2016
01fe503
Starting the exposure of the inlinable Composer
manofstick Nov 13, 2016
7cf952b
Fix incorrect pipeIdx
manofstick Nov 16, 2016
c1df69c
Hack to stop tail calls on ICompletionChaining
manofstick Nov 17, 2016
27e5793
mapi to inline version
manofstick Nov 21, 2016
d381d6c
Basis of SeqComposer
manofstick Sep 28, 2016
dc2db66
Fixed output due to change in Seq.map
manofstick Sep 29, 2016
552021c
delayed component creation to respect mutability
manofstick Sep 29, 2016
a18d44e
Temporarily remove the ISeqEnumerable interface
manofstick Sep 29, 2016
22f4585
Fixing halting on take
manofstick Sep 29, 2016
21a0daf
Return current as match of match statement for perf
manofstick Oct 2, 2016
97e186e
renaming cleanup. Adding ListEnumerable. Adding Choose
liboz Oct 3, 2016
80a9fed
Remove unbox.any when upcasting to IEnumer(able|ator)
manofstick Oct 4, 2016
a9012ff
remove old mapi function
liboz Oct 5, 2016
a2cd9d7
skipwhile/takewhile
liboz Oct 5, 2016
3c476e6
Changes SeqComposer to build bottom-up
manofstick Oct 7, 2016
bbc5951
Remove unused member
manofstick Oct 7, 2016
885297f
Simplified ProcessNext call by creating Result object
manofstick Oct 7, 2016
7f9369a
default -> override
manofstick Oct 7, 2016
7ad1913
OptimizedClosure for mapi
manofstick Oct 8, 2016
7d8eda6
Consolidated code in base class ensuring performance
manofstick Oct 8, 2016
91a7ab5
Added ComposableEnumerableFactoryHelper
manofstick Oct 8, 2016
621bc0f
init(Infinite)? implementations
manofstick Oct 8, 2016
1241312
Split Result object in multi-leveled Signal
manofstick Oct 8, 2016
c85e5b6
Rearranged Enumerator/Enumerable pairs together
manofstick Oct 8, 2016
585d485
Fix bug in skipping an init seq
manofstick Oct 8, 2016
7444cfd
Restoring to last successful build server build
manofstick Oct 8, 2016
f7d8ca4
init/initInfinite
manofstick Oct 9, 2016
1b10b87
Bug fix; off by 1...
manofstick Oct 9, 2016
ae5ce18
Moved Enumerable/Enumerator pairs into modules
manofstick Oct 9, 2016
7094b91
map2
manofstick Oct 9, 2016
e1ed2cf
Fix OnComplete/OnDispose
manofstick Oct 9, 2016
8557239
Seq.append
manofstick Oct 10, 2016
5462206
minor perf; assume "InProcess"
manofstick Oct 10, 2016
0e0da17
Bug fix; ensure exception protocol is followed
manofstick Oct 10, 2016
dc44f6b
Seq.fold
manofstick Oct 11, 2016
69a2c71
fix typo
liboz Oct 11, 2016
b68b00b
truncate
liboz Oct 12, 2016
13a324e
using inheritance for take
liboz Oct 12, 2016
82f3404
Carry on disposing under exceptions
manofstick Oct 12, 2016
5c10559
bug fix: "truncate 0" was causing MoveNext on underlying seq
manofstick Oct 12, 2016
374304b
distinct/distinctby
liboz Oct 13, 2016
d0508b5
except
liboz Oct 13, 2016
b34f27d
indexed
liboz Oct 14, 2016
e5babc1
zip/zip3
liboz Oct 14, 2016
d7a3a10
Removed old choose function
manofstick Oct 14, 2016
363625a
localizing upto
manofstick Oct 14, 2016
c16e218
cleaning up SeqComposer.Helpers
manofstick Oct 14, 2016
8824756
Seq.map3
manofstick Oct 14, 2016
863c074
Seq.mapi2
manofstick Oct 14, 2016
ddbd185
Simplified map2
manofstick Oct 14, 2016
6640064
Seq.unfold
manofstick Oct 14, 2016
47f3f5d
Added an IdentityFactory
manofstick Oct 14, 2016
3011092
Made map2 more complex (reverted from commit ceaed6cd7cb9f842fb9b4744…
liboz Oct 15, 2016
0ac206a
fixed to removing the right null check
liboz Oct 15, 2016
8400cd0
seq.tail and a fix to takewhile to use avoidtailcall
liboz Oct 15, 2016
60a379f
Seq.ofArray
manofstick Oct 15, 2016
e9d1593
Seq.rev
manofstick Oct 15, 2016
75261c7
Added brackets to disambiguate Lazy
manofstick Oct 15, 2016
692de1a
Seq.permute
manofstick Oct 15, 2016
f389488
Seq.sort(By|With|ByDescending|Descending)?
manofstick Oct 15, 2016
6a96574
Factory helper create methods for less clutter
manofstick Oct 15, 2016
cb50fd1
Replaced Lazy<'T> with (unit->'T)
manofstick Oct 15, 2016
4ca8f14
Renamed Tail to SetResult to disambiguate
manofstick Oct 15, 2016
8a4e1cc
Added Iter
manofstick Oct 15, 2016
ac6edc3
Seq.iter & Seq.average
manofstick Oct 15, 2016
b0d9809
making identity more efficient
liboz Oct 15, 2016
37c0487
Updated NoNeedToTailcall for Seq.iter changes
manofstick Oct 15, 2016
87b5b06
Added OnComplete calls to Iter and Folds
manofstick Oct 16, 2016
b81417d
Experimental ForEach
manofstick Oct 17, 2016
3dd57da
Fixed signature file, so can now use object expression
manofstick Oct 18, 2016
9c3fda0
Provided all ForEach implementations
manofstick Oct 18, 2016
f46148f
Removed Fold
manofstick Oct 18, 2016
e6dd932
Remove Iter
manofstick Oct 18, 2016
54cc0de
sumby, average, averageby, max, maxby, min, minby
liboz Oct 19, 2016
d061236
Removed overzelous upcastSeqConsumer
manofstick Oct 19, 2016
099f9af
Appease the NoNeedToTailcall file
manofstick Oct 19, 2016
e810f4e
toComposer and implementing sum
liboz Oct 19, 2016
7853c1e
singleton identityfactory
liboz Oct 19, 2016
0c354e5
using tocomposer
liboz Oct 19, 2016
8b05b7d
implementing previously implementing seq functions using toComposer.
liboz Oct 19, 2016
308a3cb
fix bug with bool
liboz Oct 20, 2016
69fa202
Remove duplicated ISeqPipeline
manofstick Oct 20, 2016
addce47
Just a straight cast when EnumerableBase
manofstick Oct 20, 2016
79d6e71
Simplified Identity
manofstick Oct 20, 2016
519d528
Avoid creating extra ref objects
manofstick Oct 20, 2016
d08afb3
Ensuring that OnDispose is called from ForEach
manofstick Oct 20, 2016
0bb4d32
Seq.iteri, exists, contains, forall, trypick, pick, tryfind, find, re…
liboz Oct 20, 2016
d0f68a1
passing false on process next when ending.
liboz Oct 20, 2016
1524c68
fix bug where unfold did not respect the Halted state on Result
liboz Oct 20, 2016
1f0a8e0
Made names a little less verbose
manofstick Oct 21, 2016
cba0be9
Fixed tryPick
manofstick Oct 21, 2016
4ebe2de
Fixed tryFind, similar to tryPick
manofstick Oct 21, 2016
ee1e127
cleaned up math functions
manofstick Oct 21, 2016
f518f19
Just fixing some more one past the end
manofstick Oct 21, 2016
97a4552
more consistency
manofstick Oct 21, 2016
7516f7a
more consistency
manofstick Oct 21, 2016
0ce20c3
foreach now takes seq and calls toComposer
manofstick Oct 21, 2016
519dedf
Made ignoring return value a bit more explicit
manofstick Oct 21, 2016
10122b8
processNextInForeach was a bit verbose
manofstick Oct 22, 2016
045b101
Consolidated ForEach functionality
manofstick Oct 22, 2016
fc9ff3e
Seq.concat
manofstick Oct 22, 2016
8d652f6
findIndex/tryFindIndex
liboz Oct 22, 2016
0dbb721
fix bug with Concat when there are side effects
liboz Oct 22, 2016
48ab8e9
Fix a Take bug
manofstick Oct 23, 2016
553617f
Seq.scan
liboz Oct 22, 2016
f24ddc4
Seq.tryItem, tryHead, head, exactlyOne
liboz Oct 23, 2016
9908b8b
Another take on halting index
manofstick Oct 24, 2016
a8b4de9
Remove mutable state in SeqComponentFactory
manofstick Oct 25, 2016
3443b7b
Simplified use of OnComplete & OnDispose
manofstick Oct 26, 2016
6b3fb07
Starting to finalise namespacing and comments
manofstick Oct 26, 2016
a908437
seq.comparewith
liboz Oct 27, 2016
140da95
More compact Seq.compareWith
manofstick Oct 27, 2016
343fcba
oops, type-o !
manofstick Oct 27, 2016
6ddb616
Minimalist exposure of factory infrastructire
manofstick Oct 29, 2016
11c89f6
Renaming recommentations base on @rmunn feedback
manofstick Oct 29, 2016
e2864d3
Commented strange Unchecked.default usage
manofstick Oct 29, 2016
e94cda0
Partial move to Composer module
manofstick Oct 29, 2016
d997daa
Seq.item/iter2/iteri2/fold2/forall2/exists2
liboz Oct 30, 2016
d2fa4d5
Removed Helpers. qualifier
manofstick Oct 30, 2016
0c37f80
Update NoNeedToTailcall.output.test.bsl for Seq mod
manofstick Oct 30, 2016
5185589
Adding types to try to appease test
manofstick Oct 30, 2016
6312316
seq.windowed
liboz Oct 31, 2016
0457b15
Tightening up Seq.windowed
manofstick Nov 1, 2016
ffe7493
Reduce the diff on seq.fs so that it is easier to review on GitHub
liboz Nov 4, 2016
f1f4cf3
Remove Helper from signature file
manofstick Nov 4, 2016
1ca38b5
Update LinqAggreagates output
manofstick Nov 5, 2016
b7e5824
Modified item/tryItem to use skip
manofstick Nov 5, 2016
fb17055
Patch up the surface area. Still subject to change.
manofstick Nov 5, 2016
fe881fe
Starting the exposure of the inlinable Composer
manofstick Nov 13, 2016
2e03f64
Fix incorrect pipeIdx
manofstick Nov 16, 2016
0d40418
Hack to stop tail calls on ICompletionChaining
manofstick Nov 17, 2016
980059d
mapi to inline version
manofstick Nov 21, 2016
fb70bd1
Merge pull request #25 from cloudRoutine/seq-composer
manofstick Dec 7, 2016
4c56f62
inline choose
cloudRoutine Dec 7, 2016
b585a8d
convert distinct
cloudRoutine Dec 7, 2016
4e8984c
revise distinct
cloudRoutine Dec 8, 2016
5d8fa5e
hide unnecessarily exposed surface area
cloudRoutine Dec 8, 2016
017da11
inline distinctBy
cloudRoutine Dec 8, 2016
72852de
inline skipWhile
cloudRoutine Dec 8, 2016
dc18d81
inline takeWhile
cloudRoutine Dec 8, 2016
732e3d8
inline skip
cloudRoutine Dec 8, 2016
02a9c2d
inline scan
cloudRoutine Dec 8, 2016
2747dde
inline take & inline truncate
cloudRoutine Dec 8, 2016
07e61e3
inline windowed
cloudRoutine Dec 8, 2016
231a6df
inline tail
cloudRoutine Dec 8, 2016
e02bc00
pipeline formatting
cloudRoutine Dec 8, 2016
a1f1980
signature file formatting
cloudRoutine Dec 8, 2016
6a03bc1
inline except
cloudRoutine Dec 8, 2016
0fc259d
inline pairwise
cloudRoutine Dec 8, 2016
f8ecd55
Simplified OnComplete/OnDispose
manofstick Dec 10, 2016
0481aa8
remove parens
cloudRoutine Dec 13, 2016
df90d34
inline fold
cloudRoutine Dec 13, 2016
b410467
inline sum
cloudRoutine Dec 13, 2016
8ea2854
inline sumBy & inline average
cloudRoutine Dec 13, 2016
bd9334a
inline averageBy
cloudRoutine Dec 13, 2016
877eb23
inline min & inline minBy
cloudRoutine Dec 13, 2016
2f0d632
inline max & inline maxBy
cloudRoutine Dec 13, 2016
46ed3ef
inline reduce
cloudRoutine Dec 13, 2016
5726d64
inline tryFindIndex
cloudRoutine Dec 13, 2016
25f352d
inline tryLast
cloudRoutine Dec 13, 2016
6641d32
inline exactlyOne
cloudRoutine Dec 13, 2016
1b7ae5a
remove adapt variants
cloudRoutine Dec 13, 2016
ef4ed52
inline map2, inline mapi2, & inline map3
cloudRoutine Dec 14, 2016
8671ebd
inline iter2 & inline iteri2
cloudRoutine Dec 14, 2016
a7e2018
inline forall2 & inline exists2
cloudRoutine Dec 14, 2016
9bafcf3
inline fold2
cloudRoutine Dec 15, 2016
eae4f1a
add cleanup to folders
cloudRoutine Dec 15, 2016
30c3b53
and cleanup to folders
cloudRoutine Dec 15, 2016
331c223
inline compareWith
cloudRoutine Dec 15, 2016
6c4b1ae
elevate composers
cloudRoutine Dec 15, 2016
2232f44
Removed ICompletionChain
manofstick Dec 15, 2016
40dcf46
Removed unnecessary SetResult type
manofstick Dec 15, 2016
db456c6
Fix iteri2 from seq to ISeq
manofstick Dec 15, 2016
6c94417
Renaming Value to State
manofstick Dec 17, 2016
ab0fe0e
Modified Folder to contain Result
manofstick Dec 17, 2016
d3d8a37
Moved IOutOfBound into Folder
manofstick Dec 18, 2016
8649971
Added Upcast for IOutOfBand
manofstick Dec 18, 2016
92253a6
Added *Thin for when no transforms applied
manofstick Dec 18, 2016
9f91606
Moved OnComplete Dipose() to OnDispose
manofstick Dec 18, 2016
7443790
"Inline" ForEach methods
manofstick Dec 18, 2016
98e2945
Shrinking signature file
manofstick Dec 20, 2016
5c3205f
Removed foreach/compose helpers
manofstick Dec 20, 2016
48c6cab
Renamed ForEach to Fold
manofstick Dec 20, 2016
a32ca3b
Removed PipeIdx from SeqFactory
manofstick Dec 20, 2016
fcb845e
Made Fold iterators more consistent
manofstick Dec 20, 2016
1454a26
Renamed Consumer to Activity
manofstick Dec 24, 2016
2269c45
Removed errorString argument
manofstick Dec 24, 2016
d2077ff
better selection of inline function
manofstick Dec 24, 2016
e20ebac
Simplified inheritence hierarchy
manofstick Dec 24, 2016
9170469
Restored TransformWithPostProcessing hierarch
manofstick Dec 24, 2016
376492e
More renaming
manofstick Dec 26, 2016
f3c2204
Fix Skipping logic on Fold
manofstick Dec 26, 2016
47d49cf
Made "Upcast"s little safer
manofstick Dec 26, 2016
fcfcec1
Tring to make variable naming consistent
manofstick Dec 27, 2016
6061e30
Consistency work; naming, spacing
manofstick Dec 27, 2016
6a2fda4
Composer.groupBy(Ref|Val)
manofstick Dec 27, 2016
36ad648
Fixed constraint (applied on wrong argument)
manofstick Dec 28, 2016
84a107c
Added module for GroupBy
manofstick Dec 28, 2016
0b19340
Moved Array based function to Composer
manofstick Dec 28, 2016
f5461ea
ToArray via Fold
manofstick Dec 29, 2016
9d35c95
null checks handled in toComposer
manofstick Dec 29, 2016
8e5ce24
countBy
manofstick Dec 29, 2016
4b8c858
Remove comented minValBy/maxValBy
manofstick Dec 29, 2016
7831325
head/last into Composer
manofstick Dec 29, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions src/fsharp/FSharp.Core.Unittests/SurfaceArea.coreclr.fs
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,63 @@ Microsoft.FSharp.Collections.ComparisonIdentity: System.Collections.Generic.ICom
Microsoft.FSharp.Collections.ComparisonIdentity: System.Collections.Generic.IComparer`1[T] Structural[T]()
Microsoft.FSharp.Collections.ComparisonIdentity: System.String ToString()
Microsoft.FSharp.Collections.ComparisonIdentity: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Boolean ProcessNext(T)
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Void .ctor()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Void OnComplete(Int32)
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Void OnDispose()
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Boolean ProcessNext(T)
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: TResult Value
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Void .ctor(TResult)
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Void OnComplete(Int32)
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Void OnDispose()
Microsoft.FSharp.Collections.ComposerModule+Core+ICompletionChaining: Void OnComplete(Int32)
Microsoft.FSharp.Collections.ComposerModule+Core+ICompletionChaining: Void OnDispose()
Microsoft.FSharp.Collections.ComposerModule+Core+IOutOfBand: Void StopFurtherProcessing(Int32)
Microsoft.FSharp.Collections.ComposerModule+Core+ISeqFactory`2[T,TResult]: Consumer`2 Create[V](IOutOfBand, System.Nullable`1[System.Int32], Consumer`2)
Microsoft.FSharp.Collections.ComposerModule+Core+ISeqFactory`2[T,TResult]: Int32 PipeIdx
Microsoft.FSharp.Collections.ComposerModule+Core+ISeqFactory`2[T,TResult]: Int32 get_PipeIdx()
Microsoft.FSharp.Collections.ComposerModule+Core+ISeq`1[T]: ISeq`1 Compose[TResult](ISeqFactory`2)
Microsoft.FSharp.Collections.ComposerModule+Core+ISeq`1[T]: a ForEach[a](Microsoft.FSharp.Core.FSharpFunc`2[Microsoft.FSharp.Core.FSharpFunc`2[Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit],a])
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: Void .ctor(a, b)
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: a _1
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: b _2
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: Void .ctor(a, b, c)
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: a _1
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: b _2
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: c _3
Microsoft.FSharp.Collections.ComposerModule+Core: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+ICompletionChaining
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+IOutOfBand
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+ISeqFactory`2[T,TResult]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+ISeq`1[T]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]
Microsoft.FSharp.Collections.ComposerModule+Core: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule: Microsoft.FSharp.Collections.ComposerModule+Core
Microsoft.FSharp.Collections.ComposerModule: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule: System.Type GetType()
Microsoft.FSharp.Collections.FSharpList`1+Tags[T]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.FSharpList`1+Tags[T]: Int32 Cons
Microsoft.FSharp.Collections.FSharpList`1+Tags[T]: Int32 Empty
Expand Down Expand Up @@ -404,6 +461,7 @@ Microsoft.FSharp.Collections.SeqModule: Boolean Exists[T](Microsoft.FSharp.Core.
Microsoft.FSharp.Collections.SeqModule: Boolean ForAll2[T1,T2](Microsoft.FSharp.Core.FSharpFunc`2[T1,Microsoft.FSharp.Core.FSharpFunc`2[T2,System.Boolean]], System.Collections.Generic.IEnumerable`1[T1], System.Collections.Generic.IEnumerable`1[T2])
Microsoft.FSharp.Collections.SeqModule: Boolean ForAll[T](Microsoft.FSharp.Core.FSharpFunc`2[T,System.Boolean], System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: Boolean IsEmpty[T](System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: ISeq`1 ToComposer[T](System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: Int32 CompareWith[T](Microsoft.FSharp.Core.FSharpFunc`2[T,Microsoft.FSharp.Core.FSharpFunc`2[T,System.Int32]], System.Collections.Generic.IEnumerable`1[T], System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: Int32 FindIndexBack[T](Microsoft.FSharp.Core.FSharpFunc`2[T,System.Boolean], System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: Int32 FindIndex[T](Microsoft.FSharp.Core.FSharpFunc`2[T,System.Boolean], System.Collections.Generic.IEnumerable`1[T])
Expand Down
58 changes: 58 additions & 0 deletions src/fsharp/FSharp.Core.Unittests/SurfaceArea.net40.fs
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,63 @@ Microsoft.FSharp.Collections.ComparisonIdentity: System.Collections.Generic.ICom
Microsoft.FSharp.Collections.ComparisonIdentity: System.Collections.Generic.IComparer`1[T] Structural[T]()
Microsoft.FSharp.Collections.ComparisonIdentity: System.String ToString()
Microsoft.FSharp.Collections.ComparisonIdentity: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Boolean ProcessNext(T)
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Void .ctor()
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Void OnComplete(Int32)
Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]: Void OnDispose()
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Boolean ProcessNext(T)
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: TResult Value
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Void .ctor(TResult)
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Void OnComplete(Int32)
Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]: Void OnDispose()
Microsoft.FSharp.Collections.ComposerModule+Core+ICompletionChaining: Void OnComplete(Int32)
Microsoft.FSharp.Collections.ComposerModule+Core+ICompletionChaining: Void OnDispose()
Microsoft.FSharp.Collections.ComposerModule+Core+IOutOfBand: Void StopFurtherProcessing(Int32)
Microsoft.FSharp.Collections.ComposerModule+Core+ISeqFactory`2[T,TResult]: Consumer`2 Create[V](IOutOfBand, System.Nullable`1[System.Int32], Consumer`2)
Microsoft.FSharp.Collections.ComposerModule+Core+ISeqFactory`2[T,TResult]: Int32 PipeIdx
Microsoft.FSharp.Collections.ComposerModule+Core+ISeqFactory`2[T,TResult]: Int32 get_PipeIdx()
Microsoft.FSharp.Collections.ComposerModule+Core+ISeq`1[T]: ISeq`1 Compose[TResult](ISeqFactory`2)
Microsoft.FSharp.Collections.ComposerModule+Core+ISeq`1[T]: a ForEach[a](Microsoft.FSharp.Core.FSharpFunc`2[Microsoft.FSharp.Core.FSharpFunc`2[Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit],a])
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: Void .ctor(a, b)
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: a _1
Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]: b _2
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: Void .ctor(a, b, c)
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: a _1
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: b _2
Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]: c _3
Microsoft.FSharp.Collections.ComposerModule+Core: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule+Core: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+Consumer`2[T,TResult]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+Folder`2[T,TResult]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+ICompletionChaining
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+IOutOfBand
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+ISeqFactory`2[T,TResult]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+ISeq`1[T]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+Values`2[a,b]
Microsoft.FSharp.Collections.ComposerModule+Core: Microsoft.FSharp.Collections.ComposerModule+Core+Values`3[a,b,c]
Microsoft.FSharp.Collections.ComposerModule+Core: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule+Core: System.Type GetType()
Microsoft.FSharp.Collections.ComposerModule: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.ComposerModule: Int32 GetHashCode()
Microsoft.FSharp.Collections.ComposerModule: Microsoft.FSharp.Collections.ComposerModule+Core
Microsoft.FSharp.Collections.ComposerModule: System.String ToString()
Microsoft.FSharp.Collections.ComposerModule: System.Type GetType()
Microsoft.FSharp.Collections.FSharpList`1+Tags[T]: Boolean Equals(System.Object)
Microsoft.FSharp.Collections.FSharpList`1+Tags[T]: Int32 Cons
Microsoft.FSharp.Collections.FSharpList`1+Tags[T]: Int32 Empty
Expand Down Expand Up @@ -419,6 +476,7 @@ Microsoft.FSharp.Collections.SeqModule: Boolean Exists[T](Microsoft.FSharp.Core.
Microsoft.FSharp.Collections.SeqModule: Boolean ForAll2[T1,T2](Microsoft.FSharp.Core.FSharpFunc`2[T1,Microsoft.FSharp.Core.FSharpFunc`2[T2,System.Boolean]], System.Collections.Generic.IEnumerable`1[T1], System.Collections.Generic.IEnumerable`1[T2])
Microsoft.FSharp.Collections.SeqModule: Boolean ForAll[T](Microsoft.FSharp.Core.FSharpFunc`2[T,System.Boolean], System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: Boolean IsEmpty[T](System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: ISeq`1 ToComposer[T](System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: Int32 CompareWith[T](Microsoft.FSharp.Core.FSharpFunc`2[T,Microsoft.FSharp.Core.FSharpFunc`2[T,System.Int32]], System.Collections.Generic.IEnumerable`1[T], System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: Int32 FindIndexBack[T](Microsoft.FSharp.Core.FSharpFunc`2[T,System.Boolean], System.Collections.Generic.IEnumerable`1[T])
Microsoft.FSharp.Collections.SeqModule: Int32 FindIndex[T](Microsoft.FSharp.Core.FSharpFunc`2[T,System.Boolean], System.Collections.Generic.IEnumerable`1[T])
Expand Down
Loading