gluon 0.18.2

A static, type inferred programming language for application embedding
Documentation
# Standard types and functions

The API documentation for the standard library can be found [here][std-docs]. Some of the modules
are only available if Gluon is compiled with the required features:

- `std.regex` requires the `regex` feature (enabled by default)
- `std.random` requires the `rand` feature (enabled by default)
- All `std.json.*` modules require the `serialization` feature

TODO

### Prelude

When compiling an expression, the compiler automatically inserts a small prelude before the expression itself, which gives automatic access to basic operators such as `+`, `-`, etc as well as types such as `Option` and `Result`.

### Threads and channels

Gluon has support for cooperative threading and communication between them through the `Thread` and `Sender`/`Receiver` types.

### Strings

`String` is a built-in data type. The module `std.string` provides the infix operatoin `++`, concatenating two strings. The operation `show` converts the Int to a printable String.
```
let io @ { ? } = import! std.io
let string @ { len } = import! std.string
let { show }  = import! std.show
let message : String = "Hello" ++ " " ++ "World" ++ "!"
let prompt s = "<" ++ show (len s) ++ "> "
io.println ( (prompt message) ++ message )
```
The output will be
```
<12> Hello World!
```

The following API doc for the module [`std.string`](https://gluon-lang.org/doc/crates_io/std/std/string.html) is a list of all string operations.
```

TODO

[std-docs]: http://gluon-lang.org/doc/nightly/std/index.html