You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Consolidate lots of info
* Add a quickstart so folks don't need to open the devguide for basic build/dev
* Remove lots of info that isn't about this repository at all
# The F# Language, Library, and Visual F# Tools Repository
1
+
# The F# Language, Library, and F# Tools for Visual Studio
2
2
3
-
You are invited to help produce future releases of the F# language compiler, library, and tools. This repository enables development on Linux, macOS and Windows, along with some automated CI testing for these.
3
+
You are invited to contrinute tp future releases of the F# language compiler, library, and tools. Development of this repository can be done anywhere [.NET Core]() is supported: various Linux distributions, macOS, and Windows.
4
4
5
-
*[About F#](http://fsharp.org)
6
-
*[Testimonials](http://fsharp.org/testimonials)
7
-
*[Contributing](#contributing)
8
-
*[Using](#using)
5
+
## About F#
9
6
10
-
The F# Compiler and Tools are also mirrored in [the corresponding repository](http://github.com/fsharp/fsharp) of the F# Software Foundation.
7
+
If you're curious about F# itself, check out these links:
11
8
12
-
Changes contributed here are eventually propagated to this repository and are included in all packagings of F# and open source F# editing tools. The process for doing this is explained in this guide by the [F# Core Engineering Group](https://fsharp.github.io/2014/06/18/fsharp-contributions.html). Currently, the F# community coordinates packaging [other editions of F#](https://github.com/fsharp/fsharp/) for use on Linux, macOS, Android, iOS, and other platforms, and Microsoft coordinates packaging this repository as part of the Visual F# Tools.
9
+
*[What is F#](https://docs.microsoft.com/dotnet/fsharp/what-is-fsharp)
10
+
*[Get started with F#](https://docs.microsoft.com/dotnet/fsharp/get-started/)
For historical reasons this repository is called "visualfsharp" and currently also contains the Visual F# IDE Tools. The eventual plan is to split these repositories into "fsharp" and "visualfsharp".
14
+
## Contributing
15
+
16
+
### Quickstart on Windows
17
+
18
+
First, build:
19
+
20
+
```bash
21
+
build.cmd
22
+
```
23
+
24
+
You can then open either `FSharp.sln` or `VisualFSharp.sln` in your editor of choice. The latter solution is larger but includes the F# tools for Visual Studio and its associated infrastructure.
25
+
26
+
### Quickstart on Linux or macOS
27
+
28
+
If you're on Linux or macOS:
29
+
30
+
```bash
31
+
sh ./build.sh
32
+
```
33
+
34
+
You can then open `FSharp.sln` in your editor of choice.
15
35
36
+
### More info
37
+
38
+
See [DEVGUIDE.md](DEVGUIDE.md) and [TESTGUIDE.md](TESTGUIDE.md) for more details on additional configurations for building and testing, how to update compiler error messages, and more.
16
39
17
40
## Build Status
18
41
@@ -22,24 +45,24 @@ For historical reasons this repository is called "visualfsharp" and currently al
You can use the latest `master` build of the F# compiler and tools for Visual Studio via our nightly releases if you are a Visual Studio users. See details on setup here:
See [DEVGUIDE.md](DEVGUIDE.md) and [TESTGUIDE.md](TESTGUIDE.md) for details on build, development, and testing.
54
+
### Even more nightly than the nightly
33
55
34
-
See [CONTRIBUTING.md](CONTRIBUTING.md) for general guidelines on the contribution process, also [how we label issues and PRs](https://github.com/dotnet/roslyn/wiki/Labels-used-for-issues)
56
+
Alternatively, if you _really_ want to live on the bleeding edge, you can set up a nightly feed for the Visual Studio preview releases, which use the latest commit in the preview branch of this repository. To do so, follow the same instructions as the above blog post, but instead with these links:
35
57
36
-
To contribute to the F# ecosystem more generally see the F# Software Foundation's [Community Projects](http://fsharp.org/community/projects/) pages.
58
+
* Set your feed to the [preview feed](https://dotnet.myget.org/F/fsharp-preview/vsix)
59
+
* Install manually from the [preview feed](https://dotnet.myget.org/feed/fsharp-preview/package/vsix/VisualFSharp)
37
60
38
61
## Branches
39
62
40
63
These are the branches in use:
41
64
42
-
*`master` = Latest branch for OSS developers and nightly users.
65
+
*`master`
43
66
- Most contributions go here.
44
67
- Able to be built, installed and used in the latest public Visual Studio release.
45
68
- May contain updated F# features and logic.
@@ -48,61 +71,39 @@ These are the branches in use:
48
71
- Gets integrated into https://github.com/fsharp/FSharp.Compiler.Service to form the basis of FSharp.Compiler.Service releases
49
72
50
73
*`dev15.9`
51
-
-Servicing branch for VS 2017 update 15.9. We do not expect to service that release, but if we do, that's where the changes would go.
74
+
-Long-term servicing branch for VS 2017 update 15.9.x. We do not expect to service that release, but if we do, that's where the changes will go.
52
75
53
76
*`dev16.x`
54
77
- Latest release branch for the particular point release of Visual Studio.
55
78
- Incorporates features and fixes from master up to a particular branch point, then selective cherry-picks.
56
79
- May contain new features that depend on new things or fixes in the corresponding forthcoming Visual Studio release.
57
80
- Gets integrated back into master once the corresponding Visual Studio release is made.
58
81
59
-
### Technical Documentation
82
+
### F# language and core library evolution
60
83
61
-
*[The F# Language and Core Library RFC Process](http://fsharp.github.io/2016/09/26/fsharp-rfc-process.html)
84
+
Although this repository is where actual F# development occurs, evolution of the F# language and core library follows a process spanning two additional repositories. The process is as follows:
62
85
63
-
*[The F# Language Specification](http://fsharp.org/specs/language-spec/)
maintained by contributors to this repository. Please read
67
-
and contribute to that guide.
86
+
1. Use the [F# language suggestions repo](https://github.com/fsharp/fslang-suggestions/) to search for ideas, vote on ones you like, submit new ideas, and discuss details with the F# community.
87
+
2. Ideas that are "approved in principle" are eligible for a new RFC in the [F# language design repo](https://github.com/fsharp/fslang-design). This is where the technical specification and discussion of approved suggestions go.
88
+
3. Implementations and testing of an RFC are submitted to this repository.
68
89
69
-
### License
90
+
### Additional documentation
70
91
71
-
This project is subject to the MIT License. A copy of this license can be found in [License.txt](License.txt) at the root of this repo.
92
+
The following links can help you get an overview of some technical aspects of the F# language and compiler:
If you wish to set up a *Preview* nightly atop Visual Studio preview builds, you can either [download a VSIX Manually from here](https://dotnet.myget.org/feed/fsharp-preview/package/vsix/VisualFSharp) or set up a VSIX feed in visual studio from [here](https://dotnet.myget.org/F/fsharp-preview/vsix).
85
-
86
-
### Using CI Builds
87
-
88
-
To install F#, see http://fsharp.org.
89
-
90
-
To download the bits for the latest CI builds see [these instructions](https://github.com/Microsoft/visualfsharp/wiki/Using-CI-Builds). This includes and ZIPs containing the F# compiler and VSIX installers for the Visual F# IDE Tools.
91
-
92
-
### Using F# on a build server or computer without an F# installation
93
-
94
-
If you wish to use the latest F# compiler on a computer without Visual Studio 2017 installed, you can add the nuget package ``FSharp.Compiler.Tools`` to your projects. This will replace the in-box compiler with the version contained in the package.
95
-
The actual package is built in https://github.com/fsharp/fsharp.
97
+
## License
96
98
97
-
You will need to adjust the targets reference on your project file to use the targets file from the installed ``FSharp.Compiler.Tools`` package.
98
-
See https://github.com/fsharp/fsharp/issues/676 for how to modify your project file.
99
+
This project is subject to the MIT License. A copy of this license can be found in [License.txt](License.txt) at the root of this repo.
99
100
100
101
## Code of Conduct
101
102
102
103
This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community. This code of conduct has been [adopted by many other projects](http://contributor-covenant.org/adopters/). For more information see the [Code of conduct](https://github.com/Microsoft/visualfsharp/wiki/Code-of-Conduct).
103
104
104
105
## Get In Touch
105
106
106
-
Follow [@VisualFSharp](https://twitter.com/VisualFSharp) and [@fsharporg](https://twitter.com/fsharporg) on twitter and subscribe to the [.NET Blog](https://blogs.msdn.microsoft.com/dotnet/).
107
-
108
107
Members of the F# Software Foundation can be invited to the "F# Software Foundation" discussion rooms on slack. More details at http://fsharp.org/guides/slack/.
108
+
109
+
Additionally, using the `#fsharp` tag on Twitter with any question can easily help you get pointed to the right person if you have a question.
0 commit comments