fsharp
fsharp copied to clipboard
Rework some F# layering
I intend to try to refactor F# core into at least two assemblies.
- fscorlib --- Core types supporting runtime scenarios
- FSharp.Core --- Types supporting runtime and compilation scenarios
The benefit of this is that we can build a platform specific fscorlib.dll and deploy it with each new runtime, so we can start to use new runtime features in our core library. I have no idea how successful this will be whilst retaining compatibility, but I really want to give it a solid try.
This PR
- [x] Renames the config setting compilingFSharpCore to compilingCoreLibrary
Eliminate compiler reliance on ExtraTopLevelOperators modules, because it pulls types from all over FSharp.Core
- [x] Add ExtraTopLevelOperators to Operators and Operators.Checked
- [x] Tests for added Operators and Operators.Checked
- [x] Hides ExtraTopLevelOperators for moved operations from intellisense
- [ ] Move dict and set implementations to Collections namespace
- [ ] Move Printf
- [x] Move DefaultAsyncBuilder
- [ ] Move Measures
- [ ] Ensure Compiler only uses the above from their new locations