Mech Documentation
===============================================================================
v0.3.2-beta
===============================================================================
1. Getting Started
-------------------------------------------------------------------------------
1. [Introduction](getting-started/introduction.html)
2. [Install Mech](getting-started/install.html)
3. [Build and Run Mech Programs](getting-started/build-and-run.html)
4. [Mech REPL](getting-started/repl.html)
5. [Your First Mech Program](getting-started/first-program.html) `todo`
2. Platform Reference
-------------------------------------------------------------------------------
(2.1) Data Model
- [Data Types](/reference/data.html)
- [`atom`](/reference/atom.html) - symbolic constants, often used for tags or enums
- [`bool`](/reference/bool.html) - logical values for true and false
- [`empty`](/reference/empty.html) - represents an absence of value
- [`kind`](/reference/kind.html) - a category of values
- [`number`](/reference/number.html) - numeric values, including integers and floating-point numbers
- [`string`](/reference/string.html) - sequence of UTF-8 characters representing text
- [Data Structures](/reference/structures.html)
- [`map`](/reference/map.html) - stores key-value pairs for fast lookups
- [`matrix`](/reference/matrix.html) - 2D array of homogenous values arranged in rows and columns
- [`record`](/reference/record.html) - groups related fields, usually for representing structured data
- [`set`](/reference/set.html) - unordered collection of unique values
- [`table`](/reference/table.html) - collection of heterogeneous data organized into rows and columns
- [`tuple`](/reference/tuple.html) - fixed-size, ordered grouping of heterogeneous values
(2.2) Program Model
- [Defining, Assigning, and Accessing Data](/reference/define.html) `todo` - create data and change it
- [Data Conversion](/reference/convert.html) `todo` - convert data from one kind to another
- [Expression Broadcasting](/reference/broadcasting.html) - apply operations over data structures
- [Patterns](/reference/patterns.html) - match and destructure data
- [Indexing](/reference/indexing.html) - access elements within data structures
- [Comprehensions](/reference/comprehensions.html)
- [Match Expressions](/reference/match.html)
- [Functions](/reference/functions.html)
- [State Machines](/reference/state-machines.html)
- Error Handling `todo`
- Synthesis and Generation `todo`
- Tests `todo`
- Programs `todo`
- Modules `todo`
(2.3) System Model
(i)> Coming `v0.4`
- Capabilities `todo`
- Distributed Computation `todo`
- Concurrency `todo`
3. Mechdown Reference
-------------------------------------------------------------------------------
- Introduction
- What is Mechdown? `todo`
- Writing Mechdown Documents `todo`
- Mechdown Syntax Overview `todo`
- Mechdown Documents `todo`
- Sections and Subsections `todo`
- Tables of Contents `todo`
- Breadcrumbs `todo`
- Document Metadata `todo`
- Document Elements
- [Title](/mechdown/title.html)
- [Paragraph](/mechdown/paragraph.html)
- [List](/mechdown/list.html)
- [Code Block](/mechdown/code-block.html)
- [Table](/mechdown/table.html)
- [Image](/mechdown/image.html)
- [Thematic Break](/mechdown/thematic-break.html)
- [Equation](/mechdown/equation.html)
- [Callout Block](/mechdown/callout-block.html)
- [Diagram](/mechdown/diagram.html)
4. Standard Library
-------------------------------------------------------------------------------
- [Assign](/stdlib/assign/index.html) `todo`
- [Access](/stdlib/access/index.html) `todo`
- [Combinatorics](/stdlib/combinatorics/index.html) `todo`
- [Compare](/stdlib/compare/index.html) `todo`
- [Convert](/stdlib/convert/index.html) `todo`
- [Io](/stdlib/io/index.html) `todo`
- [Logic](/stdlib/logic/index.html) `todo`
- [Math](/stdlib/math/index.html)
- [Matrix](/stdlib/matrix/index.html) `todo`
- [Range](/stdlib/range/index.html) `todo`
- [Set](/stdlib/set/index.html)
- [Stats](/stdlib/stats/index.html) `todo`
- [String](/stdlib/string/index.html) `todo`
5. Guides
-------------------------------------------------------------------------------
- [Mech in Fifteen Minutes](/guides/mech-in-fifteen-minutes.html)
- [Tutorials](/guides/tutorials.html) `todo`
6. Project Design Documents
-------------------------------------------------------------------------------
- [Platform Specification](/design/specification.html)
- [Design Principles](/design/design-principles.html) `todo`
- [Syntax Design Notes](/design/syntax-design.html) `todo`
- [History](/design/history.html) `todo`
- [Roadmap](/design/ROADMAP.html)
7. Examples
-------------------------------------------------------------------------------
- [Fizz Buzz](/examples/fizzbuzz.html) - a classic programming exercise that demonstrates the use of Mech's data model and operators.
- [N-Body Simulation](/examples/n-body.html) - a simulation of gravitational interactions between multiple bodies.
- [Extended Kalman Filter](/examples/ekf.html) - an implementation of the Extended Kalman Filter algorithm for state estimation.
```mech:hidden
document/index := {
name: "docs"
version: "v0.3.3"
authors: ["Corey Montella"]
machine-url: "https://gitlab.com/mech-lang/mech/docs"
license: "Apache-2.0"}
```