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
Copy file name to clipboardExpand all lines: DEVGUIDE.md
+12-9Lines changed: 12 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,10 @@
2
2
3
3
This document details more advanced options for developing in this codebase. It is not quite necessary to follow it, but it is likely that you'll find something you'll need from here.
4
4
5
+
## Documentation
6
+
7
+
The compiler is documented in [docs](docs/index.md). This is essential reading.
8
+
5
9
## Recommended workflow
6
10
7
11
We recommend the following overall workflow when developing for this repository:
@@ -122,9 +126,7 @@ Running any of the above will build the latest changes and run tests against the
122
126
If your changes involve modifying the list of language keywords in any way, (e.g. when implementing a new keyword), the XLF localization files need to be synced with the corresponding resx files. This can be done automatically by running
This only works on Windows/.NETStandard framework, so changing this from any other platform requires editing and syncing all of the XLF files manually.
@@ -152,13 +154,13 @@ export TEST_UPDATE_BSL=1
152
154
Some of the code in this repository is formatted automatically by [Fantomas](https://github.com/fsprojects/fantomas). To format all files use:
153
155
154
156
```cmd
155
-
dotnet fantomas src/fsharp -r
157
+
dotnet fantomas src -r
156
158
```
157
159
158
160
The formatting is checked automatically by CI:
159
161
160
162
```cmd
161
-
dotnet fantomas src/fsharp -r --check
163
+
dotnet fantomas src -r --check
162
164
```
163
165
164
166
At the time of writing only a subset of signature files (`*.fsi`) are formatted. See the settings in `.fantomasignore` and `.editorconfig`.
@@ -239,6 +241,7 @@ Existing compiler benchmarks can be found in `tests\benchmarks\`.
239
241
### Example benchmark setup using [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet)
240
242
241
243
1. Perform a clean build of the compiler and FCS from source (as described in this document, build can be done with `-noVisualStudio` in case if FCS/FSharp.Core is being benchmarked/profiled).
244
+
242
245
2. Create a benchmark project (in this example, the project will be created in `tests\benchmarks\`).
243
246
244
247
```shell
@@ -251,13 +254,13 @@ Existing compiler benchmarks can be found in `tests\benchmarks\`.
Copy file name to clipboardExpand all lines: README.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,13 +34,17 @@ After it's finished, open `FSharp.sln` in your editor of choice.
34
34
35
35
### Documentation for contributors
36
36
37
+
* The [Compiler Documentation](docs/index.md) is essential reading for any larger contributions to the F# compiler codebase and contains links to learning videos, architecture diagrams and other resources.
38
+
39
+
* The same docs are also published as the [The F# Compiler Guide](https://fsharp.github.io/fsharp-compiler-docs/). It also contains the public searchable docs for FSharp.Compiler.Service component.
40
+
37
41
* See [DEVGUIDE.md](DEVGUIDE.md) for more details on configurations for building the codebase. In practice, you only really need to run `build.cmd`/`build.sh`.
38
42
39
43
* See [TESTGUIDE.md](TESTGUIDE.md) for information about the various test suites in this codebase and how to run them individually.
40
44
41
-
*[The F# Documentation](https://docs.microsoft.com/en-us/dotnet/fsharp/) is the primary documentation for F#. The source for the content is [here](https://github.com/dotnet/docs/tree/main/docs/fsharp).
45
+
###Documentationfor F# community
42
46
43
-
*[The F# Compiler Guide](https://fsharp.github.io/fsharp-compiler-docs/) is essential reading for any larger contributions to the F# compiler codebase and contains links to learning videos, architecture diagrams and other resources. It also contains the public searchable docs for FSharp.Compiler.Service (or equivalent of Roslyn). The source for the content is [in this repo under `docs/`](docs/) and the site is built automatically by [this small repo](https://github.com/fsharp/fsharp-compiler-docs).
47
+
*[The F# Documentation](https://docs.microsoft.com/dotnet/fsharp/) is the primary documentation for F#. The source for the content is [here](https://github.com/dotnet/docs/tree/main/docs/fsharp).
44
48
45
49
*[The F# Language Design Process](https://github.com/fsharp/fslang-design/) is the fundamental design process for the language, from [suggestions](https://github.com/fsharp/fslang-suggestions) to completed RFCs. There are also [tooling RFCs](https://github.com/fsharp/fslang-design/tree/main/tooling) for some topics where cross-community co-operation and visibility is most useful.
0 commit comments