aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorCalvin Rose <calsrose@gmail.com>2019-06-17 22:46:38 -0400
committerCalvin Rose <calsrose@gmail.com>2019-06-17 22:46:38 -0400
commit4adfb9f2d3a1952cde048a099c723f9f625e1be7 (patch)
tree0b44a8363d3c9972f0a346f36eb3733a378a5ab5
parentInline yield when called with no arguments. (diff)
Update changelog.
-rw-r--r--CHANGELOG.md2
-rw-r--r--src/boot/boot.janet2
2 files changed, 4 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6b8b095c..f4c69248 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
All notable changes to this project will be documented in this file.
## Unreleased
+- Change signature to `parser/state`
+- Add `:until` verb to loop.
- Add `:p` flag to `fiber/new`.
- Add `file/{fdopen,fileno}` functions.
- Add `parser/clone` function.
diff --git a/src/boot/boot.janet b/src/boot/boot.janet
index cf9fb38f..bb72567b 100644
--- a/src/boot/boot.janet
+++ b/src/boot/boot.janet
@@ -325,6 +325,7 @@
(keyword? binding)
(let [rest (loop1 body head (+ i 2))]
(case binding
+ :until ~(do (if ,verb (break) nil) ,rest)
:while ~(do (if ,verb nil (break)) ,rest)
:let ~(let ,verb (do ,rest))
:after ~(do ,rest ,verb nil)
@@ -387,6 +388,7 @@
where :modifier is one of a set of keywords, and argument is keyword dependent.
:modifier can be one of:\n\n
\t:while expression - breaks from the loop if expression is falsey.\n
+ \t:until expression - breaks from the loop if expression is truthy.\n
\t:let bindings - defines bindings inside the loop as passed to the let macro.\n
\t:before form - evaluates a form for a side effect before of the next inner loop.\n
\t:after form - same as :before, but the side effect happens after the next inner loop.\n