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

Refactor F# core into at least two assemblies. #17496

Open
KevinRansom opened this issue Aug 6, 2024 · 0 comments
Open

Refactor F# core into at least two assemblies. #17496

KevinRansom opened this issue Aug 6, 2024 · 0 comments
Labels
Area-Library Issues for FSharp.Core not covered elsewhere Feature Request
Milestone

Comments

@KevinRansom
Copy link
Member

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

Renames the config setting compilingFSharpCore to compilingCoreLibrary
Eliminate compiler reliance on ExtraTopLevelOperators modules, because it pulls types from all over FSharp.Core

Add ExtraTopLevelOperators to Operators and Operators.Checked
Tests for added Operators and Operators.Checked
Hides ExtraTopLevelOperators for moved operations from intellisense
Move dict and set implementations to Collections namespace
Move Printf
Move DefaultAsyncBuilder
Move Measures
Ensure Compiler only uses the above from their new locations

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Library Issues for FSharp.Core not covered elsewhere Feature Request
Projects
Status: New
Development

No branches or pull requests

2 participants