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

Allow all declarations to be mutually referential and the compiler takes files in any order #7

Closed
baronfel opened this issue Oct 20, 2016 · 3 comments

Comments

@baronfel
Copy link
Contributor

baronfel commented Oct 20, 2016

Submitted by Kevin Ransom on 10/19/2015 12:00:00 AM
39 votes on UserVoice prior to migration

With F# becoming more and more multi-editor and cross-platform, it is becoming increasingly difficult to teach all build/edit tools about F#'s file order. The F# community are currently struggling to "update" each new build/edit tool to understand that F# actually needs a file order.

Part of the problem is that there is no standard textual way to specify this file order except as command line arguments, and these are not stored in an editable form. There is no standard way to specify the F# file order. We need an (optional) solution to this problem that is closer to home and doesn't involve modifying build/edit tools.

This proposal is one of three alternatives to deal with this problem in the F# language/compiler itself.
The specific proposal covered by this UV entry is to just change F# to use no file order at all, allowing all declarations in an assembly to be mutually referential with other declarations.

Related alternative:

  • Keep a file order, but infer it from #load/#require declarations.
  • Keep a file order, but optionally have it specified by a fileorder.fsx or fileorder.txt or fileorder.json:

Original UserVoice Submission
Archived Uservoice Comments

@JeroMiya
Copy link

Of the three proposals, the explicit import/require proposal has the most potential. I don't think this proposal is possible.

@FunctionalFirst
Copy link

FunctionalFirst commented Mar 11, 2022

Dependency file order is F#'s single most valuable feature for large projects.

@dsyme
Copy link
Collaborator

dsyme commented Jan 9, 2023

Closing this as we won't be doing this direction

@dsyme dsyme closed this as completed Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants