# The Magma Language

Statements and ExpressionsIdentifiers, assignment, booleans and coercion.

[Statements and Expressions](StatementsAndExpressions/index-statements-and-expressions.md)Functions, Procedures and PackagesDefining functions and procedures, packages, attributes and verbose flags.

[Functions, Procedures and Packages](FunctionsProceduresAndPackages/index-functions-procedures-and-packages.md)Input and OutputStrings, printing and reading input.

[Input and Output](InputOutput/index-input-output.md)Environment and OptionsCommand-line options, environment variables and verbose/info settings.

[Environment and Options](EnvironmentAndOptions/index-environment-and-options.md)ParallelismKernel-distributed parallelism, GPUs and parallel linear algebra.

[Parallelism](Parallelism/index-parallelism.md)Magma SemanticsDefinitions, assignment, evaluation and scope.

[Magma Semantics](MagmaSemantics/index-magma-semantics.md)The Magma ProfilerProfiling basics, call graphs and recursive profiling.

[The Magma Profiler](TheMagmaProfiler/index-the-magma-profiler.md)Debugging Magma CodeUsing the interactive debugger.

[Debugging Magma Code](DebuggingMagmaCode/index-debugging-magma-code.md)
