💾 Archived View for tranarchy.fish › ~autumn › apl2 › contents.gmi captured on 2023-09-08 at 16:17:52. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-04-19)
-=-=-=-=-=-=-
<hr>
<h2 id="contents">Contents</h2>
<ul class="contents-list no-marker">
<li><a href="preface.html"><strong>Preface</strong></a>
<ul>
<li><a href="preface.html#acknowledgments">Acknowledgments</a></li>
</ul></li>
<li><a href="foreword.html"><strong>Foreword</strong></a></li>
<li class="contents-chapter"><a href="chapter1.html"><strong>Chapter 1: Working with APL2</strong></a>
<ul>
<li><a href="chapter1.html#section-1.1-doing-ordinary-arithmetic">Section 1.1 — Doing Ordinary Arithmetic</a>
<ul>
<li><a href="chapter1.html#simple-arithmetic">Simple Arithmetic</a></li>
<li><a href="chapter1.html#numbers">Numbers</a></li>
<li><a href="chapter1.html#exercises-for-section-1.1">Exercises for Section 1.1</a></li>
</ul></li>
<li><a href="chapter1.html#section-1.2-arithmetic-on-arrays">Section 1.2 — Arithmetic on Arrays</a>
<ul>
<li><a href="chapter1.html#thinking-arrays">Thinking Arrays</a></li>
<li><a href="chapter1.html#adding-up-numbers">Adding up Numbers</a></li>
<li><a href="chapter1.html#exercises-for-section-1.2">Exercises for Section 1.2</a></li>
</ul></li>
<li><a href="chapter1.html#section-1.3-remembering-data">Section 1.3 — Remembering Data</a>
<ul>
<li><a href="chapter1.html#assignment">Assignment</a></li>
<li><a href="chapter1.html#names">Names</a></li>
<li><a href="chapter1.html#exercises-for-section-1.3">Exercises for Section 1.3</a></li>
</ul></li>
<li><a href="chapter1.html#section-1.4-evaluation-of-expressions">Section 1.4 — Evaluation of Expressions</a>
<ul>
<li><a href="chapter1.html#order-of-evaluation">Order of Evaluation</a></li>
<li><a href="chapter1.html#use-of-parentheses">Use of Parentheses</a></li>
<li><a href="chapter1.html#use-of-blanks">Use of Blanks</a></li>
<li><a href="chapter1.html#vector-notation">Vector Notation</a></li>
<li><a href="chapter1.html#display-function"><code>DISPLAY</code> Function</a></li>
<li><a href="chapter1.html#exercises-for-section-1.4">Exercises for Section 1.4</a></li>
</ul></li>
<li><a href="chapter1.html#section-1.5-saving-your-work">Section 1.5 — Saving Your Work</a></li>
<li><a href="chapter1.html#section-1.6-errors">Section 1.6 — Errors</a>
<ul>
<li><a href="chapter1.html#types-of-errors">Types of Errors</a></li>
<li><a href="chapter1.html#clearing-errors">Clearing Errors</a></li>
<li><a href="chapter1.html#exercises-for-section-1.6">Exercises for Section 1.6</a></li>
</ul></li>
<li><a href="chapter1.html#section-1.7-terminology">Section 1.7 — Terminology</a>
<ul>
<li><a href="chapter1.html#terms-for-data">Terms for Data</a></li>
<li><a href="chapter1.html#terms-for-operations">Terms for Operations</a>
<ul>
<li><a href="chapter1.html#functions">Functions</a></li>
<li><a href="chapter1.html#operators">Operators</a></li>
</ul></li>
<li><a href="chapter1.html#commands">Commands</a></li>
</ul></li>
</ul></li>
<li class="contents-chapter"><a href="chapter2.html"><strong>Chapter 2: Working with Vectors</strong></a>
<ul>
<li><a href="chapter2.html#section-2.1-functions-that-produce-vectors">Section 2.1 — Functions that Produce Vectors</a>
<ul>
<li><a href="chapter2.html#measuring-the-size-of-a-vector-shape">Measuring the Size of a Vector: Shape</a></li>
<li><a href="chapter2.html#producing-consecutive-integers-interval">Producing Consecutive Integers: Interval</a></li>
<li><a href="chapter2.html#joining-vectors-catenate">Joining Vectors: Catenate</a>
<ul>
<li><a href="chapter2.html#catenate-versus-vector-notation">Catenate Versus Vector Notation</a></li>
</ul></li>
<li><a href="chapter2.html#exercises-for-section-2.1">Exercises for Section 2.1</a></li>
</ul></li>
<li><a href="chapter2.html#section-2.2-character-data">Section 2.2 — Character Data</a>
<ul>
<li><a href="chapter2.html#character-vectors">Character Vectors</a></li>
<li><a href="chapter2.html#vectors-with-both-numbers-and-characters">Vectors with Both Numbers and Characters</a></li>
<li><a href="chapter2.html#functions-that-work-on-characters">Functions that Work on Characters</a></li>
<li><a href="chapter2.html#exercises-for-section-2.2">Exercises for Section 2.2</a></li>
</ul></li>
<li><a href="chapter2.html#section-2.3-empty-vectors">Section 2.3 — Empty Vectors</a>
<ul>
<li><a href="chapter2.html#creating-an-empty-vector">Creating an Empty Vector</a></li>
<li><a href="chapter2.html#using-empty-vectors">Using Empty Vectors</a></li>
<li><a href="chapter2.html#exercises-for-section-2.3">Exercises for Section 2.3</a></li>
</ul></li>
<li><a href="chapter2.html#section-2.4-functions-that-manipulate-vectors">Section 2.4 — Functions that Manipulate Vectors</a>
<ul>
<li><a href="chapter2.html#selecting-items-from-a-vector-pick">Selecting Items from a Vector: Pick</a></li>
<li><a href="chapter2.html#selecting-items-from-a-vector-first">Selecting Items from a Vector: First</a></li>
<li><a href="chapter2.html#selecting-items-from-a-vector-take">Selecting Items from a Vector: Take</a></li>
<li><a href="chapter2.html#selecting-items-from-a-vector-drop">Selecting Items from a Vector: Drop</a></li>
<li><a href="chapter2.html#selecting-items-from-a-vector-indexing">Selecting Items from a Vector: Indexing</a></li>
<li><a href="chapter2.html#replacing-items-in-a-vector-selective-assignment">Replacing Items in a Vector: Selective Assignment</a></li>
<li><a href="chapter2.html#exercises-for-section-2.4">Exercises for Section 2.4</a></li>
</ul></li>
<li><a href="chapter2.html#section-2.5-scalar-functions">Section 2.5 — Scalar Functions</a>
<ul>
<li><a href="chapter2.html#scalar-conformability-and-scalar-extension">Scalar Conformability and Scalar Extension</a></li>
<li><a href="chapter2.html#scalar-functions-and-nested-arrays">Scalar Functions and Nested Arrays</a></li>
<li><a href="chapter2.html#additional-scalar-functions">Additional Scalar Functions</a>
<ul>
<li><a href="chapter2.html#scalar-function-power">Scalar Function: Power</a></li>
<li><a href="chapter2.html#scalar-functions-maximum-and-minimum">Scalar Functions: Maximum and Minimum</a></li>
<li><a href="chapter2.html#scalar-functions-floor-and-ceiling">Scalar Functions: Floor and Ceiling</a></li>
<li><a href="chapter2.html#scalar-functions-magnitude-and-direction">Scalar Functions: Magnitude and Direction</a></li>
<li><a href="chapter2.html#scalar-functions-residue-and-reciprocal">Scalar Functions: Residue and Reciprocal</a></li>
</ul></li>
<li><a href="chapter2.html#exercises-for-section-2.5">Exercises for Section 2.5</a></li>
</ul></li>
</ul></li>
<li class="contents-chapter"><a href="chapter3.html"><strong>Chapter 3: Working with Programs</strong></a>
<ul>
<li><a href="chapter3.html#section-3.1-operators-apply-to-functions">Section 3.1 — Operators Apply to Functions</a>
<ul>
<li><a href="chapter3.html#reduction-on-vectors">Reduction on Vectors</a>
<ul>
<li><a href="chapter3.html#naming-derived-functions">Naming Derived Functions</a></li>
<li><a href="chapter3.html#using-derived-functions">Using Derived Functions</a></li>
</ul></li>
<li><a href="chapter3.html#each">Each</a></li>
<li><a href="chapter3.html#exercises-for-section-3.1">Exercises for Section 3.1</a></li>
</ul></li>
<li><a href="chapter3.html#section-3.2-programs-remember-expressions">Section 3.2 — Programs Remember Expressions</a>
<ul>
<li><a href="chapter3.html#program-structure">Program Structure</a>
<ul>
<li><a href="chapter3.html#defined-function-structure">Defined Function Structure</a></li>
<li><a href="chapter3.html#defined-operator-structure">Defined Operator Structure</a></li>
<li><a href="chapter3.html#defined-sequence-structure">Defined Sequence Structure</a></li>
</ul></li>
<li><a href="chapter3.html#defining-a-program">Defining a Program</a></li>
<li><a href="chapter3.html#closer-look-at-the-header">Closer Look at the Header</a>
<ul>
<li><a href="chapter3.html#header-syntax">Header Syntax</a></li>
<li><a href="chapter3.html#local-names">Local Names</a></li>
<li><a href="chapter3.html#comments">Comments</a></li>
</ul></li>
<li><a href="chapter3.html#using-defined-functions-operators-and-sequences">Using Defined Functions, Operators and Sequences</a></li>
<li><a href="chapter3.html#errors-during-program-execution">Errors during Program Execution</a></li>
<li><a href="chapter3.html#good-apl2-programming-practices">Good APL2 Programming Practices</a>
<ul>
<li><a href="chapter3.html#creating-a-toolbox-of-utility-programs">Creating a Toolbox of Utility Programs</a></li>
<li><a href="chapter3.html#using-comments-liberally">Using Comments Liberally</a></li>
<li><a href="chapter3.html#using-local-names">Using Local Names</a></li>
</ul></li>
<li><a href="chapter3.html#exercises-for-section-3.2">Exercises for Section 3.2</a></li>
</ul></li>
</ul></li>
<li class="contents-chapter"><a href="chapter4.html"><strong>Chapter 4: Working in the APL2 Environment</strong></a>
<ul>
<li><a href="chapter4.html#section-4.1-libraries">Section 4.1 — Libraries</a>
<ul>
<li><a href="chapter4.html#establishing-a-workspace-from-your-work">Establishing a Workspace from Your Work</a></li>
<li><a href="chapter4.html#loading-a-workspace-from-the-library-load">Loading a Workspace from the Library: <code>)LOAD</code></a></li>
<li><a href="chapter4.html#removing-a-workspace-from-the-library-drop">Removing a Workspace from the Library: <code>)DROP</code></a></li>
<li><a href="chapter4.html#more-about-the-workspace-continue">More about the Workspace <code>CONTINUE</code></a></li>
<li><a href="chapter4.html#public-libraries">Public Libraries</a></li>
</ul></li>
<li><a href="chapter4.html#section-4.2-the-active-workspace">Section 4.2 — The Active Workspace</a>
<ul>
<li><a href="chapter4.html#name-of-the-active-workspace">Name of the Active Workspace</a></li>
<li><a href="chapter4.html#saving-the-active-workspace-save">Saving the Active Workspace: <code>)SAVE</code></a></li>
<li><a href="chapter4.html#replacing-the-contents-of-the-active-workspace">Replacing the Contents of the Active Workspace</a></li>
<li><a href="chapter4.html#adding-to-the-contents-of-the-active-workspace-copy-and-pcopy">Adding to the Contents of the Active Workspace: <code>)COPY</code> and <code>)PCOPY</code></a></li>
<li><a href="chapter4.html#moving-apl2-objects-between-computers-in-and-out">Moving APL2 Objects Between Computers: <code>)IN</code> and <code>)OUT</code></a></li>
<li><a href="chapter4.html#removing-objects-from-the-active-workspace-erase">Removing Objects from the Active Workspace: <code>)ERASE</code></a></li>
<li><a href="chapter4.html#listing-the-contents-of-the-active-workspace-nms-fns-ops-vars">Listing the Contents of the Active Workspace: <code>)NMS</code>, <code>)FNS</code>, <code>)OPS</code>, <code>)VARS</code></a></li>
<li><a href="chapter4.html#seeing-the-state-indicator-sis">Seeing the State Indicator: <code>)SIS</code></a></li>
<li><a href="chapter4.html#exercises-for-section-4.2">Exercises for Section 4.2</a></li>
</ul></li>
</ul></li>
<li class="contents-chapter"><a href="chapter5.html"><strong>Chapter 5: Working with Arrays</strong></a>
<ul>
<li><a href="chapter5.html#section-5.1-properties-of-arrays">Section 5.1 - Properties of Arrays</a>
<ul>
<li><a href="chapter5.html#exercises-for-section-5.1">Exercises for Section 5.1</a></li>
</ul></li>
<li><a href="chapter5.html#section-5.2-building-and-displaying-arrays">Section 5.2 — Building and Displaying Arrays</a>
<ul>
<li><a href="chapter5.html#reshape">Reshape</a></li>
<li><a href="chapter5.html#default-display-of-arrays">Default Display of Arrays</a></li>
<li><a href="chapter5.html#applying-the-display-function-to-arrays">Applying the <code>DISPLAY</code> Function to Arrays</a></li>
<li><a href="chapter5.html#exercises-for-section-5.2">Exercises for Section 5.2</a></li>
</ul></li>
<li><a href="chapter5.html#section-5.3-measuring-arrays">Section 5.3 — Measuring Arrays</a>
<ul>
<li><a href="chapter5.html#shape">Shape</a></li>
<li><a href="chapter5.html#rank">Rank</a></li>
<li><a href="chapter5.html#count">Count</a></li>
<li><a href="chapter5.html#depth">Depth</a></li>
<li><a href="chapter5.html#exercises-for-section-5.3">Exercises for Section 5.3</a></li>
</ul></li>
<li><a href="chapter5.html#section-5.4-unshaping-and-nested-shaping-of-arrays">Section 5.4 — Unshaping and Nested Shaping of Arrays</a>
<ul>
<li><a href="chapter5.html#ravel">Ravel</a></li>
<li><a href="chapter5.html#enlist">Enlist</a></li>
<li><a href="chapter5.html#nested-reshaping-of-an-array-enclose">Nested Reshaping of an Array: Enclose</a></li>
<li><a href="chapter5.html#nested-reshaping-of-an-array-disclose">Nested Reshaping of an Array: Disclose</a></li>
<li><a href="chapter5.html#exercises-for-section-5.4">Exercises for Section 5.4</a></li>
</ul></li>
<li><a href="chapter5.html#section-5.5-manipulating-an-array-along-an-axis">Section 5.5 — Manipulating an Array along an Axis</a>
<ul>
<li><a href="chapter5.html#take-and-drop-with-axis">Take and Drop with Axis</a></li>
<li><a href="chapter5.html#catenate-with-axis">Catenate with Axis</a></li>
<li><a href="chapter5.html#ravel-with-axis">Ravel with Axis</a></li>
<li><a href="chapter5.html#reduction-with-axis">Reduction with Axis</a></li>
<li><a href="chapter5.html#enclose-with-axis">Enclose with Axis</a></li>
<li><a href="chapter5.html#disclose-with-axis">Disclose with Axis</a></li>
<li><a href="chapter5.html#scalar-functions-with-axis">Scalar Functions with Axis</a></li>
<li><a href="chapter5.html#exercises-for-section-5.5">Exercises for Section 5.5</a></li>
</ul></li>
<li><a href="chapter5.html#section-5.6-other-functions-on-higher-rank-arrays">Section 5.6 — Other Functions on Higher-Rank Arrays</a>
<ul>
<li><a href="chapter5.html#first">First</a></li>
<li><a href="chapter5.html#pick">Pick</a></li>
<li><a href="chapter5.html#scalar-functions">Scalar Functions</a></li>
<li><a href="chapter5.html#exercises-for-section-5.6">Exercises for Section 5.6</a></li>
</ul></li>
<li><a href="chapter5.html#section-5.7-other-primitive-operators">Section 5.7 — Other Primitive Operators</a>
<ul>
<li><a href="chapter5.html#scan">Scan</a></li>
<li><a href="chapter5.html#n-wise-reduction">N-wise Reduction</a></li>
<li><a href="chapter5.html#outer-product">Outer Product</a></li>
<li><a href="chapter5.html#inner-product">Inner Product</a></li>
<li><a href="chapter5.html#exercises-for-section-5.7">Exercises for Section 5.7</a></li>
</ul></li>
</ul></li>
<li class="contents-chapter"><a href="chapter6.html"><strong>Chapter 6: Working with Data</strong></a>
<ul>
<li><a href="chapter6.html#section-6.1-ways-of-comparing">Section 6.1 — Ways of Comparing</a>
<ul>
<li><a href="chapter6.html#relational-functions">Relational Functions</a></li>
<li><a href="chapter6.html#match">Match</a></li>
<li><a href="chapter6.html#boolean-functions">Boolean Functions</a></li>
<li><a href="chapter6.html#exercises-for-section-6.1">Exercises for Section 6.1</a></li>
</ul></li>
<li><a href="chapter6.html#section-6.2-selecting-subsets-of-arrays">Section 6.2 — Selecting Subsets of Arrays</a>
<ul>
<li><a href="chapter6.html#indexing">Indexing</a></li>
<li><a href="chapter6.html#selecting-items-with-a-mask-replication">Selecting Items with a Mask: Replication</a></li>
<li><a href="chapter6.html#selecting-items-with-a-mask-expansion">Selecting Items with a Mask: Expansion</a></li>
<li><a href="chapter6.html#without">Without</a></li>
<li><a href="chapter6.html#selective-assignment">Selective Assignment</a></li>
<li><a href="chapter6.html#exercises-for-section-6.2">Exercises for Section 6.2</a></li>
</ul></li>
<li><a href="chapter6.html#section-6.3-searching-and-sorting">Section 6.3 — Searching and Sorting</a>
<ul>
<li><a href="chapter6.html#index-of">Index Of</a></li>
<li><a href="chapter6.html#membership">Membership</a></li>
<li><a href="chapter6.html#find">Find</a></li>
<li><a href="chapter6.html#grade-up-and-grade-down">Grade Up and Grade Down</a></li>
<li><a href="chapter6.html#reverse">Reverse</a></li>
<li><a href="chapter6.html#rotate">Rotate</a></li>
<li><a href="chapter6.html#transpose">Transpose</a></li>
<li><a href="chapter6.html#exercises-for-section-6.3">Exercises for Section 6.3</a></li>
</ul></li>
<li><a href="chapter6.html#section-6.4-computation">Section 6.4 — Computation</a>
<ul>
<li><a href="chapter6.html#power-and-exponential">Power and Exponential</a></li>
<li><a href="chapter6.html#logarithm">Logarithm</a></li>
<li><a href="chapter6.html#decode">Decode</a></li>
<li><a href="chapter6.html#encode">Encode</a></li>
<li><a href="chapter6.html#factorial-and-binomial">Factorial and Binomial</a>
<ul>
<li><a href="chapter6.html#factorial">Factorial</a></li>
<li><a href="chapter6.html#binomial">Binomial</a></li>
</ul></li>
<li><a href="chapter6.html#trigonometric-functions">Trigonometric Functions</a>
<ul>
<li><a href="chapter6.html#pi-times">Pi-times</a></li>
<li><a href="chapter6.html#circular-functions">Circular Functions</a></li>
</ul></li>
<li><a href="chapter6.html#matrix-inverse">Matrix Inverse</a></li>
<li><a href="chapter6.html#matrix-divide">Matrix Divide</a></li>
<li><a href="chapter6.html#exercises-for-section-6.4">Exercises for Section 6.4</a></li>
</ul></li>
<li><a href="chapter6.html#section-6.5-generating-random-numbers">Section 6.5 — Generating Random Numbers</a>
<ul>
<li><a href="chapter6.html#deal">Deal</a></li>
<li><a href="chapter6.html#roll">Roll</a></li>
<li><a href="chapter6.html#exercises-for-section-6.5">Exercises for Section 6.5</a></li>
</ul></li>
</ul></li>
<li class="contents-chapter"><a href="chapter7.html"><strong>Chapter 7: Working with Program Control</strong></a>
<ul>
<li><a href="chapter7.html#section-7.1-control-of-execution-branching">Section 7.1 — Control of Execution: Branching</a>
<ul>
<li><a href="chapter7.html#branch-in-a-program">Branch in a Program</a></li>
<li><a href="chapter7.html#labels">Labels</a></li>
<li><a href="chapter7.html#more-about-conditional-branching">More about Conditional Branching</a></li>
<li><a href="chapter7.html#more-about-unconditional-branching">More about Unconditional Branching</a></li>
<li><a href="chapter7.html#stopping-your-program">Stopping Your Program</a>
<ul>
<li><a href="chapter7.html#attention">Attention</a></li>
<li><a href="chapter7.html#interrupt">Interrupt</a></li>
<li><a href="chapter7.html#infinite-loops">Infinite Loops</a></li>
</ul></li>
<li><a href="chapter7.html#good-programming-practices-with-branching">Good Programming Practices with Branching</a>
<ul>
<li><a href="chapter7.html#placing-the-test-for-more-data">Placing the Test for More Data</a></li>
<li><a href="chapter7.html#style-of-branch-expressions">Style of Branch Expressions</a></li>
</ul></li>
<li><a href="chapter7.html#exercises-for-section-7.1">Exercises for Section 7.1</a></li>
</ul></li>
<li><a href="chapter7.html#section-7.2-debugging-your-program">Section 7.2 — Debugging Your Program</a>
<ul>
<li><a href="chapter7.html#stopping-where-you-choose">Stopping Where You Choose</a></li>
<li><a href="chapter7.html#restarting-your-program">Restarting Your Program</a></li>
<li><a href="chapter7.html#tracing-execution">Tracing Execution</a></li>
<li><a href="chapter7.html#exercises-for-section-7.2">Exercises for Section 7.2</a></li>
</ul></li>
<li><a href="chapter7.html#section-7.3-prompting-for-input">Section 7.3 — Prompting for Input</a>
<ul>
<li><a href="chapter7.html#evaluated-input">Evaluated Input</a></li>
<li><a href="chapter7.html#character-input">Character Input</a></li>
<li><a href="chapter7.html#executing-character-input">Executing Character Input</a></li>
<li><a href="chapter7.html#exercises-for-section-7.3">Exercises for Section 7.3</a></li>
</ul></li>
<li><a href="chapter7.html#section-7.4-output-with-quad-and-quote-quad">Section 7.4 — Output with Quad and Quote-Quad</a>
<ul>
<li><a href="chapter7.html#quad-for-output">Quad for Output</a></li>
<li><a href="chapter7.html#quote-quad-for-output">Quote-Quad for Output</a></li>
<li><a href="chapter7.html#character-input-following-character-output">Character Input Following Character Output</a></li>
<li><a href="chapter7.html#exercises-for-section-7.4">Exercises for Section 7.4</a></li>
</ul></li>
<li><a href="chapter7.html#section-7.5-controlling-output">Section 7.5 — Controlling Output</a>
<ul>
<li><a href="chapter7.html#format">Format</a></li>
<li><a href="chapter7.html#format-by-specification">Format by Specification</a></li>
<li><a href="chapter7.html#format-by-example">Format by Example</a></li>
<li><a href="chapter7.html#exercises-for-section-7.5">Exercises for Section 7.5</a></li>
</ul></li>
<li><a href="chapter7.html#section-7.6-control-of-execution-iteration">Section 7.6 — Control of Execution: Iteration</a>
<ul>
<li><a href="chapter7.html#a-number-operator">A Number Operator</a></li>
<li><a href="chapter7.html#an-each-operator-that-quits-early">An Each Operator That Quits Early</a></li>
<li><a href="chapter7.html#exercises-for-section-7.6">Exercises for Section 7.6</a></li>
</ul></li>
<li><a href="chapter7.html#section-7.7-control-of-execution-recursion">Section 7.7 — Control of Execution: Recursion</a>
<ul>
<li><a href="chapter7.html#fibonacci-numbers">Fibonacci Numbers</a>
<ul>
<li><a href="chapter7.html#iteration-or-recursion">Iteration or Recursion</a></li>
<li><a href="chapter7.html#closed-formula">Closed Formula</a></li>
</ul></li>
<li><a href="chapter7.html#tower-of-hanoi">Tower of Hanoi</a></li>
<li><a href="chapter7.html#recursive-operators">Recursive Operators</a></li>
<li><a href="chapter7.html#inadvertent-recursion">Inadvertent Recursion</a></li>
<li><a href="chapter7.html#exercises-for-section-7.7">Exercises for Section 7.7</a></li>
</ul></li>
</ul></li>
<li class="contents-chapter"><a href="chapter8.html"><strong>Chapter 8: Working with Applications</strong></a>
<ul>
<li><a href="chapter8.html#section-8.1-a-magazine-collection">Section 8.1 — A Magazine Collection</a>
<ul>
<li><a href="chapter8.html#describing-the-application">Describing the Application</a></li>
<li><a href="chapter8.html#designing-the-application">Designing the Application</a></li>
<li><a href="chapter8.html#implementing-the-application">Implementing the Application</a>
<ul>
<li><a href="chapter8.html#building-and-maintaining-the-magazine-matrix">Building and Maintaining the Magazine Matrix</a></li>
<li><a href="chapter8.html#taking-subsets-of-the-magazine-matrix">Taking Subsets of the Magazine Matrix</a></li>
<li><a href="chapter8.html#rearranging-the-magazine-matrix">Rearranging the Magazine Matrix</a></li>
<li><a href="chapter8.html#computations-on-the-magazine-matrix">Computations on the Magazine Matrix</a></li>
</ul></li>
<li><a href="chapter8.html#exercises-for-section-8.1">Exercises for Section 8.1</a></li>
</ul></li>
<li><a href="chapter8.html#section-8.2-simulation-of-a-vector-computer">Section 8.2 — Simulation of a Vector Computer</a>
<ul>
<li><a href="chapter8.html#describing-the-vector-architecture">Describing the Vector Architecture</a></li>
<li><a href="chapter8.html#designing-the-vector-architecture">Designing the Vector Architecture</a></li>
<li><a href="chapter8.html#implementing-the-vector-architecture">Implementing the Vector Architecture</a></li>
<li><a href="chapter8.html#exercises-for-section-8.2">Exercises for Section 8.2</a></li>
</ul></li>
<li><a href="chapter8.html#section-8.3-a-puzzle-solving-program">Section 8.3 — A Puzzle-Solving Program</a>
<ul>
<li><a href="chapter8.html#describing-the-puzzle-solving-program">Describing the Puzzle-Solving Program</a></li>
<li><a href="chapter8.html#designing-the-puzzle-solving-program">Designing the Puzzle-Solving Program</a></li>
<li><a href="chapter8.html#implementing-the-puzzle-solving-program">Implementing the Puzzle-Solving Program</a></li>
<li><a href="chapter8.html#a-puzzle-solving-program-using-strategy">A Puzzle-Solving Program Using Strategy</a></li>
<li><a href="chapter8.html#exercises-for-section-8.3">Exercises for Section 8.3</a></li>
</ul></li>
</ul></li>
<li class="contents-appendix"><a href="postscript.html"><strong>Postscript: Expanding Your APL2 Knowledge</strong></a>
<ul>
<li><a href="postscript.html#system-functions-and-system-variables">System Functions and System Variables</a></li>
<li><a href="postscript.html#event-handling">Event Handling</a></li>
<li><a href="postscript.html#complex-numbers">Complex Numbers</a></li>
<li><a href="postscript.html#limiting-cases">Limiting Cases</a></li>
<li><a href="postscript.html#shared-variables">Shared Variables</a></li>
<li><a href="postscript.html#auxiliary-processors">Auxiliary Processors</a></li>
<li><a href="postscript.html#external-names-and-associated-processors">External Names and Associated Processors</a></li>
</ul></li>
<li class="contents-appendix"><a href="appendixA.html"><strong>Appendix A: The <code>DISPLAY</code> Function</strong></a></li>
<li class="contents-appendix"><a href="appendixB.html"><strong>Appendix B: Editing with the Del Editor</strong></a>
<ul>
<li><a href="appendixB.html#selecting-an-editor">Selecting an Editor</a></li>
<li><a href="appendixB.html#displaying-an-existing-definition">Displaying an Existing Definition</a></li>
<li><a href="appendixB.html#entering-definition-mode-using-the-current-editor">Entering Definition Mode Using the Current Editor</a></li>
<li><a href="appendixB.html#the-apl2-full-screen-editor-editor-2">The APL2 Full-Screen Editor: <code>)EDITOR 2</code></a></li>
<li><a href="appendixB.html#the-apl2-line-editor-editor-1">The APL2 Line Editor: <code>)EDITOR 1</code></a></li>
</ul></li>
<li class="contents-appendix"><a href="appendixC.html"><strong>Appendix C: APL Blossom Time</strong></a></li>
<li class="contents-appendix"><a href="appendixD.html"><strong>Appendix D: The Great Empty-Array Joke Contest</strong></a></li>
<li class="contents-appendix"><a href="appendixE.html"><strong>Appendix E: APL2 Character Set</strong></a></li>
<li class="contents-appendix"><a href="appendixF.html"><strong>Appendix F: APL2 Release 3 Functions</strong></a>
<ul>
<li><a href="appendixF.html#indexing">Indexing</a></li>
<li><a href="appendixF.html#partition">Partition</a></li>
</ul></li>
<li class="contents-appendix"><a href="glossary.html"><strong>Glossary</strong></a></li>
<li class="contents-appendix"><a href="bibliography.html"><strong>Bibliography</strong></a></li>
<li class="contents-appendix"><a href="answers.html"><strong>Answers to Selected Problems</strong></a></li>
<li class="contents-appendix"><a href="index-section.html"><strong>Index</strong></a></li>
</ul>