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
|
||||
by simplicity.
|
||||
|
||||
Specifications and documentation for the language can be found
|
||||
[here](./documentation/).
|
||||
Specifications and a bunch of [documentation for the language can be found
|
||||
here](./documentation/).
|
||||
|
||||
Reid is currently able to (non-exhaustively):
|
||||
- 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
|
||||
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 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