Skip to content

Commit

Permalink
Merge pull request #39 from Dyalog/tacit
Browse files Browse the repository at this point in the history
Add chapter Tacit Programming
  • Loading branch information
rodrigogiraoserrao authored Nov 4, 2022
2 parents c233acc + 28356cf commit bc14121
Show file tree
Hide file tree
Showing 9 changed files with 7,148 additions and 1 deletion.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,22 @@ In the first instance, it lists the changes between consecutive releases of this
However, because this book is a rework of the first edition by Bernard Legrand,
this changelog also marks with [n] content that is new in this rework.


## 0.6.0

- [n] Add chapter “Tacit Programming”:
- [n] add section “Function Composition”:
- add section “Operators > Compose”;
- [n] add “Atop” `` and “Over” ``;
- [n] add section “Binding”:
- [n] add example of binding in the right operand of `@`, e.g. in `0@(>∘5)` to replace values larger than 5;
- add old “Operators > Commute”:
- [n] distinguish between “Commute” and “Selfie”;
- [n] add section “Constant” on `A⍨`;
- [n] write about trains;
- [n] add exercises.


## 0.5.0

- Add chapter “Operators”:
Expand Down
1 change: 1 addition & 0 deletions book/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ sections:
- file: Special-Syntax
- file: Nested-Arrays-Continued
- file: Operators
- file: Tacit-Programming
- file: Appendices
48 changes: 48 additions & 0 deletions docs/Appendices.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -764,6 +764,54 @@
"[The `⎕FMT` System Function](./Execute-and-Format-Control.ipynb#the-fmt-system-function), and\n",
"[Processing Nested Arrays](./Nested-Arrays-Continued.ipynb#processing-nested-arrays)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### `weird` - mixed doubly nested matrix"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<span style=\"white-space:pre; font-family: monospace\">┌─────┬────────────┐\n",
"│456 │┌──────┬───┐│\n",
"│ ││Dyalog│44 ││\n",
"│ │├──────┼───┤│\n",
"│ ││27 │8 6││\n",
"│ ││ │2 4││\n",
"│ │└──────┴───┘│\n",
"├─────┼────────────┤\n",
"│17 51│Twisted │\n",
"└─────┴────────────┘\n",
"</span>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"⎕← weird ← 2 2⍴456 (2 2⍴ 'Dyalog' 44 27 (2 2⍴8 6 2 4)) (17 51) 'Twisted'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Used in\n",
"[Mixed and Nested Arrays](./Data-andVariables.ipynb#mixed-and-nested-arrays),\n",
"[Pick](./Nested-Arrays-Continued.ipynb#pick),\n",
"[Reach Indexing](./Nested-Arrays-Continued.ipynb#reach-indexing), and\n",
"[Function Composition](./Tacit-Programming.ipynb#function-composition)."
]
}
],
"metadata": {
Expand Down
2 changes: 1 addition & 1 deletion docs/Operators.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5760,7 +5760,7 @@
"id": "round-pickup",
"metadata": {},
"source": [
"The exact meaning of this output will be explained in [the next chapter](./Tacit-Programming.ipynb#Tree-Diagram).\n",
"The exact meaning of this output will be explained in [the next chapter](./Tacit-Programming.ipynb#Inspecting-Tacit-Functions).\n",
"For now, it suffices to understand that it does _not_ the output of `(-@idx) vector`.\n",
"\n",
"In order for APL to know that `idx` is the right _operand_ and `vector` is the right _argument_, we must separate them in some way.\n",
Expand Down
Loading

0 comments on commit bc14121

Please sign in to comment.