Update documentation and readme
This commit is contained in:
parent
195d3d3af8
commit
4844cebd56
@ -9,8 +9,8 @@ contains the relevant abstraction to produce a more Rust'y API from that.
|
|||||||
Much of the syntax in Reid is directly inspired by rust, but mostly it is driven
|
Much of the syntax in Reid is directly inspired by rust, but mostly it is driven
|
||||||
by simplicity.
|
by simplicity.
|
||||||
|
|
||||||
Specifications and documentation for the language can be found
|
Specifications and a bunch of [documentation for the language can be found
|
||||||
[here](./documentation/).
|
here](./documentation/).
|
||||||
|
|
||||||
Reid is currently able to (non-exhaustively):
|
Reid is currently able to (non-exhaustively):
|
||||||
- Do basic algebra binary and unary-operations (e.g. Add, Sub, Div, Mult, And,
|
- Do basic algebra binary and unary-operations (e.g. Add, Sub, Div, Mult, And,
|
||||||
|
@ -18,6 +18,12 @@ A collection of documentation and examples to get you going can be found at [the
|
|||||||
Book of Reid](./book.md). It is recommended you read through the chapter about
|
Book of Reid](./book.md). It is recommended you read through the chapter about
|
||||||
Syntax first though to familiarize yourself with the basic concepts of Reid.
|
Syntax first though to familiarize yourself with the basic concepts of Reid.
|
||||||
|
|
||||||
|
## Intrinsics
|
||||||
|
|
||||||
|
Reid also has intrinsic functions that are good to know about. These are more
|
||||||
|
in-depth, but when you're feeling up to it, you can read about them
|
||||||
|
[here](./intrinsics.md).
|
||||||
|
|
||||||
## Syntax and general information
|
## Syntax and general information
|
||||||
|
|
||||||
Syntax for Reid is very much inspired by rust, and examples of the language can
|
Syntax for Reid is very much inspired by rust, and examples of the language can
|
||||||
|
28
documentation/intrinsics.md
Normal file
28
documentation/intrinsics.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
## Intrinsics
|
||||||
|
|
||||||
|
Intrinsics are functions that are defined within the language compiler but not
|
||||||
|
in standard library, thus they do not require importing in order to use (and
|
||||||
|
trying to re-define these will end up causing issues). Intrinsics include all
|
||||||
|
pre-existing binary-operators, but also some regular functions and associated
|
||||||
|
functions (that every type has by-default). This document lists them all (except
|
||||||
|
for the binary operators, because there are hundreds of those).
|
||||||
|
|
||||||
|
### Associated Intrinsics
|
||||||
|
|
||||||
|
#### `<T>::sizeof() -> u64`
|
||||||
|
|
||||||
|
Simply returns the size of type `T` in bits.
|
||||||
|
|
||||||
|
```rust
|
||||||
|
i32::sizeof(); // Returns 32
|
||||||
|
```
|
||||||
|
|
||||||
|
#### `<T>::alloca(size: u64) -> *T`
|
||||||
|
|
||||||
|
Allocates `T::sizeof() * size` bits and returns a pointer to `T`.
|
||||||
|
|
||||||
|
**Note:** This does not seem to work correctly currently.
|
||||||
|
|
||||||
|
```rust
|
||||||
|
i32::alloca(30); // Returns *i32
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user