Skip to content

Organize F# language guide toc/index, add F# scenarios#26804

Merged
dsyme merged 31 commits into
dotnet:mainfrom
dsyme:f7
Nov 4, 2021
Merged

Organize F# language guide toc/index, add F# scenarios#26804
dsyme merged 31 commits into
dotnet:mainfrom
dsyme:f7

Conversation

@dsyme

@dsyme dsyme commented Nov 4, 2021

Copy link
Copy Markdown
Contributor

@KathleenDollard and I are working to reduce the perceived complexity of the F# docs.

Primary problems addressed:

  1. The TOC for language reference is one long list of 80 entries without organization
  2. The front page is sparse and awkward ("F# tutorials" and "F# tools" are very sparse)
  3. F# scenarios of machine learning and web programming are not mentioned or linked
  • The TOC is now simpler and more compelling with the following entries
    • What is F#
    • Get started
    • Language guide
    • Tutorials
    • Tools
    • What's new
    • F# Style guide
    • F# for machine learning
    • F# for web development
    • F# on Azure
  • The front page now follows the C# structure with
    • "F# language reference"
    • "F# fundamentals"
    • "F# tools"
    • "F# in practice"
      To do this we merges "F# library reference" into "F# language reference" and "F# style guide" with "F# in practice"
  • "F# in practice" has "F# machine learning" and "F# web programming" The pages reference ML.NET, Azure docs and some stable external F# community resources and guides
  • The TOC for the language guide has beeen organised to just have 17 top entries (down from 80!!) in a coherent way that follows a typical F# learning sequence (we can iterate further on this after this PR)
    • Literals
    • Strings
    • Values and functions
    • Loops and conditionals
    • Pattern matching
    • Exception handling
    • Types and inference
    • Tuples, lists, collections, options
    • Records
    • Discriminated unions
    • Objects
    • Async, tasks and queries
    • Structs
    • .NET Interoperability
    • Organizing code
    • Reflection and quotations
    • Reference (compiler options etc.)
  • Rename the "language reference" to "language guide". In reality the F# 2.0 material is a "language reference" while the rest has been written in the style of a "language guide" and overall I feel the latter name is now more appropriate since this is the primary readable language documentation we're providing in the menus.
  • Trim some sections from "What's New"

@dsyme dsyme changed the title Move F# tour to tutorials Organize F# language guide toc/index, add F# scenarios Nov 4, 2021
@dsyme

dsyme commented Nov 4, 2021

Copy link
Copy Markdown
Contributor Author

This is ready. It's a good update to the F# docs and would be great to have up in time for .NET 6 release

@gewarren gewarren left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be much better, thanks. Also, I ran a tool and it looks like these files are orphaned - i.e. not linked from the TOC:

docs\fsharp\language-reference\verbose-syntax.md
docs\fsharp\tutorials\using-functions.md
docs\fsharp\using-fsharp-on-azure\blob-storage.md
docs\fsharp\using-fsharp-on-azure\file-storage.md
docs\fsharp\using-fsharp-on-azure\queue-storage.md
docs\fsharp\using-fsharp-on-azure\table-storage.md

Comment thread docs/fsharp/language-reference/compiler-options.md Outdated
Comment thread docs/fsharp/language-reference/compiler-options.md Outdated
Comment thread docs/fsharp/language-reference/compiler-options.md Outdated
Comment thread docs/fsharp/language-reference/compiler-options.md
Comment thread docs/fsharp/language-reference/functions/index.md Outdated
Comment thread docs/fsharp/language-reference/index.md Outdated
Comment thread docs/fsharp/language-reference/index.md Outdated
Comment thread docs/fsharp/language-reference/index.md Outdated
Comment thread docs/fsharp/tour.md Outdated
Comment thread docs/fsharp/tour.md Outdated
dsyme and others added 7 commits November 4, 2021 10:18
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
@dsyme

dsyme commented Nov 4, 2021

Copy link
Copy Markdown
Contributor Author

Regarding "runtime" v "run time" v "run-time", the current .NET docs are inconsistent

  • 547 "run-time"
  • 208 "at runtime"
  • 555 "run time"

I'll add a separate issue about that to get uniformity over all the docs

@dsyme

dsyme commented Nov 4, 2021

Copy link
Copy Markdown
Contributor Author

Also, I ran a tool and it looks like these files are orphaned - i.e. not linked from the TOC:

This should now be fixed

I think this is ready once green

@dsyme

dsyme commented Nov 4, 2021

Copy link
Copy Markdown
Contributor Author

@gewarren I rejigged the F# on Azure section. The "index.md" there is not so useful, it's a big swathe of "other" services, so I split out the two most important uses of F# (deployment/management of Azure resources, and Apache spark).

This meant I had to change the top panel link in docs/index.yml under "Cloud" so I took the chance to also put corresponding F# links under "Web and "Machine Learning", to the scenario pages, which seems to make things consistent now

@dsyme dsyme mentioned this pull request Nov 4, 2021
20 tasks

@gewarren gewarren left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment thread docs/fsharp/using-fsharp-on-azure/deploying-and-managing.md Outdated
Comment thread docs/fsharp/using-fsharp-on-azure/deploying-and-managing.md Outdated
dsyme and others added 2 commits November 4, 2021 17:10
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
@dsyme dsyme enabled auto-merge November 4, 2021 17:19
@dsyme dsyme merged commit d93c253 into dotnet:main Nov 4, 2021
@dsyme

dsyme commented Nov 4, 2021

Copy link
Copy Markdown
Contributor Author

Thank you @gewarren!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants