# Read before Proceeding

{% hint style="success" %}
**Credits:** The Gauntlet programming language and this accompanying documentation were written solely by `TricolorHen061`.
{% endhint %}

## What you need to know about Gauntlet

* Gauntlet is in it's **alpha** phase. Please expect (and [report](https://github.com/gauntlet-lang/gauntlet/issues)!) bugs.
* Non-parser error messages are do not contain line numbers. This will be implemented in a future update.
* There is little typechecking. Better typechecking will be implemented in the future.
* All Gauntlet type names are the CamelCase version of it's corresponding Go type name. For instance:
  * `String` type in Gauntlet -> `string` type in Golang
  * `Float64` type in Gauntlet -> `float64` type in Golang
  * `Int` type in Guantlet -> `int` type in Golang
* The only two exceptions to the above rule are:
  * &#x20;`Unit`, which is equivalent to `()`&#x20;
  * `Null`, which is equivalent to `nil`
* You can import and use any library from the Golang ecosystem **without** writing a binding. Though at this point in time, Gauntlet does not perform type-checking on them.
  * When referring to a function from a module, use camelCase to refer to it. Use PascalCase for everything else.

## What you need to know about this documentation

* Anything wrapped in `<>` signifies a required placeholder
* Anything wrapped in `[]` signifies an optional placeholder
* The type of casing that should be used is reflected in placeholder names. For instance, if something `LooksLikeThis` , it means PascalCase should be used.&#x20;

## Useful Links

* Join the Discord server [here](https://discord.gg/eK3zJYrN58)
* Take a look at the GitHub repository [here](https://github.com/gauntlet-lang/gauntlet)
* Check out the Visual Studio Code extension [here](https://marketplace.visualstudio.com/items?itemName=GauntletProgrammingLanguage.gauntlet-language)

## Common placeholders throughout documentation

* `Generics`&#x20;
  * Syntax: `[TypeConstraint ParamName, ...]`
  * Example:  `[T : String, U: Any]`&#x20;
* `GenericsInstantiation`&#x20;
  * Syntax: `[Type1, Type2, ...]`&#x20;
  * Example: `[String, Int]`
* `Parameters`&#x20;
  * Syntax: `ParamName : ParamType, ...`&#x20;
  * Example: `num1 : Int, num2 : Int`&#x20;
* `varPattern`
  * Syntax: `varName1, varName2, etc`
  * &#x20;Example: `firstName, lastName`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gauntletlang.gitbook.io/docs/read-before-proceeding.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
