Skip to content

Meta: Table of Contents #5

@sheridanchris

Description

@sheridanchris

Goals:

  1. Concise and easy to understand explanations with rich examples.
  2. Introduce things iteratively. Don't include concepts in pages that haven't been introduced already (example: don't include lambda function syntax in code samples until they've been introduced). Jargon is fine if it's common knowledge as we will assume some programming experience.

Up for consideration:

  1. Introduce exercises at the end of each section that have the reader implement a specific function using the concepts introduced in that section.
  2. ...

Questions that need answering:

  1. Should there be more pages with less content per page or less pages with more content. Example: Should the records page include definitions, copy-and-update, pattern matching, etc... or should this be split into a couple of smaller pages.

    Another example is the list page. Should this include the list module and pattern matching? Should these be in separate pages?

  2. ...

This table of contents is currently an incomplete rough draft and subject to lots of change:

  • Basics
    • Hello, World!
    • Expressions
    • Primitive Types
    • String Formatting
    • Operators
    • Conditional Expressions
    • Patterns and Match Expressions
  • Functions
    • Defining Functions (this could be moved to Basics)
    • Functions as Values
    • Recursive Functions
    • Currying and Partial Application
    • Pipes and Composition
  • Data and Types:
    • Tuples
    • Lists
    • Sequences
    • Sequence Expressions
    • Type Abbreviations
    • Records
    • Discriminated Unions
    • Generic Types
    • The Option Type
    • The Result Type
    • Units of Measure
  • Object Programming
    • Classes and Members
    • Interfaces
    • Abstract Classes and Inheritance
    • Object Expressions
    • Type Extensions

Currently Missing:

  • Single case unions
  • Mutually recursive types
  • Recursive patterns
  • Active patterns
  • Namespaces and Modules
  • Accessibility Modifiers
  • Computation Expressions
  • Asynchronous Programming
  • .NET Interop and stylistic differences
  • Mutability (mutable bindings and properties [records and objects])
  • Dates and Times
  • Maps
  • Sets
  • Common Functions (List, Seq, Map, Result, Option, String, Char, DateTime, ...)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions