Skip to content

Commit

Permalink
finishing up version 0.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
WeirdConstructor committed Jan 18, 2021
1 parent aa95ed7 commit 4a493f6
Show file tree
Hide file tree
Showing 7 changed files with 256 additions and 177 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ be able to convert bytes to/from ISO-8859-1 encoding in a more or less
clean way. It allows better parsing of text protocols by converting
them to strings directly.
* Feature: Added `std:num:fract`.
* Feature: Added basic TCP networking and sockets: `std:net:tcp:connect`,
`std:net:tcp:listen`, `std:io:write`, `std:io:write_some` and `std:io:read_some`.
* Bugfix: `v.0 => v.1` did not parse correctly.
* Bugfix: Calling `$i(...)` and `$p()` without any arguments did not yield the
called value itself.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wlambda"
version = "0.7.0-alpha2"
version = "0.7.0"
authors = ["Weird Constructor <[email protected]>"]
license = "GPL-3.0-or-later"
edition = "2018"
Expand Down
21 changes: 11 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ std:assert_eq x 6;
### If

```wlambda
? $true {
if $true {
std:displayln "It's true!";
} {
std:displayln "It's false!";
Expand All @@ -86,7 +86,7 @@ std:assert_eq x 6;
```wlambda
!x = 10 / 2;
? x == 5 {
if x == 5 {
std:displayln "x == 5";
};
```
Expand All @@ -112,7 +112,7 @@ while x > 0 {
while x > 0 {
std:displayln x;
? x == 5 {
if x == 5 {
# break is a function, first arg
# is the return value for `while`:
break[];
Expand Down Expand Up @@ -143,7 +143,7 @@ std:assert_eq sum 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9;
while $true {
std:displayln x;
.x = x - 1;
? x == 0 break[];
if x == 0 break[];
};
```

Expand Down Expand Up @@ -187,7 +187,7 @@ std:displayln add5 <& 3; # '<&' is the reverse argument pipe operator
# an `if` is actually a call to another function, so we need to
# dynamically jump upwards the call stack to the given label:
? x > 10 {
if x > 10 {
return :ret_label_a x * 2;
};
};
Expand Down Expand Up @@ -256,11 +256,11 @@ std:assert_eq m.b 12;
```wlambda
!name = "Mr. X";
std:assert_eq name.4 "X"; # index a character
std:assert_eq name.4 'X'; # index a character
std:assert_eq (name 0 3) "Mr."; # substring
!stuff = "日本人";
std:assert_eq stuff.0 "日"; # Unicode support
std:assert_eq stuff.0 '日'; # Unicode support
```

### Unicode identifiers:
Expand All @@ -275,7 +275,7 @@ std:assert_eq 人 "jin";

```wlambda
!some_fun = {
? _ == :fail {
if _ == :fail {
$error :FAIL_HAVING_FUN
} {
:ok
Expand Down Expand Up @@ -314,7 +314,7 @@ captured.
${ y = 99 },
];
? struct &> $S( *:{a=10} /b/1 ) {
if struct &> $S( *:{a=10} /b/1 ) {
std:assert_str_eq $\ $[2,5];
} {
panic "Should've matched!";
Expand Down Expand Up @@ -362,7 +362,7 @@ std:assert_str_eq res $[
!crate = $none;
!domain = $none;
? some_url &> $r{$^ (^$+[^:]) \:\/\/ (^$*[^/]) \/crates\/ (^$+[a-z]) } {
if some_url &> $r{$^ (^$+[^:]) :// (^$*[^/]) /crates/ (^$+[a-z]) } {
.domain = $\.2;
.crate = $\.3;
};
Expand Down Expand Up @@ -517,6 +517,7 @@ Current remaining goals for WLambda are:
dependencies.
- Improve and further document the VVal API for interacting with WLambda.
- Improve [WLambda Language Reference](https://docs.rs/wlambda/newest/wlambda/prelude/index.html#wlambda-reference) documentation.
- DONE: Complete function reference documentation in [WLambda Language Reference](https://docs.rs/wlambda/newest/wlambda/prelude/index.html#wlambda-reference).
- DONE: Add proper module support (via `!@import` and `!@export`).
- DONE: Add prototyped inheritance for OOP paradigm.
- DONE: Add data structure matching/destructuring/selection primitives
Expand Down
Loading

0 comments on commit 4a493f6

Please sign in to comment.