βΌοΈRead before Proceeding
Credits: The Gauntlet programming language and this accompanying documentation were written solely by TricolorHen061
.
What you need to know about Gauntlet
Gauntlet is in it's alpha phase. Please expect (and report!) 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 GolangFloat64
type in Gauntlet ->float64
type in GolangInt
type in Guantlet ->int
type in Golang
The only two exceptions to the above rule are:
Unit
, which is equivalent to()
Null
, which is equivalent tonil
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 placeholderAnything wrapped in
[]
signifies an optional placeholderThe type of casing that should be used is reflected in placeholder names. For instance, if something
LooksLikeThis
, it means PascalCase should be used.
Useful Links
Join the Discord server here
Take a look at the GitHub repository here
Check out the Visual Studio Code extension here
Common placeholders throughout documentation
Generics
Syntax:
[TypeConstraint ParamName, ...]
Example:
[T : String, U: Any]
GenericsInstantiation
Syntax:
[Type1, Type2, ...]
Example:
[String, Int]
Parameters
Syntax:
ParamName : ParamType, ...
Example:
num1 : Int, num2 : Int
varPattern
Syntax:
varName1, varName2, etc
Example:
firstName, lastName
Last updated