aboutsummaryrefslogtreecommitdiff
path: root/doc/fromDyalog.md
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-07-21 21:52:30 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-07-21 21:52:30 -0400
commit78af096e176ab416d160a0bfeb9e6ffaaecec49d (patch)
treed6d9bffdb5ee46a09ff2a5fb08ef771feaa5a1dd /doc/fromDyalog.md
parent82daaa12bc439ed5ad57e012d57294d43c00e8df (diff)
Low-stack iteration technique
Diffstat (limited to 'doc/fromDyalog.md')
-rw-r--r--doc/fromDyalog.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/doc/fromDyalog.md b/doc/fromDyalog.md
index 0540c875..71a61b48 100644
--- a/doc/fromDyalog.md
+++ b/doc/fromDyalog.md
@@ -84,6 +84,8 @@ In BQN `⎉` is Rank and `∘` is Atop. Dyalog's Atop (`⍤`) and Over (`⍥`) w
The tables below give approximate implementations of Dyalog primitives for the ones that aren't the same. First- and last-axis pairs are also mostly omitted. BQN just has the first-axis form, and you can get the last-axis form with `⎉1`.
+The form `F⍣G` (Power with a function right operand; Power limit) must be implemented with recursion instead of primitives because it performs unbounded iteration. The modifier `_while_ ← {𝔽⍟𝔾∘𝔽_𝕣_𝔾∘𝔽⍟𝔾𝕩}` provides similar functionality without risk of stack overflow. It's discussed [here](control.md#low-stack-version) and called as `Fn _while_ Cond arg`.
+
<table>
<tr><th colspan=3>Functions</th></tr>
<tr><th> Glyph </th><th> Monadic </th><th> Dyadic </th> </tr>