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

Compiling FSharp.Core for netstandard1.3 #3316

Closed
ncave opened this issue Jul 8, 2017 · 6 comments
Closed

Compiling FSharp.Core for netstandard1.3 #3316

ncave opened this issue Jul 8, 2017 · 6 comments

Comments

@ncave
Copy link
Contributor

ncave commented Jul 8, 2017

@dsyme Following on the netstandard2.0 discussion, would it be feasible or advisable to make an effort to compile FSharp.Core to lower targets like netstandard1.3 or even netstandard1.0? Just looking for options for low-profile portable FSharp.Core for projects like this.

@cartermp
Copy link
Contributor

cartermp commented Jul 8, 2017

IIRC the lowest we can go is netstandard1.5 due to our dependency on System.Reflection.BindingFlags. Unfortunately, there isn't much to gain in terms of targets between 1.5 and 1.6.

@ncave
Copy link
Contributor Author

ncave commented Jul 8, 2017

@cartermp There is FX_NO_SYSTEM_BINDINGFLAGS for that, if that's the only reason (just for that target).

@cartermp
Copy link
Contributor

cartermp commented Jul 8, 2017

Ah, we also require Exit() which is also only in 1.5 and up. This would also have to be factored out. I think the factoring needed for that FX_NO_SYSTEM_BINDINGFLAGS is also work which we don't see as that high priority, though I can't see why we wouldn't take a PR for it.

@ncave
Copy link
Contributor Author

ncave commented Jul 9, 2017

There is FX_NO_EXIT for that, but the real problem seems to be System.Linq.Queryable. Oh well.

@KevinRansom
Copy link
Member

@ncave.

This has come up several times, yes it would be nice if we could ship an FSharp.Core for netstandard 1.3. However, we can't for reasons, you and phillip have reiterated. We don't want to be in the position where we ship a plethora of FSharp.Core dll's.

We determined that a netstandard1.6 and a net45 build of fsharp.core would give us the best reach. Developers can then use nuget to select between the two based on target build. The dotnet sdk makes targeting and building multiple dll's using nuget quite easy. I believe Steffan has done a bunch of work to make a paket alternative feasible.

The main issue is what to do with FSI. FSI has always struggled with assembly resolution, Steffen and friends have been working on paket integration for FSI. It is a great approach and I am fully in favor of integrating it into FSI, but priorities have delayed me from following up on it. But it is firmly on the list of things to do.

We have a point in time problem right now. I am reluctant for us to build in hacks that do not support the goal of good paket management.

Kevin

@ncave
Copy link
Contributor Author

ncave commented Jul 10, 2017

Thanks @cartermp @KevinRansom. Closing.

@ncave ncave closed this as completed Jul 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants