Skip to content

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

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

Merged
merged 31 commits into from
Nov 4, 2021
Merged

Conversation

dsyme
Copy link
Contributor

@dsyme dsyme commented Nov 4, 2021

@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
Copy link
Contributor Author

dsyme commented Nov 4, 2021

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

Copy link
Contributor

@gewarren gewarren left a comment

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

Co-authored-by: Genevieve Warren <[email protected]>
@dsyme
Copy link
Contributor Author

dsyme commented Nov 4, 2021

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
Copy link
Contributor Author

dsyme commented Nov 4, 2021

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
Copy link
Contributor Author

dsyme commented Nov 4, 2021

@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
Copy link
Contributor

@gewarren gewarren left a comment

Choose a reason for hiding this comment

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

LGTM

@dsyme dsyme enabled auto-merge November 4, 2021 17:19
@dsyme dsyme merged commit d93c253 into dotnet:main Nov 4, 2021
@dsyme
Copy link
Contributor Author

dsyme commented Nov 4, 2021

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