Comments (4)
@alexandrehtrb Please do not forget that in C# order of files does not matter while in F# it does. So by specifying files in fsproj you're not only including those into compilation, you're also indicating compiler which file ordering is proper/expected.
from fsharp.
Hey, @alexandrehtrb.
Currently, this is the design of the compiler and language, requirement even.
There are no current plans to change that, as it will require a major compiler and typechecker architecture change (and will likely be major performance hit).
We might reevaluate it in future.
from fsharp.
Welcome @alexandrehtrb, you may be interested by this article:
https://fsharpforfunandprofit.com/posts/recipe-part3/
and other things that mandate it remains the same, or at least, make it less practical, to envision a world where F# does not have mandatory file ordering; for the time being.
I don't think it is a blocker for people doing C# to learn F#; with this rhetoric, we can create infinity of good reasons not to learn/use F# (goes same for C#, etc.).
Everyone goes over the hump, I also was irked a bit, but it was due to pre conditionning of 1 class per file for so many years.
I live happier with less files, shorter lines, more expressive and correct code, and code having topological and semantical ordering.
You may read on fsharp/fslang-suggestions#309 (comment) and discuss suggestions to extend F# in relation to what you are bringing.
from fsharp.
If you are using Visual Studio, when you add a new .fs file, it is automatically added to the project's .fsproj. However, if you are using other editors like VS Code, it isn't, and without adding to fsproj, it won't get compiled.
In VS Code / Ionide, you have a context menu in the solution explorer where you can "Add file above" / "Add file below". These commands automatically update the fsproj file.
from fsharp.
Related Issues (20)
- [Automated] PRs inserted in VS build feature.debugger.main-35228.301
- Tooltip suggestion - show "allow ref struct" for typars of external types and methods
- Investigate why `IsMethod` and `IsProperty` don't act as expected for generated methods/properties
- No intellisense error or meaningful errormessage on Seq.iter build error. HOT 2
- Tests are broken in main in FSharp.Compiler.Service solution HOT 4
- Nullness issue - tooling - turning on <Nullable>enable</> removes detailed API descriptions in tooltips
- Ability to dump current interactive session to a file HOT 3
- Revert workaround - https://github.com/dotnet/fsharp/pull/15982 HOT 2
- `sprintf "%b" bool` causes AOT failure
- Runtime have a mutrec codegeneration issue. --- est failure: JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd
- [Automated] PRs inserted in VS build main-35310.33
- Symbol check fails in VS insertions
- Visual F# Go to definition from Source Link HOT 1
- error FS0192 : internal error : Length of Nullable metadata and needs of its processing do not match: { Data = [|0uy; 1uy|] Idx = 2 } HOT 2
- [Automated] PRs inserted in VS build main-35311.19
- Array comprehension no longer compiles on rc1 HOT 7
- Sourcebuild stage 2 --- build error HOT 1
- `InvalidProgramException` on string interpolation HOT 3
- Nullness issue - Bar trivia in SynType.WithNull
- Nullness issue - trivia for SynTypeConstraint.WhereTyparNotSupportsNull
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fsharp.