-
Notifications
You must be signed in to change notification settings - Fork 783
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
[WIP] Seq Composer #1570
Commits on Nov 6, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 6e03110 - Browse repository at this point
Copy the full SHA 6e03110View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb5eb6f - Browse repository at this point
Copy the full SHA cb5eb6fView commit details -
Avoid creating extra ref objects
Using average as an example of using a tuple-like, but mutable, value type to tie the data closer together and avoid allocation.
Configuration menu - View commit details
-
Copy full SHA for bf63f41 - Browse repository at this point
Copy the full SHA bf63f41View commit details -
Configuration menu - View commit details
-
Copy full SHA for ccb32e4 - Browse repository at this point
Copy the full SHA ccb32e4View commit details -
Seq.iteri, exists, contains, forall, trypick, pick, tryfind, find, re…
…duce, last, trylast cleanup for Seq.iter, fold Also moves the functions in the seq.fsi file to be alphabetical
Configuration menu - View commit details
-
Copy full SHA for ca926d9 - Browse repository at this point
Copy the full SHA ca926d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f2fb4c - Browse repository at this point
Copy the full SHA 2f2fb4cView commit details -
Configuration menu - View commit details
-
Copy full SHA for daf36a7 - Browse repository at this point
Copy the full SHA daf36a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 170751b - Browse repository at this point
Copy the full SHA 170751bView commit details -
Processed 1 past the end of the data, as demo'd here: seq { for i = 1 to 5 do yield i failwith "boom" } |> Seq.pick (fun x -> if x = 5 then Some true else None) |> fun result -> assert result
Configuration menu - View commit details
-
Copy full SHA for 1dfec9f - Browse repository at this point
Copy the full SHA 1dfec9fView commit details -
Fixed tryFind, similar to tryPick
Error seen with seq { for i = 1 to 5 do yield i failwith "boom" } |> Seq.find (fun x -> x = 5) |> fun result -> assert (result=5)
Configuration menu - View commit details
-
Copy full SHA for 95b52a1 - Browse repository at this point
Copy the full SHA 95b52a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b1bfc1 - Browse repository at this point
Copy the full SHA 4b1bfc1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4571b0d - Browse repository at this point
Copy the full SHA 4571b0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ab0dab3 - Browse repository at this point
Copy the full SHA ab0dab3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8398058 - Browse repository at this point
Copy the full SHA 8398058View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27ce377 - Browse repository at this point
Copy the full SHA 27ce377View commit details -
Configuration menu - View commit details
-
Copy full SHA for ddc334a - Browse repository at this point
Copy the full SHA ddc334aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ca6433e - Browse repository at this point
Copy the full SHA ca6433eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f40a23 - Browse repository at this point
Copy the full SHA 7f40a23View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6749050 - Browse repository at this point
Copy the full SHA 6749050View commit details -
Configuration menu - View commit details
-
Copy full SHA for 65378ee - Browse repository at this point
Copy the full SHA 65378eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 696c0d1 - Browse repository at this point
Copy the full SHA 696c0d1View commit details -
The following caused an exception, when it shouldn't: [1;2;3] |> Seq.take 100 |> Seq.takeWhile (fun _ -> false) |> Seq.iter (fun _ -> ()) I'm not 100% happy with how I'm allocating ids, nor really with the added ceremony of the solution, but I think the idea of how to resolve is basically the right one.
Configuration menu - View commit details
-
Copy full SHA for d3a8700 - Browse repository at this point
Copy the full SHA d3a8700View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a5a64a - Browse repository at this point
Copy the full SHA 1a5a64aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d5ac0b3 - Browse repository at this point
Copy the full SHA d5ac0b3View commit details -
- Shrank public interface by removing ISeqPipeline from ForEach. - Renamed haltingIdx to pipelineDepth - Removed haltingIdx from where I could
Configuration menu - View commit details
-
Copy full SHA for f47a9aa - Browse repository at this point
Copy the full SHA f47a9aaView commit details -
Remove mutable state in SeqComponentFactory
- Changed "depth" to "idx" to better communicate the function
Configuration menu - View commit details
-
Copy full SHA for 25e561c - Browse repository at this point
Copy the full SHA 25e561cView commit details -
Simplified use of OnComplete & OnDispose
Pushed the chaining functionality into the interface and added extra methods on SeqConsumer. This means the consumer can ignore the interface and just implement their version, which means less likely to be an issue of the message not being chained correctly. It also has the advantage that in the object expressions we don't have to cast back to the base type, which was a potentital area for errors.
Configuration menu - View commit details
-
Copy full SHA for c74d0bc - Browse repository at this point
Copy the full SHA c74d0bcView commit details -
Starting to finalise namespacing and comments
Still playing around, happy for some input here...
Configuration menu - View commit details
-
Copy full SHA for 9db469a - Browse repository at this point
Copy the full SHA 9db469aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b81f0a9 - Browse repository at this point
Copy the full SHA b81f0a9View commit details -
Bit faster on 64 bit, as don't need to access the ref of e2ok
Configuration menu - View commit details
-
Copy full SHA for 527440c - Browse repository at this point
Copy the full SHA 527440cView commit details -
Configuration menu - View commit details
-
Copy full SHA for cfb12f0 - Browse repository at this point
Copy the full SHA cfb12f0View commit details -
Minimalist exposure of factory infrastructire
- made SeqEnumerable<> into an interface (ISeq<>) - made SeqComponentFactory<> into an interface (ISeqFactory<>)
Configuration menu - View commit details
-
Copy full SHA for f4191dd - Browse repository at this point
Copy the full SHA f4191ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6586aba - Browse repository at this point
Copy the full SHA 6586abaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b46694 - Browse repository at this point
Copy the full SHA 4b46694View commit details -
Partial move to Composer module
In the Composer module we use ISeq rather than seq. An end goal could be be publicly expose this module for enhanced performancy.
Configuration menu - View commit details
-
Copy full SHA for a05dbe9 - Browse repository at this point
Copy the full SHA a05dbe9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b20dbb - Browse repository at this point
Copy the full SHA 6b20dbbView commit details -
Names are unique and descriptive enough
Configuration menu - View commit details
-
Copy full SHA for 261aada - Browse repository at this point
Copy the full SHA 261aadaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 92d0077 - Browse repository at this point
Copy the full SHA 92d0077View commit details -
Adding types to try to appease test
Adding the types doesn't work. Only appearing in portable build, so pondering if it is a compiler bug? Will need to get onto someone about it I think.
Configuration menu - View commit details
-
Copy full SHA for 5bbb608 - Browse repository at this point
Copy the full SHA 5bbb608View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5598710 - Browse repository at this point
Copy the full SHA 5598710View commit details -
- removed ref vars, as can just us let mutable - renamed variables to more meaningful names - removed modulus because I can
Configuration menu - View commit details
-
Copy full SHA for 81fe141 - Browse repository at this point
Copy the full SHA 81fe141View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0a667f - Browse repository at this point
Copy the full SHA d0a667fView commit details -
Remove Helper from signature file
Probably shouldn't be exposed in that manor in the first place, but secondly they caused a error in ci_part1. Used this as a chance to rename the module as well.
Configuration menu - View commit details
-
Copy full SHA for a9d165b - Browse repository at this point
Copy the full SHA a9d165bView commit details -
Due to the change in the inline functions within Seq (i.e. sum etc.) there are significant changes within this file.
Configuration menu - View commit details
-
Copy full SHA for b3a7377 - Browse repository at this point
Copy the full SHA b3a7377View commit details -
Modified item/tryItem to use skip
Unit tests check that the item call object the lazy nature of the Seq.init
Configuration menu - View commit details
-
Copy full SHA for 4eb712e - Browse repository at this point
Copy the full SHA 4eb712eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 38d3b14 - Browse repository at this point
Copy the full SHA 38d3b14View commit details
Commits on Nov 13, 2016
-
Starting the exposure of the inlinable Composer
- Still hidden via internal module - simplified PipeIdx, no need for optional now - Made ISeqFactory an abstract class instead of interface so as not to require a stub implementation of PipeIdx in every object expression (or alternatively if the abstract class was used with the interface, then explicit declaration of the interface as well) - filter and map changed to inline versions
Configuration menu - View commit details
-
Copy full SHA for 01fe503 - Browse repository at this point
Copy the full SHA 01fe503View commit details
Commits on Nov 16, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 7cf952b - Browse repository at this point
Copy the full SHA 7cf952bView commit details
Commits on Nov 17, 2016
-
Hack to stop tail calls on ICompletionChaining
passing a reference as an argument in a funciton stops the F# compiler from outputting a tail instruction for that function. None of these functions will be significantly deep as to warrant the need for a tail call.
Configuration menu - View commit details
-
Copy full SHA for c1df69c - Browse repository at this point
Copy the full SHA c1df69cView commit details
Commits on Nov 21, 2016
-
- added a mapi_adapt version for non-inlined
Configuration menu - View commit details
-
Copy full SHA for 27e5793 - Browse repository at this point
Copy the full SHA 27e5793View commit details
Commits on Dec 7, 2016
-
- Removed all dynamic casting - Split enumerable/enumerator - Implementations of map, filter, skip, pairwise
Configuration menu - View commit details
-
Copy full SHA for d381d6c - Browse repository at this point
Copy the full SHA d381d6cView commit details -
Configuration menu - View commit details
-
Copy full SHA for dc2db66 - Browse repository at this point
Copy the full SHA dc2db66View commit details -
delayed component creation to respect mutability
- Added take, mapi - Added same exceptions for skip & take - Added composable skip & take - Added array source - Added source specific folding for functions like sum (required growing of surface area, so currently not exposed)
Configuration menu - View commit details
-
Copy full SHA for 552021c - Browse repository at this point
Copy the full SHA 552021cView commit details -
Temporarily remove the ISeqEnumerable interface
It was causing build issues as it was currently unused.
Configuration menu - View commit details
-
Copy full SHA for a18d44e - Browse repository at this point
Copy the full SHA a18d44eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 22f4585 - Browse repository at this point
Copy the full SHA 22f4585View commit details -
Return current as match of match statement for perf
*slight* performance improvement
Configuration menu - View commit details
-
Copy full SHA for 21a0daf - Browse repository at this point
Copy the full SHA 21a0dafView commit details -
Configuration menu - View commit details
-
Copy full SHA for 97e186e - Browse repository at this point
Copy the full SHA 97e186eView commit details -
Remove unbox.any when upcasting to IEnumer(able|ator)
Thanks to @liboz for reminding me of the performance hit here. This is noticeable when you have small collections to be iterated.
Configuration menu - View commit details
-
Copy full SHA for 80a9fed - Browse repository at this point
Copy the full SHA 80a9fedView commit details -
Configuration menu - View commit details
-
Copy full SHA for a9012ff - Browse repository at this point
Copy the full SHA a9012ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for a2cd9d7 - Browse repository at this point
Copy the full SHA a2cd9d7View commit details -
Changes SeqComposer to build bottom-up
A more direct calling process. Slows things down *slightly* when only a single item is being processed, but is a better model to build from going forward.
Configuration menu - View commit details
-
Copy full SHA for 3c476e6 - Browse repository at this point
Copy the full SHA 3c476e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbc5951 - Browse repository at this point
Copy the full SHA bbc5951View commit details -
Simplified ProcessNext call by creating Result object
Due to the bottom-up build process I now have a consistent output signature, which allowed it to be wrapped in an single object rather than being passed up and down the chain of ProcessNext calls.
Configuration menu - View commit details
-
Copy full SHA for 885297f - Browse repository at this point
Copy the full SHA 885297fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f9369a - Browse repository at this point
Copy the full SHA 7f9369aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ad1913 - Browse repository at this point
Copy the full SHA 7ad1913View commit details -
Consolidated code in base class ensuring performance
Retained MoveNext in derived class to ensure we didn't add an extra virtual call into the call stack.
Configuration menu - View commit details
-
Copy full SHA for 7d8eda6 - Browse repository at this point
Copy the full SHA 7d8eda6View commit details -
Added ComposableEnumerableFactoryHelper
Sweeping up common functionality
Configuration menu - View commit details
-
Copy full SHA for 91a7ab5 - Browse repository at this point
Copy the full SHA 91a7ab5View commit details -
init(Infinite)? implementations
Not as simple as it should be due to the original implementation deciding to evaluate Current in a lazy fashion. Comments have been splattered around hopefully describing the situation in enough detail.
Configuration menu - View commit details
-
Copy full SHA for 621bc0f - Browse repository at this point
Copy the full SHA 621bc0fView commit details -
Split Result object in multi-leveled Signal
The plan is to then implement fold like functionality in a Tail like object that we can expose out in a public interface, so I'm trying to minimize what would be needed to be visible externally.
Configuration menu - View commit details
-
Copy full SHA for 1241312 - Browse repository at this point
Copy the full SHA 1241312View commit details -
Configuration menu - View commit details
-
Copy full SHA for c85e5b6 - Browse repository at this point
Copy the full SHA c85e5b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 585d485 - Browse repository at this point
Copy the full SHA 585d485View commit details -
Restoring to last successful build server build
I probably don't have any more time today to bug issues
Configuration menu - View commit details
-
Copy full SHA for 7444cfd - Browse repository at this point
Copy the full SHA 7444cfdView commit details -
Try again, without any other clutter
Configuration menu - View commit details
-
Copy full SHA for f7d8ca4 - Browse repository at this point
Copy the full SHA f7d8ca4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1b10b87 - Browse repository at this point
Copy the full SHA 1b10b87View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae5ce18 - Browse repository at this point
Copy the full SHA ae5ce18View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7094b91 - Browse repository at this point
Copy the full SHA 7094b91View commit details -
Hmmm... not 100% happy with this because it requires all links in the chain to ensure that that follow the protocol, but it isn't too bad I guess...
Configuration menu - View commit details
-
Copy full SHA for e1ed2cf - Browse repository at this point
Copy the full SHA e1ed2cfView commit details -
This implemention performs vastly better than the previous implementation, which appeared to be more interested in being theoretically important than actually being a reasonable implementation. Anyway, the previous version blew up with stack overflow if you appended too many things, which the new version doesn't.
Configuration menu - View commit details
-
Copy full SHA for 8557239 - Browse repository at this point
Copy the full SHA 8557239View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5462206 - Browse repository at this point
Copy the full SHA 5462206View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e0da17 - Browse repository at this point
Copy the full SHA 0e0da17View commit details -
Configuration menu - View commit details
-
Copy full SHA for dc44f6b - Browse repository at this point
Copy the full SHA dc44f6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 69a2c71 - Browse repository at this point
Copy the full SHA 69a2c71View commit details -
Configuration menu - View commit details
-
Copy full SHA for b68b00b - Browse repository at this point
Copy the full SHA b68b00bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 13a324e - Browse repository at this point
Copy the full SHA 13a324eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 82f3404 - Browse repository at this point
Copy the full SHA 82f3404View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c10559 - Browse repository at this point
Copy the full SHA 5c10559View commit details -
Configuration menu - View commit details
-
Copy full SHA for 374304b - Browse repository at this point
Copy the full SHA 374304bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d0508b5 - Browse repository at this point
Copy the full SHA d0508b5View commit details -
Configuration menu - View commit details
-
Copy full SHA for b34f27d - Browse repository at this point
Copy the full SHA b34f27dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e5babc1 - Browse repository at this point
Copy the full SHA e5babc1View commit details -
Configuration menu - View commit details
-
Copy full SHA for d7a3a10 - Browse repository at this point
Copy the full SHA d7a3a10View commit details -
This is retained for compatibility
Configuration menu - View commit details
-
Copy full SHA for 363625a - Browse repository at this point
Copy the full SHA 363625aView commit details -
cleaning up SeqComposer.Helpers
- better comments - consistent casing
Configuration menu - View commit details
-
Copy full SHA for c16e218 - Browse repository at this point
Copy the full SHA c16e218View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8824756 - Browse repository at this point
Copy the full SHA 8824756View commit details -
Configuration menu - View commit details
-
Copy full SHA for 863c074 - Browse repository at this point
Copy the full SHA 863c074View commit details -
- removing the check of both types
Configuration menu - View commit details
-
Copy full SHA for ddbd185 - Browse repository at this point
Copy the full SHA ddbd185View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6640064 - Browse repository at this point
Copy the full SHA 6640064View commit details -
Identity can be used to wrap basic containers into SeqComposer compatible types, but can safely be removed when composing the components.
Configuration menu - View commit details
-
Copy full SHA for 47f3f5d - Browse repository at this point
Copy the full SHA 47f3f5dView commit details -
Made map2 more complex (reverted from commit ceaed6c)
Also removed some extra null checks
Configuration menu - View commit details
-
Copy full SHA for 3011092 - Browse repository at this point
Copy the full SHA 3011092View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ac206a - Browse repository at this point
Copy the full SHA 0ac206aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8400cd0 - Browse repository at this point
Copy the full SHA 8400cd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 60a379f - Browse repository at this point
Copy the full SHA 60a379fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e9d1593 - Browse repository at this point
Copy the full SHA e9d1593View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75261c7 - Browse repository at this point
Copy the full SHA 75261c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 692de1a - Browse repository at this point
Copy the full SHA 692de1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for f389488 - Browse repository at this point
Copy the full SHA f389488View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a96574 - Browse repository at this point
Copy the full SHA 6a96574View commit details -
Replaced Lazy<'T> with (unit->'T)
The use of lazy changed the seq's funcitonality, as it would have only been calculated once, even if the sequence was iterated again.
Configuration menu - View commit details
-
Copy full SHA for cb50fd1 - Browse repository at this point
Copy the full SHA cb50fd1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ca8f14 - Browse repository at this point
Copy the full SHA 4ca8f14View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a4e1cc - Browse repository at this point
Copy the full SHA 8a4e1ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for ac6edc3 - Browse repository at this point
Copy the full SHA ac6edc3View commit details -
Configuration menu - View commit details
-
Copy full SHA for b0d9809 - Browse repository at this point
Copy the full SHA b0d9809View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37c0487 - Browse repository at this point
Copy the full SHA 37c0487View commit details -
Configuration menu - View commit details
-
Copy full SHA for 87b5b06 - Browse repository at this point
Copy the full SHA 87b5b06View commit details -
Currently this is only implemented on Array. This adds some public surface to the SeqComposer which may be removed.
Configuration menu - View commit details
-
Copy full SHA for b81417d - Browse repository at this point
Copy the full SHA b81417dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3dd57da - Browse repository at this point
Copy the full SHA 3dd57daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c3fda0 - Browse repository at this point
Copy the full SHA 9c3fda0View commit details -
Configuration menu - View commit details
-
Copy full SHA for f46148f - Browse repository at this point
Copy the full SHA f46148fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e6dd932 - Browse repository at this point
Copy the full SHA e6dd932View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54cc0de - Browse repository at this point
Copy the full SHA 54cc0deView commit details -
Removed overzelous upcastSeqConsumer
PE verify says no.
Configuration menu - View commit details
-
Copy full SHA for d061236 - Browse repository at this point
Copy the full SHA d061236View commit details -
Configuration menu - View commit details
-
Copy full SHA for 099f9af - Browse repository at this point
Copy the full SHA 099f9afView commit details -
Configuration menu - View commit details
-
Copy full SHA for e810f4e - Browse repository at this point
Copy the full SHA e810f4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7853c1e - Browse repository at this point
Copy the full SHA 7853c1eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c354e5 - Browse repository at this point
Copy the full SHA 0c354e5View commit details -
implementing previously implementing seq functions using toComposer.
Also fixes a bug with the boolean checking first
Configuration menu - View commit details
-
Copy full SHA for 8b05b7d - Browse repository at this point
Copy the full SHA 8b05b7dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 308a3cb - Browse repository at this point
Copy the full SHA 308a3cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 69fa202 - Browse repository at this point
Copy the full SHA 69fa202View commit details -
Configuration menu - View commit details
-
Copy full SHA for addce47 - Browse repository at this point
Copy the full SHA addce47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 79d6e71 - Browse repository at this point
Copy the full SHA 79d6e71View commit details -
Avoid creating extra ref objects
Using average as an example of using a tuple-like, but mutable, value type to tie the data closer together and avoid allocation.
Configuration menu - View commit details
-
Copy full SHA for 519d528 - Browse repository at this point
Copy the full SHA 519d528View commit details -
Configuration menu - View commit details
-
Copy full SHA for d08afb3 - Browse repository at this point
Copy the full SHA d08afb3View commit details -
Seq.iteri, exists, contains, forall, trypick, pick, tryfind, find, re…
…duce, last, trylast cleanup for Seq.iter, fold Also moves the functions in the seq.fsi file to be alphabetical
Configuration menu - View commit details
-
Copy full SHA for 0bb4d32 - Browse repository at this point
Copy the full SHA 0bb4d32View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0f68a1 - Browse repository at this point
Copy the full SHA d0f68a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1524c68 - Browse repository at this point
Copy the full SHA 1524c68View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f0a8e0 - Browse repository at this point
Copy the full SHA 1f0a8e0View commit details -
Processed 1 past the end of the data, as demo'd here: seq { for i = 1 to 5 do yield i failwith "boom" } |> Seq.pick (fun x -> if x = 5 then Some true else None) |> fun result -> assert result
Configuration menu - View commit details
-
Copy full SHA for cba0be9 - Browse repository at this point
Copy the full SHA cba0be9View commit details -
Fixed tryFind, similar to tryPick
Error seen with seq { for i = 1 to 5 do yield i failwith "boom" } |> Seq.find (fun x -> x = 5) |> fun result -> assert (result=5)
Configuration menu - View commit details
-
Copy full SHA for 4ebe2de - Browse repository at this point
Copy the full SHA 4ebe2deView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee1e127 - Browse repository at this point
Copy the full SHA ee1e127View commit details -
Configuration menu - View commit details
-
Copy full SHA for f518f19 - Browse repository at this point
Copy the full SHA f518f19View commit details -
Configuration menu - View commit details
-
Copy full SHA for 97a4552 - Browse repository at this point
Copy the full SHA 97a4552View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7516f7a - Browse repository at this point
Copy the full SHA 7516f7aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ce20c3 - Browse repository at this point
Copy the full SHA 0ce20c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 519dedf - Browse repository at this point
Copy the full SHA 519dedfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 10122b8 - Browse repository at this point
Copy the full SHA 10122b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 045b101 - Browse repository at this point
Copy the full SHA 045b101View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc9ff3e - Browse repository at this point
Copy the full SHA fc9ff3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d652f6 - Browse repository at this point
Copy the full SHA 8d652f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0dbb721 - Browse repository at this point
Copy the full SHA 0dbb721View commit details -
The following caused an exception, when it shouldn't: [1;2;3] |> Seq.take 100 |> Seq.takeWhile (fun _ -> false) |> Seq.iter (fun _ -> ()) I'm not 100% happy with how I'm allocating ids, nor really with the added ceremony of the solution, but I think the idea of how to resolve is basically the right one.
Configuration menu - View commit details
-
Copy full SHA for 48ab8e9 - Browse repository at this point
Copy the full SHA 48ab8e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 553617f - Browse repository at this point
Copy the full SHA 553617fView commit details -
Configuration menu - View commit details
-
Copy full SHA for f24ddc4 - Browse repository at this point
Copy the full SHA f24ddc4View commit details -
- Shrank public interface by removing ISeqPipeline from ForEach. - Renamed haltingIdx to pipelineDepth - Removed haltingIdx from where I could
Configuration menu - View commit details
-
Copy full SHA for 9908b8b - Browse repository at this point
Copy the full SHA 9908b8bView commit details -
Remove mutable state in SeqComponentFactory
- Changed "depth" to "idx" to better communicate the function
Configuration menu - View commit details
-
Copy full SHA for a8b4de9 - Browse repository at this point
Copy the full SHA a8b4de9View commit details -
Simplified use of OnComplete & OnDispose
Pushed the chaining functionality into the interface and added extra methods on SeqConsumer. This means the consumer can ignore the interface and just implement their version, which means less likely to be an issue of the message not being chained correctly. It also has the advantage that in the object expressions we don't have to cast back to the base type, which was a potentital area for errors.
Configuration menu - View commit details
-
Copy full SHA for 3443b7b - Browse repository at this point
Copy the full SHA 3443b7bView commit details -
Starting to finalise namespacing and comments
Still playing around, happy for some input here...
Configuration menu - View commit details
-
Copy full SHA for 6b3fb07 - Browse repository at this point
Copy the full SHA 6b3fb07View commit details -
Configuration menu - View commit details
-
Copy full SHA for a908437 - Browse repository at this point
Copy the full SHA a908437View commit details -
Bit faster on 64 bit, as don't need to access the ref of e2ok
Configuration menu - View commit details
-
Copy full SHA for 140da95 - Browse repository at this point
Copy the full SHA 140da95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 343fcba - Browse repository at this point
Copy the full SHA 343fcbaView commit details -
Minimalist exposure of factory infrastructire
- made SeqEnumerable<> into an interface (ISeq<>) - made SeqComponentFactory<> into an interface (ISeqFactory<>)
Configuration menu - View commit details
-
Copy full SHA for 6ddb616 - Browse repository at this point
Copy the full SHA 6ddb616View commit details -
Configuration menu - View commit details
-
Copy full SHA for 11c89f6 - Browse repository at this point
Copy the full SHA 11c89f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for e2864d3 - Browse repository at this point
Copy the full SHA e2864d3View commit details -
Partial move to Composer module
In the Composer module we use ISeq rather than seq. An end goal could be be publicly expose this module for enhanced performancy.
Configuration menu - View commit details
-
Copy full SHA for e94cda0 - Browse repository at this point
Copy the full SHA e94cda0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d997daa - Browse repository at this point
Copy the full SHA d997daaView commit details -
Names are unique and descriptive enough
Configuration menu - View commit details
-
Copy full SHA for d2fa4d5 - Browse repository at this point
Copy the full SHA d2fa4d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c37f80 - Browse repository at this point
Copy the full SHA 0c37f80View commit details -
Adding types to try to appease test
Adding the types doesn't work. Only appearing in portable build, so pondering if it is a compiler bug? Will need to get onto someone about it I think.
Configuration menu - View commit details
-
Copy full SHA for 5185589 - Browse repository at this point
Copy the full SHA 5185589View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6312316 - Browse repository at this point
Copy the full SHA 6312316View commit details -
- removed ref vars, as can just us let mutable - renamed variables to more meaningful names - removed modulus because I can
Configuration menu - View commit details
-
Copy full SHA for 0457b15 - Browse repository at this point
Copy the full SHA 0457b15View commit details -
Configuration menu - View commit details
-
Copy full SHA for ffe7493 - Browse repository at this point
Copy the full SHA ffe7493View commit details -
Remove Helper from signature file
Probably shouldn't be exposed in that manor in the first place, but secondly they caused a error in ci_part1. Used this as a chance to rename the module as well.
Configuration menu - View commit details
-
Copy full SHA for f1f4cf3 - Browse repository at this point
Copy the full SHA f1f4cf3View commit details -
Due to the change in the inline functions within Seq (i.e. sum etc.) there are significant changes within this file.
Configuration menu - View commit details
-
Copy full SHA for 1ca38b5 - Browse repository at this point
Copy the full SHA 1ca38b5View commit details -
Modified item/tryItem to use skip
Unit tests check that the item call object the lazy nature of the Seq.init
Configuration menu - View commit details
-
Copy full SHA for b7e5824 - Browse repository at this point
Copy the full SHA b7e5824View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb17055 - Browse repository at this point
Copy the full SHA fb17055View commit details -
Starting the exposure of the inlinable Composer
- Still hidden via internal module - simplified PipeIdx, no need for optional now - Made ISeqFactory an abstract class instead of interface so as not to require a stub implementation of PipeIdx in every object expression (or alternatively if the abstract class was used with the interface, then explicit declaration of the interface as well) - filter and map changed to inline versions
Configuration menu - View commit details
-
Copy full SHA for fe881fe - Browse repository at this point
Copy the full SHA fe881feView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e03f64 - Browse repository at this point
Copy the full SHA 2e03f64View commit details -
Hack to stop tail calls on ICompletionChaining
passing a reference as an argument in a funciton stops the F# compiler from outputting a tail instruction for that function. None of these functions will be significantly deep as to warrant the need for a tail call.
Configuration menu - View commit details
-
Copy full SHA for 0d40418 - Browse repository at this point
Copy the full SHA 0d40418View commit details -
- added a mapi_adapt version for non-inlined
Configuration menu - View commit details
-
Copy full SHA for 980059d - Browse repository at this point
Copy the full SHA 980059dView commit details -
Merge pull request #25 from cloudRoutine/seq-composer
Rebase Seq composer onto Master
Configuration menu - View commit details
-
Copy full SHA for fb70bd1 - Browse repository at this point
Copy the full SHA fb70bd1View commit details
Commits on Dec 8, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 4c56f62 - Browse repository at this point
Copy the full SHA 4c56f62View commit details -
Configuration menu - View commit details
-
Copy full SHA for b585a8d - Browse repository at this point
Copy the full SHA b585a8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e8984c - Browse repository at this point
Copy the full SHA 4e8984cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d8fa5e - Browse repository at this point
Copy the full SHA 5d8fa5eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 017da11 - Browse repository at this point
Copy the full SHA 017da11View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72852de - Browse repository at this point
Copy the full SHA 72852deView commit details -
Configuration menu - View commit details
-
Copy full SHA for dc18d81 - Browse repository at this point
Copy the full SHA dc18d81View commit details -
Configuration menu - View commit details
-
Copy full SHA for 732e3d8 - Browse repository at this point
Copy the full SHA 732e3d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 02a9c2d - Browse repository at this point
Copy the full SHA 02a9c2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2747dde - Browse repository at this point
Copy the full SHA 2747ddeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 07e61e3 - Browse repository at this point
Copy the full SHA 07e61e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 231a6df - Browse repository at this point
Copy the full SHA 231a6dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for e02bc00 - Browse repository at this point
Copy the full SHA e02bc00View commit details -
Configuration menu - View commit details
-
Copy full SHA for a1f1980 - Browse repository at this point
Copy the full SHA a1f1980View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a03bc1 - Browse repository at this point
Copy the full SHA 6a03bc1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0fc259d - Browse repository at this point
Copy the full SHA 0fc259dView commit details
Commits on Dec 10, 2016
-
Simplified OnComplete/OnDispose
- Removed Default implementations - Renamed methods on ICompletionChain - Simplied defined hierarch make choosing correct level to implement easier
Configuration menu - View commit details
-
Copy full SHA for f8ecd55 - Browse repository at this point
Copy the full SHA f8ecd55View commit details
Commits on Dec 15, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 0481aa8 - Browse repository at this point
Copy the full SHA 0481aa8View commit details -
Configuration menu - View commit details
-
Copy full SHA for df90d34 - Browse repository at this point
Copy the full SHA df90d34View commit details -
Configuration menu - View commit details
-
Copy full SHA for b410467 - Browse repository at this point
Copy the full SHA b410467View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8ea2854 - Browse repository at this point
Copy the full SHA 8ea2854View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd9334a - Browse repository at this point
Copy the full SHA bd9334aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 877eb23 - Browse repository at this point
Copy the full SHA 877eb23View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f0d632 - Browse repository at this point
Copy the full SHA 2f0d632View commit details -
Configuration menu - View commit details
-
Copy full SHA for 46ed3ef - Browse repository at this point
Copy the full SHA 46ed3efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5726d64 - Browse repository at this point
Copy the full SHA 5726d64View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25f352d - Browse repository at this point
Copy the full SHA 25f352dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6641d32 - Browse repository at this point
Copy the full SHA 6641d32View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1b7ae5a - Browse repository at this point
Copy the full SHA 1b7ae5aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ef4ed52 - Browse repository at this point
Copy the full SHA ef4ed52View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8671ebd - Browse repository at this point
Copy the full SHA 8671ebdView commit details -
Configuration menu - View commit details
-
Copy full SHA for a7e2018 - Browse repository at this point
Copy the full SHA a7e2018View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9bafcf3 - Browse repository at this point
Copy the full SHA 9bafcf3View commit details -
Configuration menu - View commit details
-
Copy full SHA for eae4f1a - Browse repository at this point
Copy the full SHA eae4f1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 30c3b53 - Browse repository at this point
Copy the full SHA 30c3b53View commit details -
Configuration menu - View commit details
-
Copy full SHA for 331c223 - Browse repository at this point
Copy the full SHA 331c223View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c4b1ae - Browse repository at this point
Copy the full SHA 6c4b1aeView commit details -
Just made it into a abstract class at the top of the hierarchy
Configuration menu - View commit details
-
Copy full SHA for 2232f44 - Browse repository at this point
Copy the full SHA 2232f44View commit details -
Removed unnecessary SetResult type
Wrapped it's functionality into Result type
Configuration menu - View commit details
-
Copy full SHA for 40dcf46 - Browse repository at this point
Copy the full SHA 40dcf46View commit details -
Configuration menu - View commit details
-
Copy full SHA for db456c6 - Browse repository at this point
Copy the full SHA db456c6View commit details
Commits on Dec 17, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 6c94417 - Browse repository at this point
Copy the full SHA 6c94417View commit details -
Modified Folder to contain Result
- This simplified foreach to allow for some further optimizations
Configuration menu - View commit details
-
Copy full SHA for ab0fe0e - Browse repository at this point
Copy the full SHA ab0fe0eView commit details
Commits on Dec 18, 2016
-
- Avoid creating extra object - foreach implementations call StopFutureProcessing directly
Configuration menu - View commit details
-
Copy full SHA for d3d8a37 - Browse repository at this point
Copy the full SHA d3d8a37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8649971 - Browse repository at this point
Copy the full SHA 8649971View commit details -
Configuration menu - View commit details
-
Copy full SHA for 92253a6 - Browse repository at this point
Copy the full SHA 92253a6View commit details -
Moved OnComplete Dipose() to OnDispose
- fixed some consistency around member & override
Configuration menu - View commit details
-
Copy full SHA for 9f91606 - Browse repository at this point
Copy the full SHA 9f91606View commit details -
- via struct interface (i.e. inline at runtime) - basically speed parity for sum
Configuration menu - View commit details
-
Copy full SHA for 7443790 - Browse repository at this point
Copy the full SHA 7443790View commit details
Commits on Dec 20, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 98e2945 - Browse repository at this point
Copy the full SHA 98e2945View commit details -
Removed foreach/compose helpers
- the didn't really serve any purpose
Configuration menu - View commit details
-
Copy full SHA for 5c3205f - Browse repository at this point
Copy the full SHA 5c3205fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 48c6cab - Browse repository at this point
Copy the full SHA 48c6cabView commit details -
Removed PipeIdx from SeqFactory
- Made management of it part of the ISeq classes - Removed internal Build function as well
Configuration menu - View commit details
-
Copy full SHA for a32ca3b - Browse repository at this point
Copy the full SHA a32ca3bView commit details -
Configuration menu - View commit details
-
Copy full SHA for fcb845e - Browse repository at this point
Copy the full SHA fcb845eView commit details
Commits on Dec 24, 2016
-
- didn't really consume anything - removed helper classes to slightly decrease surface area
Configuration menu - View commit details
-
Copy full SHA for 1454a26 - Browse repository at this point
Copy the full SHA 1454a26View commit details -
- Moved SR.GetString code into Composer
Configuration menu - View commit details
-
Copy full SHA for 2269c45 - Browse repository at this point
Copy the full SHA 2269c45View commit details -
Configuration menu - View commit details
-
Copy full SHA for d2077ff - Browse repository at this point
Copy the full SHA d2077ffView commit details -
Simplified inheritence hierarchy
- and finally decided to just go with Transform as the general name for processing
Configuration menu - View commit details
-
Copy full SHA for e20ebac - Browse repository at this point
Copy the full SHA e20ebacView commit details -
Restored TransformWithPostProcessing hierarch
- For symmetry with Folder - Fixed a spelling error
Configuration menu - View commit details
-
Copy full SHA for 9170469 - Browse repository at this point
Copy the full SHA 9170469View commit details
Commits on Dec 26, 2016
-
- SeqFactory to TransformFactory - Compose to PushTransform - Create to Compose
Configuration menu - View commit details
-
Copy full SHA for 376492e - Browse repository at this point
Copy the full SHA 376492eView commit details -
- And removed unbox cast for performance
Configuration menu - View commit details
-
Copy full SHA for f3c2204 - Browse repository at this point
Copy the full SHA f3c2204View commit details -
Configuration menu - View commit details
-
Copy full SHA for 47d49cf - Browse repository at this point
Copy the full SHA 47d49cfView commit details
Commits on Dec 27, 2016
-
Configuration menu - View commit details
-
Copy full SHA for fcfcec1 - Browse repository at this point
Copy the full SHA fcfcec1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6061e30 - Browse repository at this point
Copy the full SHA 6061e30View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a2fda4 - Browse repository at this point
Copy the full SHA 6a2fda4View commit details
Commits on Dec 28, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 36ad648 - Browse repository at this point
Copy the full SHA 36ad648View commit details -
- also renamed delayed as delay to match seq
Configuration menu - View commit details
-
Copy full SHA for 84a107c - Browse repository at this point
Copy the full SHA 84a107cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b19340 - Browse repository at this point
Copy the full SHA 0b19340View commit details
Commits on Dec 29, 2016
-
- and moved creating Value comparer to a helper function
Configuration menu - View commit details
-
Copy full SHA for f5461ea - Browse repository at this point
Copy the full SHA f5461eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d35c95 - Browse repository at this point
Copy the full SHA 9d35c95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e5ce24 - Browse repository at this point
Copy the full SHA 8e5ce24View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b8c858 - Browse repository at this point
Copy the full SHA 4b8c858View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7831325 - Browse repository at this point
Copy the full SHA 7831325View commit details