Update docs and bump version to 0.2.34

This commit is contained in:
imaqtkatt 2024-06-05 18:15:56 -03:00
parent 2be44a29e3
commit 67760ee3b0
4 changed files with 42 additions and 33 deletions

View File

@ -1,5 +1,8 @@
# Changelog # Changelog
## 0.2.34
- Added `<=` and `>=` operators. (#451)
## 0.2.33 ## 0.2.33
- Added `expand_main`, a compilation pass that expands references in the entry point function. (#424) - Added `expand_main`, a compilation pass that expands references in the entry point function. (#424)
- Changed the `float_combinators` pass to not extract in the entry point function. (#424) - Changed the `float_combinators` pass to not extract in the entry point function. (#424)
@ -11,4 +14,4 @@
- Created the changelog. - Created the changelog.
## 0.2.0 ## 0.2.0
- Initial public release of Bend. - Initial public release of Bend.

2
Cargo.lock generated
View File

@ -62,7 +62,7 @@ dependencies = [
[[package]] [[package]]
name = "bend-lang" name = "bend-lang"
version = "0.2.33" version = "0.2.34"
dependencies = [ dependencies = [
"TSPL", "TSPL",
"clap", "clap",

View File

@ -2,7 +2,7 @@
name = "bend-lang" name = "bend-lang"
description = "A high-level, massively parallel programming language" description = "A high-level, massively parallel programming language"
license = "Apache-2.0" license = "Apache-2.0"
version = "0.2.33" version = "0.2.34"
edition = "2021" edition = "2021"
rust-version = "1.74" rust-version = "1.74"
exclude = ["tests/"] exclude = ["tests/"]

View File

@ -384,6 +384,7 @@ Therefore, all `bind` functions must call the builtin function `undefer` before
This is necessary to ensure that the continuation in recursive monadic functions stays lazy and doesn't expand infinitely. This is necessary to ensure that the continuation in recursive monadic functions stays lazy and doesn't expand infinitely.
This is an example of a recursive function that would loop if passing the variable `a` to the recursive call `Result/foo(a, b)` was not deferred: This is an example of a recursive function that would loop if passing the variable `a` to the recursive call `Result/foo(a, b)` was not deferred:
```python ```python
def Result/foo(x, y): def Result/foo(x, y):
with Result: with Result:
@ -546,21 +547,23 @@ u24 = 42
Currently, the 3 number types cannot be mixed. Currently, the 3 number types cannot be mixed.
| Operation | Syntax | Supported Types | | Operation | Syntax | Supported Types |
| -------------- | -------- | ---------------- | | --------------------- | -------- | ---------------- |
| Addition | x + y | int, float, uint | | Addition | x + y | int, float, uint |
| Subtraction | x - y | int, float, uint | | Subtraction | x - y | int, float, uint |
| Multiplication | x \* y | int, float, uint | | Multiplication | x \* y | int, float, uint |
| Division | x / y | int, float, uint | | Division | x / y | int, float, uint |
| Remainder | x % y | int, float, uint | | Remainder | x % y | int, float, uint |
| Exponentiation | x \*\* y | float | | Exponentiation | x \*\* y | float |
| Equal | x == y | int, float, uint | | Equal | x == y | int, float, uint |
| Not Equal | x != y | int, float, uint | | Not Equal | x != y | int, float, uint |
| Less Than | x < y | int, float, uint | | Less Than | x < y | int, float, uint |
| Greater Than | x > y | int, float, uint | | Greater Than | x > y | int, float, uint |
| Bitwise And | x & y | int, uint | | Less Than or Equal | x <= y | int, float, uint |
| Bitwise Or | x \| y | int, uint | | Greater Than or Equal | x >= y | int, float, uint |
| Bitwise Xor | x ^ y | int, uint | | Bitwise And | x & y | int, uint |
| Bitwise Or | x \| y | int, uint |
| Bitwise Xor | x ^ y | int, uint |
### Constructor Literals ### Constructor Literals
@ -1026,6 +1029,7 @@ Therefore, all `bind` functions must call the builtin function `undefer` before
This is necessary to ensure that the continuation in recursive monadic functions stays lazy and doesn't expand infinitely. This is necessary to ensure that the continuation in recursive monadic functions stays lazy and doesn't expand infinitely.
This is an example of a recursive function that would loop if passing the variable `a` to the recursive call `Result/foo(a, b)` was not deferred: This is an example of a recursive function that would loop if passing the variable `a` to the recursive call `Result/foo(a, b)` was not deferred:
```python ```python
Result/foo x y = with Result { Result/foo x y = with Result {
ask a = (Result/Ok 1) ask a = (Result/Ok 1)
@ -1078,21 +1082,23 @@ u24 = 42
Currently, the 3 number types cannot be mixed. Currently, the 3 number types cannot be mixed.
| Operation | Syntax | Supported Types | | Operation | Syntax | Supported Types |
| -------------- | ---------- | ---------------- | | --------------------- | ---------- | ---------------- |
| Addition | (+ x y) | int, float, uint | | Addition | (+ x y) | int, float, uint |
| Subtraction | (- x y) | int, float, uint | | Subtraction | (- x y) | int, float, uint |
| Multiplication | (\* x y) | int, float, uint | | Multiplication | (\* x y) | int, float, uint |
| Division | (/ x y) | int, float, uint | | Division | (/ x y) | int, float, uint |
| Remainder | (% x y) | int, float, uint | | Remainder | (% x y) | int, float, uint |
| Exponentiation | (\*\* x y) | float | | Exponentiation | (\*\* x y) | float |
| Equal | (== x y) | int, float, uint | | Equal | (== x y) | int, float, uint |
| Not Equal | (!= x y) | int, float, uint | | Not Equal | (!= x y) | int, float, uint |
| Less Than | (< x y) | int, float, uint | | Less Than | (< x y) | int, float, uint |
| Greater Than | (> x y) | int, float, uint | | Greater Than | (> x y) | int, float, uint |
| Bitwise And | (& x y) | int, uint | | Less Than or Equal | (<= x y) | int, float, uint |
| Bitwise Or | (\| x y) | int, uint | | Greater Than or Equal | (>= x y) | int, float, uint |
| Bitwise Xor | (^ x y) | int, uint | | Bitwise And | (& x y) | int, uint |
| Bitwise Or | (\| x y) | int, uint |
| Bitwise Xor | (^ x y) | int, uint |
### Character Literal ### Character Literal