|
This HTML version of Think Perl 6 is provided for convenience, but it is not the best format of the book. You might prefer to read the PDF version.
Index
-
functional programming
- != numeric inequality operator, 4.2
- () parenthesis operator, 2.6
- * multiplication operator, 2.6
- ** exponentiation operator, 2.6
- += augmented assignment operator, 2.3
- / division operator, 2.6
- = assignment operator, 2.1
- == numeric equality operator, 4.2
- ⊕ operator, 14.2.6
- ++ increment operator, 2.3
- :s adverb, 7.8.1
- :v adverb, 7.2.4.2
- < less than numeric operator, 4.2
- <= less than or equal operator, 4.2
- <== backward feed operator, 14.2.1
- <=> operator, 4.2, 9.12
- === value identity operator, 4.2
- ==> feed operator, 14.2.1
- => pair constructor, 4.2
- > greater than numeric operator, 4.2
- >= greater than or equal operator, 4.2
- & sigil, 14.1.1
-- decrement operator, 2.3
- Abelson, Harold, 5.13
- Ackermann function, 5.13, 5.13, 10.14, A.3.4
- Ackermann, Wilhelm, A.3.4
- Aho, Alfred, 7.5
- Any special value, 3.11, 3.17
- ASCII, 2.2
- AST, abstract syntax tree, 13.7, 13.7, 13.8.5, 13.8.5, 13.8.5, 13.11, 13.11
- Austin, Jane, 11.6
- abecedarian, 7.3, 8.3
- abs function or method, 5.1, 9.12
- abstract syntax tree (AST), 13.7, 13.8.5, 13.8.5, 13.11
- abstraction, 1.1, 3.15, 3.15, 12
- access, 9.2
- accessor, 12.3, 12.3, 12.4, 12.11
- accumulator, 9.14
- action
- actions
-
class, 13.5, 13.7, 13.7, 13.8.5, 13.8.5, 13.10, 13.11, 13.12, A.10.2.2
- object, 13.7, 13.7, 13.8.5, 13.8.5
- add, 14.6.1
- addition operator, 2.3
- addition with carrying, 6.8
- adverb, 7.2.4.2, 7.7.7, 7.9.4
-
:delete, 10.2
- :exists, 10.1
- :i, 7.7.7
- :ignorecase, 7.7.7, A.5.5.7
- :r, 7.7.7
- :ratchet, 7.7.7, 13.4, 13.4
- :s, 7.7.7
- :sigspace, 7.7.7, 13.4
- algorithm, 6.8, 6.10, 11.12
- algorithmic complexity, 14.3.2, 14.9
- alias, 9.14, 11.2
- alphabet, 11.18.3, 11.18.3
- alphabetic order, 7.12
- alphabetic sort, 9.11
- alternation, 7.7.5, 13.1
- alternative execution, 4.5
- ambiguity, 1.6
- ampersand sigil, 3.14, 9.8.3, 9.12
- anagram, 9.15, A.7.10
- anchor, 7.7.4
-
end of line, 7.7.4.1
- end of string, 7.7.4.1
- end of word, 7.7.4.1, A.5.5.1
- left word boundary, 7.7.4.1, A.5.5.1, A.5.5.5
- right word boundary, 7.7.4.1, A.5.5.1
- start of line, 7.7.4.1
- start of string, 7.7.4.1
- start of word, 7.7.4.1, A.5.5.1
- word boundary, 7.7.4.1, A.5.5.1
- and operator, 4.3
- angle bracket, 10.2
- anonymous function, 3.14, 3.17, 14.1.2
- anonymous subroutine, 14.1.2, 14.1.3, 14.9, A.7.1.5
- aphabetic order, 7.3
- apostrophe, 2.2, 2.5, 3.5
- append function, A.7.1.3, A.7.13
- append mode, 8.1
- approximate numeric equality, 14.8
- argument, 3.1, 3.5, 3.8, 3.8, 3.17
- arithmetic calculator, 13.7, 13.7, 13.12, A.10.2
- arithmetic operator, 1.4
- arithmetic sequence, 14.5.1, 14.5.3
- arity, 5.10, 12.4
- array, 8.1, 9.1
- artificial intelligence, 13.2
- assertion, 7.7.4
- assignment, 2.1, 2.3, 2.10, 6.2
- assuming method, 14.6.2, 14.6.2
- attribute, 12.12
-
class, 12.3, 12.15
- immutable, 12.3, 12.11
- instance, 12.3, 12.15
- mutable, 12.3, 12.11
- object, 12.1
- private, 12.3, 12.3, 12.11, 12.11.2
- public, 12.11, 12.11.2
- autoboxing, 12.1
- awk, 7.5
- BisectSearch module, A.7.15.2
- Bison, 13.2
- Bool type, 4.2
- Boolean expression, 4.2, 4.17
- Boolean function, 5.4
- BUILD submethod, 12.11.2, 12.11.2
- baby Perl, 5.5
- backtracking, 7.6, 7.6, 7.11, 12.14.6, 12.14.6, 13.4, 13.4
- backward feed operator, 14.2.1
- bag, 11.11, 11.12, A.9.3
- baghash, 11.11, A.9.3
- base case, 4.12, 4.17, 5.9, 5.13, 14.7.3, A.11.1
- benchmarking, 11.14, 11.17
- binary heap, 11.15.3
- binary number, 11.18.3
- binary search, 9.15, A.7.14
- binary tree, 11.15.2, 14.4
- birthday paradox, 9.15, A.7.12, A.7.12
- bisect, 9.15, A.7.14
- bisection search, 9.15, 11.12, A.7.14, A.7.15, A.7.15.1
- bisection, debugging by, 6.9
- bit, 11.18.3
- black box, 1.1, 3.15, 3.15, 12.1, 12.11
- body, 3.5, 3.17, 6.4
- borrowing, subtraction with, 6.8
- brace, 10.1
- bracket
- bracket operator, 7.1, 9.2
- braille alphabet, 11.18.1
- branch, 4.5, 4.17
- breakpoint, 12.14.4
- bug, 1.7, 1.8, 2.9, A.5.6
- byte, 11.18.3
- C-style loop, 9.7
- Caesar cipher, 7.12, 10.14, 12.14.5, A.5.9
- Caesar, Julius, A.10.1.1
- Car Talk, 8.7, 8.7, 8.7, 10.14, A.6.1, A.6.2, A.6.3
- Cartesian coordinates, 5.2, 12.2, 12.4, 12.12
- Cervantes, Miguel de, 12.9
- Chekhov, Anton, 12.9
- Church, Alonzo, 14.1.2, 14.6
- CMU Pronouncing Dictionary, 10.14, A.8.6
- Collatz conjecture, 6.4
- Complex type, 3.12
- Conan Doyle, Arthur, 3.16
- Curry, Haskell, 14.6
- cache, 9.12, 10.9, 10.9, 14.5.3, 14.5.3, 14.9
- calculator, 1.9, 2.11, 13.12, A.10.2
- call by reference, 3.13, 3.13
- call graph, 10.9, 10.13
- callback function, 14.1.1, 14.9
- canid, 12.8
- capture, 7.5, 7.7.6, 7.9.3, 13.1, 13.11, A.5.5.8, A.6.1
- capturing, 7.7.6, 13.3
- carnivoran, 12.8
- carrying, addition with, 6.8
- case
-
kebab, 2.2
- lower, 2.2, 7.2.4.6, 7.7.7, 9.11, 11.6, A.5.9, A.9.6.4
- title, 2.2, 7.2.4.6
- upper, 2.2, 7.2.4.6, 7.7.7, 7.12, 9.11, A.5.9
- chained conditional, 4.6, 4.17, A.3.3
- chained relational operator, 4.2, 4.7, A.3.3
- character, 7.1
- character class, 7.7.2, 7.8.1, 7.8.2, 7.12, 13.1, A.5.5.1, A.5.5.2, A.5.5.3, A.5.5.6
- chars function, 3.18, 7.2.1, 7.2.3, A.5.1
- child class, 12.15
- child node (tree), 11.15.2
- chr function, 7.12
- circular definition, 5.6
- citizen, first-class, 14.1
- class, 12, 12, 12.1, 12.2, 12.8.2, 12.8.3, 12.15
-
attribute, 12.3, 12.15
- child, 12.7.1, 12.7.1, 12.7.2, 12.15
- definition, 12.2
- inheritance, 12.7
- MovablePoint, 12.7.2
- Pixel, 12.7.1
- Point2D, 12.2
- parent, 12.7.1, 12.7.2, 12.7.3
- Rectangle, 12.5
- subclass, 12.7.1, 12.7.2
- closure, 6.5, 14.1.3, 14.1.3, 14.1.3, 14.3.3, 14.9, A.7.1.5, A.7.14
- cmp operator, 4.2, 9.12, 9.12, 9.12, 9.12, 9.12, 9.12, 9.12, 14.1.1
- code assertion, 7.7.4.3, 7.8.1, 7.8.2, 13.4, 13.5
- code block, 3.14
- code repetition, 3.15
- code reuse, 3.15, 12.8.2, A.7.15.2
- coerce, A.7.11
- coercion, 2.7, 2.7, 3.1, 4.2, 9.2, 9.2, 9.12, 11.11, A.7.10
- colon-pair syntax, 11.3.1
- comb function and method, 7.1, 7.3, 7.4, 10.3, A.5.1
- comb sort, 14.3.2
- comma, 1.5
- comma operator, 9.1
- command-line argument, A.9.5.1
- comment, 2.8, 2.10, 15.2, A.4.2
- commutativity, 2.7
- compare function, 5.1, A.3.1, A.3.1
- comparison subroutine, 9.12
- compilation, 13.2
- compiler, 1.8
- complex number, 12.8
- composition, 3.4, 3.8, 3.17, 5.3, 12.15, A.1.1
- concatenate operator, 7.2.4.3
- concatenation, 2.10, 3.9, 7.3
- condition, 4.4, 4.17, 6.4
- conditional
-
chained, 4.6, 4.17, A.3.3
- execution, 1.1, 4.4
- nested, 4.7, 4.17
- postfix , 4.8, 4.9
- statement, 4.4, 4.17
- configuration file, 13.1
- consistency check, 10.12
- constant, 15.2
- constraint, 5.9
- constructor, 12.2
- contains, 7.7.1
- control flow, 6.6
- conversion
- coordinates
-
Cartesian, 5.2, 12.2, 12.4, 12.12
- polar, 12.4, 12.7.2, 12.10
- rectangular, 5.2, 12.2
- spherical, 12.10
- corner case, 8.6, A.3.7
- count letters, A.5.7, A.5.8
- count method, 7.12
- counter, 7.4, 7.4, 7.11, 10.3, 10.3, 14.1.3
- counting and looping, 7.4
- creating new operators, 11.10, 14.2.6, 14.2.6, 14.2.6, 14.2.6, A.9.2
- cross operator, 14.2.4
- cross operator X, 14.2.4
- crosswords, 8.2
- cumulative sum, 9.15
- curly brace, 3.5, 4.4
- curly bracket, 3.5, 4.4, 6.5, 10.1, 13.8.3.3, A.8.3
- curry, 14.6, 14.6.1, 14.6.1, 14.6.2, 14.6.3, 14.9
- cypher, 11.18.2
- Dijkstra, Edsger, 8.5, 15.1, 15.2
- DNA (deoxyribonucleic acid), 11.18.3, A.9.6.2, A.9.6.2
- Don-Carlos, 12.9
- Don-Quijote, 12.9
- DRY: don’t repeat yourself, 15.2
- DSL (domain-specific language), 13.1, 14.2.6
- dash, 2.2
- data compression, 11.18.3
- data hiding, A.7.1.5
- data pipeline programming, 11.7
- data structure, 11.14
- data structure selection, 11.14
- database query language, 13.2
- date
- date format, 13.4, 13.4
- day number validation, 7.8.1
- dd function, 10.8, 10.12
- dead code, 5.1, 5.12, 15.2
- debugger, 11.16, 11.17, 12.14, 13.10, 14.7.2
-
accessing variables, 12.14.3
- breakpoint, 12.14.4
- debugging grammars, 13.10
- help, 12.14.2
- launching the, 12.14.1
- running code step by step, 12.14.3
- stepping out of subroutines, 12.14.3
- stepping over subroutines, 12.14.3
- stepping through a regex, 12.14.6, 13.10
- the Perl 6 debugger, 12.14.1
- trace point, 12.14.5
- using a, 12.14
- debugging, 1.7, 1.7, 1.8, 2.9, 4.16, 5.11, 7.10, 8.5, 9.13, 10.12, 11.16
- declaration
- declarative programming, 13.2, 13.11
- declarator, 6.5, 6.5
- declaring variables, 2.1
- decrement operator, 2.3, 6.3, 6.10
- default method invocant, 4.10
- default parameter, 11.3.2
- default statement, 11.2
- default value, 11.3.2, 11.17
- defined, 10.2
- definition
- delayed evaluation, 14.3.3
- delegation, 12.9, 12.13.2.1, 12.15
- delete adverb, 10.2, A.7.2.4
- delimiter, 7.2.4.2, 7.9.2
- denominator method, 1.5
- dequeue, A.7.1, A.7.1.2, A.7.1.4, A.7.1.5
- deterministic, 11.5, 11.17
- development plan
- diag function (test diagnostic, 14.8
- diagram
-
call graph, 10.13
- object, 12.3, 12.5, 12.15
- stack, 3.10
- state, 2.1, 6.2, 7.10, 10.8, 12.3, 12.5
- dispatching methods, 12.4
- div operator, 4.1, 4.18
- divide and conquer algorithm, 14.7.1, 14.10, A.11.1
- divisibility, 4.1, 5.5, 15.3
- division
- division by zero, 4.16
- division remainder, 4.1
- do-twice, 3.18, A.1.2
- does trait, 12.8.1
- dog, 12.8, 12.8.1, 12.8.1
- domain-specific language (DSL), 13.1, 14.2.6
- done-testing, A.9.2
- dot notation, 12.1, 12.2, 12.3, 12.3, 12.15
- double letters, 8.7
- double quote, 3.5, 4.5, 13.8.3.2
- duplicate, 9.15, 10.7, 10.14, A.7.11, A.7.12, A.8.4
- dynamic scope, 14.4, 14.4
- dynamic variable, 14.4
- Emma, 11.6
- Euclid’s algorithm, A.3.7, A.3.7
- Euclidean division, 4.1
- edge case, 8.6, A.3.7
- element, 9.1, 9.14
- elems function or method, 9.2, 10.1, 10.1, 10.2, 10.6, 15.3, A.7.11
- ellipsis, 12.8.2
- else keyword, 4.5
- elsif keyword, 4.6
- embedded object, 12.5, 12.15
- emotional debugging, 1.7
- empty list, 9.1
- empty string, 7.11
- encapsulation, 5.3, 7.4, 12, 12.1, 12.11, 12.13.2.2, 12.15, A.7.1.5
- end method, 9.2, 15.3
- end of line anchor, 7.7.4.1
- end of string anchor, 7.7.4.1
- enqueue, A.7.1, A.7.1.2, A.7.1.4, A.7.1.5
- epsilon, 6.7
- eq, string equality operator, 4.2, 7.2.4.6
- equality and assignment, 6.1
- equality operator, 4.2, 6.1
- equivalence operator, 9.2
- eqv operator, 9.2
- error
- error checking, 5.9
- error message, 1.9, 2.2, 2.9, 2.9
- evaluate, 2.3, 2.10
- even number, 4.1, 4.5
- exception, 2.9, 2.10, A.7.1.4
- execute, 2.3, 2.10
- existence
- exists adverb, 10.1
- experimental debugging, 3.16, 11.16
- exponentiation, A.10.2.2
- expression, 2.3, 2.10
- extending the language, 11.10, 13.9, 14.2.6
- extracting
- False
- February
- Fermat’s Last Theorem, 4.18, A.2.3
- Fermat, Pierre, A.2.3
- FIFO, 9.4, 14.1.3, A.7.1.5
- FIFO (first in / first out), 9.4
- Fibonacci, 10.9, A.2.5
- Fibonacci, Leonardo, 4.18
- French quote marks, 14.2.3
- factorial, 4.10, 4.10, 4.10, 9.8.1, 9.8.2, 11.10, 11.10, 14.8, A.9.2
-
function, 5.6, 5.9
- operator, 11.10, 14.2.6, A.9.2
- recursive function with debug statements, 5.11
- using a for loop, 4.10
- using a for pointy block , 4.10
- using a for statement modifier, 4.10
- using multi subroutines, 5.10
- using recursion, 5.6
- using the reduce function, 9.8.1
- using the reduction meta-operator, 9.8.2, 14.2.2
- with a lazy infinite list, 14.5.3
- factory, function, 3.14, 3.17
- feed operator, 14.2.1
- feral animal, 12.8.1, 12.8.1
- file
-
close statement, 8.1
- open statement, 8.1
- reading from, 8.1
- writing to, 8.1
- file handle, 8.1
- file mode
- file object, 8.6
- fileparse method, 13.5
- filter, 9.8.4
- filter pattern, 9.8.3, 9.14
- first in / first out (FIFO), 9.4
- first-class citizen, 14.1, 14.9
- first-class object, 3.14, 3.17, 3.18, 14.1, 14.9, A.7.1.5
- first-match alternation, 7.7.5
- fixed-size array, 9.9
- flag, 10.11, 10.13
- flip function, 7.2.4.1, A.3.5, A.5.1, A.6.3
- floating-point, 1.5, 6.7
- floating-point division, 4.1
- flow
- flow of execution, 3.7, 3.17, 5.8, 5.11, 6.4
- fmt method, A.1.1, A.6.3
- for block, 11.2
- for loop, 4.10, 4.10, 4.11, 6.6, 7.3, 7.3, 8.2, 9.6, 9.7, 12.4, 14.1.2, A.5.4, A.7.15, A.8.2
- forest, 11.15.2
- formal language, 1, 1.6, 1.8
- frame, 3.10, 3.17, 4.12, 5.6, 10.9
- frequency, 10.3
- frugal quantifier, 7.7.3
- fruitful function, 3.11, 3.17
- fun, 11.14, 13.10, 15.2, 15.4
- function, 3, 3.2, 3.5, 3.17
-
abs, 5.1, 9.12
- ack, 5.13, 10.14
- anonymous, 3.14, 3.17, 14.1.2
- argument, 3.8
- call, 3.1, 3.5, 3.17
- chars, 3.18, 7.2.1
- chr, 7.12
- comb, 7.1
- compare, 5.1
- dd, 10.12
- definition, 3.5, 3.6, 3.17
- elems, 10.1
- Fibonacci, 5.8, 10.9
- factorial, 5.6
- factory, 3.14, 3.17
- flip, 7.2.4.1
- frame, 3.10, 3.17, 5.6
- gamma, 5.9
- get, 4.14
- grep, 14.2, 14.2
- higher-order, 3.14, 14.1.1, 14.9
- index, 7.2.2
- join, 7.2.4.5, 14.2
- lc, 9.12
- log, 3.3
- log10, 3.3
- map, 14.1.3, 14.2, 14.2
- math, 3.3
- open, 8.1
- ord, 7.12
- parameter, 3.8
- pop, 9.4
- programmer defined, 3.8
- prompt, 4.14, A.2.2
- push, 9.4, 10.2
- Rat, 3.1
- rand, 9.15, 11.5
- recursive, 4.11, A.2.1
- reduce, 14.2
- reverse, 14.2
- rindex, 7.2.2
- round, 3.1
- Str, 3.1
- say, 1.3
- signature, 3.12, 3.17
- slurp-rest, 8.1
- so, 7.7.7
- sort, 9.11, 14.2
- split, 7.2.4.2, 14.2
- sqrt, 3.3, 5.2
- squish, 9.2
- substr, 7.2.3
- trigonometric, 3.3
- unique, 9.2
- function composition, 5.3
- function factory, 14.6.2, A.7.1.5
- function frame, 4.12, 10.9
- function, fruitful, 3.11
- function, reasons for, 3.15
- function, void, 3.11
- functional programming, 9.8.5, 9.12, 14, 14.4, A.7.1.5, A.7.6, A.7.9
- Gadsby, 8.3
- GCD (greatest common divisor), 5.13, A.3.7
- German quote marks, 14.2.3
- Grammar::Debugger, 13.10
- Grammar::Tracer, 13.10
- Gregorian calendar, A.10.1.1
- Gregory XIII, Pope, A.10.1.1
- gamma function, 5.9
- gather and take construct, 14.4
- gather function, 14.4
- gcd function, 5.13, A.3.7, A.3.7
- generalization, 8.4.3
- generic subroutine, 3.14
- geometric sequence, 14.5.1, 14.5.3
- get function, 4.14, 8.2
- getter, 12.11
- given statement, 11.2, 12.4, A.9.1
- global variable, 10.11, 10.13
- golden ratio, 2.2
- grammar, 13, 13.1, 13.5, 13.5, 13.11, A.10.2.1, A.10.2.2
-
arithmetic calculator, 13.7, 13.12, A.10.2, A.10.2.2
- date, 13.5, A.10.1
- debugging, 13.10
- FormalMessage, 13.6
- inheritance, 13.6, 13.9
- JSON, 13.8
- Message, 13.6, 13.6
- methods, 13.5
- mutable, 13.9
- subclassing, 13.9
- grammar inheritance, 13.6
- grammatical analysis, 13.1
- grapheme, 7.2.1, 7.2.3
- greatest common divisor (GCD), 5.13, A.3.7
- greedy quantifier, 7.7.3
- grep, 7.5, 9.8.4, 9.8.4, 10.1, 14.1.1, 14.2, 14.2, 14.3.1.2, 14.4, 14.9, A.7.15
- grep function, 9.8.5, 14.1.2, A.7.3
- grid, 3.18
- grouping, 7.7.6
- guardian pattern, 5.9, 5.12, 7.10, A.2.6, A.3.4
- guide, 12.8.3
- Hamlet, 12.9
- Hello, World, 1.3
- Hoare, Charles Antony Richard, 14.2.6, 14.10
- Holmes, Sherlock, 3.16
- HTML parsing, 13.5
- Huffman
-
code, 11.18.1, 11.18.3, 11.18.3, 11.18.3, 11.18.3, 11.18.3, A.9.6.2, A.9.6.5
- decoding, A.9.6.5
- encoding, A.9.6.4
- table, 11.18.3, A.9.6.2, A.9.6.3, A.9.6.4
- tree, A.9.6.5
- Huffman, David A., 11.18.3
- half-interval search, 9.15, A.7.14
- hard-coded value, 15.2
- has-duplicates, 9.15, A.7.11
- hash, 10.1, 10.13, 11.14, A.7.11, A.7.15.1, A.8.1
-
function, 10.8, 10.13
- invert, 10.8, 10.8
- lookup, 10.5
- looping with, 10.4
- multidimensional, A.8.3
- reverse lookup, 10.5
- subtraction, 11.9, 11.10
- hash lookup, 10.5
- hash merge operator, 14.2.6
- hash slice, 15.3
- hashable, 10.8, 10.13
- hashtable, 10.13
- head, 11.9
- head method, 11.9
- header, 3.5, 3.17
- heap, 11.15.3, A.9.6.5
- heap sort, 11.15.3
- hierarchical model, 12.8
- higher-order function, 9.8.5, 14.1, 14.1.1, 14.3.1.1, 14.9
- histogram, 10.3
- homophone, 10.14, A.8.6
- hyperoperator, 14.2.3, 14.2.3, 14.2.5
- hypotenuse, 5.2, A.3.2, A.3.2, A.3.2
- INIT now, A.7.13
- Int function or method, 11.5
- Int method, 3.1
- Int type, 1.5
- IO role, 8.1
- IO.lines method, 8.1, 8.2
- IO.slurp method, 8.1
- IP address
- idiom, 15.3
- idiomatic, 3.14, 4.3, 5.6, 6.6, 9.7, 10.1, 10.6, 14.1.3, A.6.3
- idiomatic Perl 6, 15.3
- if statement, 4.4
- immutability, 10.8
- immutable parameter, 3.13, 3.17
- implementation, 10.3, 10.13, 11.14, 12.12
- increment operator, 2.3, 6.3, 6.10, 10.3
- incremental development, 5.2, 5.12
- incrementation, 7.4
- indentation, 3.5, 4.4, 4.7, 15.2
- index, 7.1, 7.3, 7.7.1, 7.10, 7.11, 9.2, 10.1, 15.1
- index function, 7.2.2, 7.3, 7.3, 7.7.1, 7.12, A.5.7
- infinite list, 14.3.3, 14.5.2, 14.5.2
- infinite loop, 6.4, 6.6, 6.10, 9.7, 15.3, A.5.7, A.6.3, A.8.3
- infinite recursion, 4.13, 4.17, 5.9
- infinity symbol, 14.5.2
- infix, 11.10
- information hiding, 12.15
- inheritance, 12.1, 12.7, 12.8, 12.15
- initialization
- initialization (before update), 6.3
- input, 1.1
- instance, 12.2, 12.15
- instance attribute, 12.3, 12.15
- instantiate, 12.15
- instantiation, 12.2
- instruction, 1.1
- integer, 1.5, 1.8, 12.8
- integer division, 4.1, 4.1, 4.17, 4.18, A.2.2
- interactive mode, 2.4, 2.4, 2.10, 2.11, 3.11, 5.2, 8.2
- interface, 12.10, 12.11.1, 12.12
- interlocking words, 9.15
- interpolating a code block in a string, 11.6
- interpolation, 3.5, 4.5
- interpret, 1.8
- interpreter, 1.2
- introspection, 1.5
- inverting a hash, 10.8, 10.8
- invocant, 1.5, 1.5, 4.10, 7.7.1, 8.4.1, 12.1, 12.4, 12.4, 12.9, 12.10, 12.10, 15.3
- invocation, 1.5, 3.2
-
method, 3.1, 3.2, 3.5, 3.5, 7.2.1, 7.6, 9.3, 12.2, 12.4, 12.4, 12.5, A.7.4, A.7.11
- is
- is copy trait, 3.13
- is divisible operator, 5.5
- is export
- is function (testing), 14.8
- is rw trait, 3.13, 12.3, 12.7.2
- is-anagram, 9.15, A.7.10
- is-approx function (testing), 14.8
- is-between, A.3.3
- is-leap-year function, A.10.1.1
- is-reverse, 7.10, 7.10, A.5.6
- is-sorted, 9.15, A.7.9
- isa method, 12.2
- item, 7.11, 9.1, 9.14, 10.1
- item assignment, 9.2
- iter
- iter-map, 14.3.4
- iteration, 6.4, 6.10, A.4.1
- iterator, 14.3.3, 14.3.3, 14.3.4, 14.9
- JSON
-
array, 13.8.1, 13.8.3.4
- Boolean, 13.8.1
- base types, 13.8.1
- format, 13.8.1
- grammar, 13.8.4
- number, 13.8.1, 13.8.2, 13.8.3.1
- object, 13.8.1, 13.8.3.3
- sample, 13.8.2
- string, 13.8.1, 13.8.3.2
- value, 13.8.1, 13.8.3.3, 13.8.3.5
- JSON grammar, 13.8
- Julian calendar, A.10.1.1
- join, 14.2
- join function or method, 7.2.4.5
- Kernighan, Brian, 7.5, 15
- KISS: keep it simple, stupid, 15.1
- Knuth, Donald, 14.2.6, 15.2
- kebab case, 2.2
- key, 10.1, 10.13
- key-value pair, 10.1, 10.13, 13.8.3.3
- keyboard input, 4.14
- keys function, 11.12
- keys function or method, 9.6, 10.2, 10.4, 15.3
- keyword, 2.2, 2.10
- kv function or method, 9.6, 10.2, 10.8, 15.3
- LIFO, 9.4
- LIFO (last in / first out), 9.4
- Linux, 3.16
- lambda, 14.1.2, 14.1.2, 14.1.2, 14.9
- lambda calculus, 14.1.2
- language
- last in / first out (LIFO), 9.4
- last statement, 6.6, A.5.7, A.6.3
- laziness, 14.3.3, 14.3.3, 14.3.4, 14.5.1, 14.9
- lazy
- lc function or method, 7.2.4.6, 9.12
- lcm function, 14.2.5
- leaf (tree), 11.15.2
- leap of faith, 5.7
- leap year, 13.4, A.10.1, A.10.1.1, A.10.1.1
- leg operator, 4.2, 9.12
- letter rotation, 7.12, 10.14, A.5.9
- lexical, 2.1
- lexical analysis, 13.1
- lexical scope, 3.9, 6.5, 13.5, 14.1.3, 14.1.3, 14.4, 14.4
- lexical subroutine, A.3.7
- lexical variable, 6.5, 6.5, 10.11
- lexicographic sort, 9.11
- lexing, 13.1, 13.11
- like function (testing), 14.8
- linked list, 11.15.1, 11.15.1
- lipogram, 8.3
- list, 9.1, 9.14, 9.14
- list flattening, A.5.2, A.7.1.2, A.7.1.3, A.7.5
- literal, 2.3
- literal matching, 7.7.1
- literalness, 1.6
- local variable, 3.9, 3.17
- log function, 3.3
- log10 function, 3.3
- logarithmic search, A.7.14
- logical operator, 4.2, 4.3, 4.7
- longest-match alternation, 7.7.5
- look-around assertion, 7.7.4.2
- lookup, 10.5, 10.13
- lookup, hash, 10.5
- loop, 6.4, 9.7
-
for, 4.10, 4.10, 4.11, 6.6, 7.3, 9.6
- infinite, 6.4, 6.6, 6.10, 9.7, 15.3, A.5.7, A.6.3, A.8.3
- keyword, 9.7
- statement, 9.7
- traversal, 7.3
- while, 6.4
| - looping
-
with hashes, 10.4
- with strings, 7.4
- looping and counting, 7.4
- lower case, 2.2, 7.2.4.6, 7.7.7, A.5.9
- MAIN, 4.15, 14.8, A.9.5.1
- Markov analysis, 11.13, 11.13, A.9.5, A.9.5.2
- McCloskey, Robert, 7.3
- Moby Project, 8.2
- Morse code, 11.18.1, 11.18.3
- Morse, Samuel, 11.18.1
- MovablePoint class, 12.7.2
- made method, 13.7
- magical number, 15.2
- maintainable, 12.12
- make method, 13.7
- makefile, 13.2
- mammal, 12.8, 12.8.1, 12.8.1
- mandatory attribute, 15.3
- map, 9.8.3, 9.8.3, 9.8.3, 9.8.4, 10.7, 14.1.1, 14.1.3, 14.1.3, 14.2, 14.2, 14.2.3, 14.3, 14.3.1.1, 14.3.3, 14.3.4, 14.4, 14.4, 14.6.3, 14.9, A.8.2
- map function, 9.8.3, 9.8.5, 14.1.2, A.7.3
- map pattern, 9.8.3, 9.14
- mapping, 10.1, 10.13, 11.13
- mash-up, 11.13
- match method, 7.6
- match object, 13.1, 13.1, 13.3, 13.3, 13.7, 13.11
- matched string, 7.6
- matching a date, 13.4
- math function, 3.3
- meaningful identifier, 15.2
- membership
- memo, 10.9, 10.9, 10.13
- memoize, 10.9, 10.9, A.8.3
- merge sort, 14.3.2, 14.7.1
- merging arrays or lists, 14.7.1
- metaoperator, 9.8.2, 14.2.2, 14.2.4, 14.2.4, 14.9, 15.3, A.7.6
- method, 3.2, 12, 12.1, 12.1, 12.4, 12.4, 12.15
-
abs, 9.12
- accessor, 12.3
- assuming, 14.6.2
- comb, 7.1
- count, 7.12
- denominator, 1.5
- dispatch, 12.4, 12.7.1, 12.8.1
- elems, 10.1
- Int, 3.1
- invocation, 3.5
- keys, 10.4
- lc, 9.12
- match, 7.6
- nude, 1.5
- numerator, 1.5
- overriding, 12.7.1, 12.7.2
- private, 12.11.1, 12.11.1
- public, 12.11.1
- sort, 10.4
- values, 10.1
- method dispatch, 12.7.1
- method invocation, 3.1, 3.2, 3.5, 3.5, 7.2.1, 7.6, 9.3, 12.2, 12.4, 12.4, 12.5, A.7.4, A.7.11
- mix, 11.11
- mixhash, 11.11
- mod, modulo operator, 4.18
- modified quantifier, 13.8.3.3
- modifier, 7.7.7, 7.9.4
- module, 3.3, 3.17, A.7.15.2, A.7.15.2
- modulo operator, 4.1, 4.1, 4.17, 4.18, 14.2.6, A.2.2
- month number validation, 7.8.1
- multi
- multi method, 12.7.1
- multi subroutines, 14.8
- multidimensional array, 9.10, A.8.3
- multidimensional hash, A.8.3
- multiline comment, A.4.2
- multiple inheritance, 12.8.1
- multiplication tables, 4.16, 14.1.2
- mutability, 9.2
- mutable parameter, 3.13
- mutator, 12.4, 12.11
- my, 2.1, 3.9, 6.5, 6.5
- my-grep, 14.3.1.2, 14.4
- my-map, 14.3.1.1, 14.4
- Newton’s method, 6.7, A.4.1, A.4.1
- Newton, Isaac, A.4.1
- Nil, A.7.1.4
- Numeric type, 3.12
- named
-
capture, 13.3, 13.4, 13.8.5
- regex, 13.4, 13.4, 13.4
- rule, 13.4, 13.4, 13.7
- token, 13.4, 13.4
- named parameter, 11.3.1, 12.5, 12.7.2, 12.11.2
- namespace, 13.5, 13.5
- natural language, 1.6, 1.8
- ne, string inequality operator, 4.2, A.7.10
- negated character class, 7.7.2
- negative look-around assertion, 7.7.4.2
- nested conditional, 4.7, 4.17
- nested expressions, A.10.2.2
- nested list, 9.1, 9.14, A.7.5
- new
- new operators
- new, object constructor, 12.2
- newline character, 8.1
- next statement, 6.6, 6.6
- node (tree), 11.15.2
- nok function (testing), 14.8
- non-regression test, 14.8
- not operator, 4.3
- now, A.7.13, A.7.13
- nude method, 1.5
- number, random, 11.5
- numbered capture, 7.7.6, 13.3
- numerator method, 1.5
- numeric equality operator, 9.2
- numeric relational operator, 4.2
- numeric sort, 9.11
- nummification, 7.8.1
- OOP (object-oriented programming), 12
- object, 7.11, 12, 12.1, 12.8.3, 12.15, A.7.1.5
-
behavior, 12.1
- attribute, 12.1
- class, 12.2
- composition, 12.5, 12.5, 12.15
- constructor, 12.2
- embedded, 12.5, 12.15
- file, 8.1, 8.6
- first-class, 3.18
- instance, 12.2
- interface, 12.11
- state, 12.1
- type, 12.15
- object diagram, 12.3, 12.5, 12.15
- object, first-class, 3.14, 3.17, 14.1, A.7.1.5
- object-oriented design, 12.12
- object-oriented programming, 12
- object-oriented programming (OOP), 12, 12.1
- object-oriented programming (OOP))
- octet, 7.8.2, 7.8.2, 7.8.2, 12.7.1, 12.7.1, 12.7.1
- odd number, 4.1, 4.5
- odometer, 8.7, A.6.2
- off-by-one error, 7.10, 14.7.2, 14.7.2
- offset, 7.2.2
- ok function (testing), 14.8
- omitting the semi-colon, 4.4, 4.4
- one-liner mode, 2.5, 2.10, 8.4.1, 11.5, 12.14.6, A.5.9, A.5.9, A.6.1, A.9.5.1
- open function, 8.1
- open source code, 3.15
- operand, 2.3, 2.10
- operator, 1.8, 2.3
-
!= (numeric inequality), 4.2
- * (multiplication), 2.6
- ** (exponentiation), 2.6
- – (decrement), 2.3
- / (division), 2.6
- == (numeric equality), 4.2
- ⊕, 14.2.6
- ++ (increment), 2.3
- < (numerically less than), 4.2
- <= (less than or equal), 4.2
- <=> (numeric comparison), 4.2, 9.12
- === (value identity), 4.2
- => (pair constructor), 4.2
- > (numerically greater than), 4.2
- >= (greater than or equal), 4.2
- and, 4.3
- arithmetic, 1.4
- assignment, 2.1
- backward feed, 14.2.1
- bracket, 7.1, 9.2
- cmp, 9.12, 9.12, 9.12, 9.12, 9.12, 14.1.1
- comma, 9.1
- cross, 14.2.4, 14.2.4
- div, 4.1, 4.18, A.2.2
- eq (string equality), 4.2
- equal, 4.2
- eqv, 9.2
- feed, 14.2.1
- gt (alphabetically after), 4.2
- leg, 4.2, 9.12
- logical, 4.2, 4.3
- lt (alphabetically before), 4.2
- mod, 4.18, A.2.2
- modulo, 4.1, 4.1, 4.17
- ne (string inequality), 4.2
- not, 4.3
- numeric equality, 9.2
- or, 4.3
- overloading, 11.10
- precedence, 14.2.6, A.5.8
- range, 4.10
- relational, 4.2, 4.2
- sequence, 14.5.1
- set, 1.4
- set contain, 11.11
- set difference, 11.11
- set membership, 11.11
- slice, 9.2
- smart match, 4.2, 7.5, 7.6, 9.2, 13.1
- square bracket, 9.1
- string, 2.7
- ternary, 11.1
- three-way, 4.2
- tr, A.5.9
- whatever, 14.5.2
- X (cross), 14.2.4
- Z (zip), 14.2.4
- zip, 14.2.4, 14.2.4, 15.3
- operator construction, 11.10
- operator precedence, 2.6, 2.10, 4.3
- operator type
- optional parameter, 11.3.2, 11.8
- or operator, 4.3
- ord function, 7.12
- order of operations, 2.6, 2.10
- our, 6.5
- out-of-range error, 7.10, 9.9
- output, 1.1
- overload operators, 11.10
- override, 11.17
- overriding a method, 12.7.1, 12.7.2, 12.11.2
- PCRE (Perl Compatible Regular Expressions), 7.5
- PEMDAS, 2.6
- Perl 6 grammar, 13.1
- Perl 6 version, 1.2
- Perl Compatible Regular Expressions (PCRE), 7.5
- Perl culture, 5.5
- Perl 6 documentation, 15.4
- Perl 6 in a browser, 1.2
- Pixel class, 12.7.1, 12.7.1, 12.7.1
- Poe, Edgar Allan, 11.18.2, A.9.6.1
- Point2D class, 12.2, 12.2, 12.4
- Point3D class, 12.10
- Project Gutenberg, 11.4, 11.6, 11.18.2
- Puzzler, 8.7, 8.7, 8.7, 10.14
- Pythagorean theorem, 5.2, 5.2
- pair, 11.15.1, 14.3.4, A.9.6.2
- pair constructor, 4.2, 10.1, 11.3.1
- pairs function or method, 10.2
- palindrome, 5.13, 5.13, 5.13, 8.4.7, 8.7, 8.7, 14.8, A.3.5, A.3.5, A.6.2, A.6.3
- parallelogram, 12.8
- parameter, 3.8, 3.9, 3.17
-
default value, 11.3.2
- immutable, 3.13
- mutable, 3.13
- named, 11.3.1, 12.5, 12.7.1, 12.7.2, 12.11.2
- optional, 11.3.2, 11.8
- positional, 11.3, 11.3.2, 12.7.1, 12.7.2, 12.11.2
- slurpy, 11.3.2
- parameter type, 3.12
- parent class, 12.15
- parent node (tree), 11.15.2
- parentheses, 2.6, 13.12
-
argument in, 3.1
- empty, 3.5
- grouping and capturing, 7.7.6
- overriding precedence rule, 13.12
- parameters in, 3.8, 3.9
- parse, 1.6, 1.8, 13.8.4, 13.12
- parse method, 13.5, 13.5, 13.7
- parse tree, 13.7, 13.8.5
- parsing, 13.1, 13.5, 13.11
- pattern, 7.5, 7.7, 7.11, 13.1, 13.1
-
filter, 9.8.3, 9.14
- guardian, 5.9, 5.12, 7.10
- map, 9.8.3, 9.14
- reduce, 9.8.1, 9.14
- search, 7.11, 8.4
- pet animal, 12.8.1, 12.8.1
- phi, 2.2
- pi, 2.2, 2.6, 3.3, 6.11
- pick function or method, 10.6, 11.5, 11.12, 15.3
- pipe-line programming, 5.3, 14.2, 14.7, 14.9, A.9.6.1
- pipeline programming, 14.1.1
- pivot
- placeholder, 9.7, 9.7, 9.12, 9.12, 14.1.2
- plain text, 8.1, 11.4
- poetry, 1.6
- point, mathematical, 12.2
- pointy block, 4.10, 14.1.2, A.5.4
-
using several items, A.5.4
- polar coordinates, 12.4, 12.7.2, 12.10, 12.12
- polymorphism, 12.1, 12.10, 12.13.2.3, 12.15
- pop function, 9.3, 9.4, 9.4, A.7.1, A.7.2.1, A.7.2.1, A.7.8
- positional parameter, 11.3, 11.3.2, 12.7.1, 12.7.2, 12.11.2
- postcondition, 5.11
- postfix
- postfix conditional, 4.8, 4.9
- postfix notation, 4.10
- postmatch, 7.8.1
- power, 5.13, A.3.6, A.3.6
- precedence, 2.6, 4.3, 13.12, 14.2.6, A.5.8, A.10.2.1, A.10.2.2
- precondition, 5.11
- prefix, 11.13
- prefix decrement operator, A.5.1
- prematch, 7.8.1
- premature optimization, 15.2
- prepend function, A.7.1.2
- print statement, 1.3, 1.8
- print-grid, 3.18, 3.18, A.1.3, A.1.3
- printf function, A.1.1, A.2.2, A.4.1
- private attribute, 12.3, 12.3, 12.11.2
- private method, 12.11.1, 12.11.1
- problem solving, 1, 1.8
- proceed clause, 11.2, A.9.1, A.9.1
- profile module, 11.14
- program, 1.1, 1.8
- programmer-defined function, 3.8
- programmer-defined type, 12.2, 12.2, 12.15
- programming, 1
- programming paradigm, 14
- prompt, 1.2, 1.8, 12.14.1, A.2.2
- prompt function, 4.14
- prose, 1.6
- pseudo-code, 14.2.6
- pseudo-Morse, 11.18.3, 11.18.3, A.9.6.4, A.9.6.5
- pseudorandom, 11.5, 11.17
- public method, 12.11.1
- push function, 9.3, 9.4, 9.4, 9.4, 9.15, 10.2, 10.6, A.7.1.3, A.7.2.2, A.7.13
- quadrilateral, 12.8
- quantifier, 7.7.3, 7.8.2, 13.1, A.5.5.2, A.5.5.5
- queue, 9.4, 9.4, 11.15.1, A.7.1, A.7.1.4, A.7.1.4
- quick sort, 14.3.2, 14.3.2, 14.10, 14.10, A.11.1
- quicksort, 14.2.6
- quotation mark, 1.3, 1.5
- quote
- quote mark, 2.5
- quote-word operator, 9.1, 10.2
- Ramanujan, Srinivasa, 6.11, A.4.2
- Rat function, 3.1
- REPL, 1.2, 2.3, 2.11, 5.2, 8.2, 9.1
- Real type, 3.12
- Rectangle class, 12.5
- RGB, 12.7.1, 12.7.1
- radian, 3.3
- rand function, 9.15, 10.6, 10.6, 11.5
- random number, 11.5, 15.3
- random text, 11.13
- random walk programming, 11.16
- range, 9.2
- range operator, 11.2, 14.5.1, 15.3, 15.3
- range quantifier, 7.7.3
- ratchet, 13.4, 13.4
- rational, 1.8, 12.8
- read mode, 8.1
- real number, 12.8
- reassignment, 6.2, 6.10, 9.2
- rectangle, 12.5, 12.5, 12.8
- rectangular
- rectangular coordinates, 12.2
- recursion, 4.11, 4.11, 4.17, 4.18, 5.6, 5.7, 8.4.6, A.2.6, A.3.5, A.7.5, A.7.14, A.7.14, A.10.2.1, A.11.1
- recursive definition, 5.6
- recursive rules, 13.4, 13.5
- reduce, 9.8.4, 14.1.1, 14.2, 14.9
- reduce function, 9.8.5, 14.1.2, 15.3
- reduce pattern, 9.8.1, 9.14
- reducible word, 10.14
- reduction, 14.2.2, 14.9
- reduction method, 13.7
- reduction operator, 9.8.2, 15.3, A.7.6
- reduction to a previously solved problem, 8.4.5, 8.4.7, 8.6
- redundancy, 1.6
- regex, 7, 7.2.4.2, 7.5, 7.11, 8.4, 9.12, 11.2, 12.14.6, 13, 15.1, A.5.4, A.5.5, A.6.1
- regular expression, 7.2.4.2, 7.5, 7.11, 13
- reinventing the wheel, 15.2
- relational operator, 4.2, 4.2
- repeated method, A.7.11
- repetition, 1.1
- representation, 12.2, 12.5
- reserved word, 2.2
- return, 3.11
- reverse, 9.12, 14.2, A.9.6.5, A.9.6.5
- reverse function or method, 10.8
- reverse lookup, 10.5, 10.5, 10.13
- reverse lookup, hash, 10.5
- reverse word pair, 9.15, A.7.15
- rhombus, 12.8
- right-justify, A.1.1
- rindex function, 7.2.2
- role, 8.1, 12.1, 12.2, 12.8, 12.8, 12.8.2, 12.8.3, 12.15
- roll method, A.7.12
- root (tree), 11.15.2
- rosettacode, 14.4
- rot13, 7.12, A.5.9
- rotation, letter, 7.12, A.5.9
- rotation, letters, 10.14
- round function, 3.1
- rubber duck debugging, 11.16, 11.17
- rule, 13.4, 13.4, 13.11, A.10.2.1, A.10.2.2
- running pace, 1.9, 2.11
- runtime error, 2.9, 4.13, 4.16
- rx regex operator, 7.6
- Saint-Exupéry, Antoine de, 11.13
- Schiller, Friedrich, 12.9
- Shakespeare, William, 12.9
- Str function, 3.1
- String type, 3.12
- Sussman, Gerald Jay, 5.13
- s/// operator, 7.9.2
- safe language, 2.9
- sanity check, 10.12
- say function or method, 1.3, 10.8
- scaffolding, 5.2, 5.12, 10.12, 15.2
- scalar, 2.1, 2.1
- scalar context, 10.6
- scope, 3.9, 3.9, A.7.1.5
- script, 2.4, 2.10
- script mode, 2.4, 2.4, 2.10, 3.11
- search, 7.11
- sed, 7.5
- self, 12.4
- self-declared parameter, 9.7, 14.1.2
- semantic error, 2.9, 2.10
- semantics, 2.10
- semi-colon, 1.3, 2.3, 2.11, A.8.3
- semi-colon, omitting, 4.4, 4.4
- semi-predicate problem, 14.3.4
- sequence, 1.5, 7, 7.1, 7.11, 9.1
- sequence operator, 14.5.1, 14.5.3, 15.3
- sequential search, 10.1
- set, 1.4, 11.11, A.9.3
- sethash, 11.11
- setter, 12.11
- shaped array, 9.9, 9.9
- sheep dog, 12.13.1
- shepherd, 12.13.1
- shepherd-boy, 12.13.1
- shift function, 9.3, 9.4, 9.4, A.7.1.3, A.7.8
- short-circuit boolean operators, 4.3
- short-circuit evaluation, 4.3, A.7.9
- sigil, 2.1, 2.2, 2.6, 2.10, 3.14, 9.1, 9.7, 9.8.3, 9.12, 10.1, 14.1.1
- sigil, percent, 10.1
- signature, 3.12, 3.12, 3.13, 3.17, 4.15, 9.4, 9.5, 9.7, 11, 11.3, 11.3.2, 11.10, A.1.2, A.2.6, A.3.4, A.3.7, A.7.1.1, A.7.1.1, A.7.1.2, A.7.2.2, A.7.15.2, A.9.2, A.9.4, A.9.5.1
- sigspace, 13.4
- simplicity, 15.1
- sin function, 3.3
- single quote, 2.2, 3.5, 4.5
- slang, 13.1
- slice, 7.1, 7.11, 9.2, 11.7, A.7.7, A.7.8
- slurp, A.7.13
- slurp function, 8.1, 8.1
- slurpy parameters, 11.3.2, A.7.1.2, A.7.2.2, A.7.2.3
- smart match, 11.2
- smart match operator, 4.2, 7.5, 7.6, 7.6, 7.9.2, 9.2, 13.1
- so function, 7.7.7
- software metric, 14.8
- solutions to the exercises, A
- sort, 9.11, 9.12, 9.12, 11.7, 14.1.1, 14.1.2, 14.2, 14.2.1, A.7.4, A.7.9, A.7.10, A.7.11
-
ASCIIbetical, 9.11
- alphabetic, 9.11
- bubble sort, 14.3.2
- case insensitive, 9.12, 9.12
- code object, 9.12
- comb sort, 14.3.2, 14.3.2, 14.3.2
- comparison subroutine, 9.12
- function or method, 9.11, 10.4
- lexicographic, 9.11
- merge sort, 14.3.2, 14.3.2, 14.7.1
- numeric, 9.11
- quick sort, 14.2.6, 14.3.2, 14.3.2, 14.10, A.11.1, A.11.1
- reverse order, 9.12
- transformation subroutine, 9.12, A.7.4, A.7.4
- sorting, 4.2, 4.2, A.3.1
- special case, 8.5, 8.6
- special value
- special variable, 4.10, 4.10
- spherical coordinates, 12.10
- splice function, 9.13, A.7.2.1, A.7.13
- split, 14.2
- split function or method, 7.2.4.2, 15.3
- sprintf function, 8.7, A.1.1, A.6.3
- spurt function, 8.1
- sqrt function, 3.3, 5.2
- square, 12.8
- square bracket, 7.7.6
- square bracket operator, 7.1, 7.7.6, 9.1
- square root, 6.7, 6.11, A.4.1
- squish function, 9.2, 15.3
- stack, 9.4, 9.4, 11.15.1, 11.15.1, A.7.1.4, A.7.1.4
- stack diagram, 3.10, 3.10, 3.17, 4.12, 5.6, 5.13
- start of line anchor, 7.7.4.1
- start of string anchor, 7.7.4.1
- state, 6.5, 10.11
- state diagram, 2.1, 2.10, 6.2, 7.10, 10.8, 12.3, 12.5
- statement, 2.3, 2.10
-
assignment, 2.1, 2.1, 6.2
- conditional, 4.4, 4.17
- for, 4.10, 6.6, 7.3, 9.6, A.5.2
- if, 4.4
- last, 6.6
- next, 6.6, 6.6
- print, 1.3, 1.8
- return, 4.11, 5.1
- use, 3.17
- while, 6.4
- statement modifier, 4.8, 4.9, 4.10, 4.17, 5.4, 6.4, A.5.1
- string, 1.5, 1.8, 7, 11.14, A.5.1
- string concatenation, 2.7, 7.2.4.3
- string equality, 14.8
- string repetition, 2.7
- string traversal, A.5.1, A.5.3
- stringification, 7.2.4.3, 7.8.1
- stringify operator, 7.2.4.3, 7.6
- structure, 1.6
- sub, 3.5
- sub-language, 13.1
- subclass, 12.7.3, 12.11.2, 12.15
- subclassing, 12.7.1, 12.7.2
- submethod, 12.11.2, 12.11.2
- subparse method, 13.5
- subpattern, 7.8.1, 7.8.2, 13.1, 13.3, 13.4, 13.8.5
- subroutine, 3.5
- subroutine parameters, 6.5
- subroutine signature, 9.4, 9.5, 11.10, A.7.1.1
- subrule, 13.4
- subscript, 7.1, 9.2
- subset, 12.7.1
- subst method, 7.9.1
- substitution, 7.9, 7.9.4
- substitution operator, 7.9.2
- substr, 15.1, A.5.7
- substr function, 7.2.3, 7.12, 14.6.2, A.5.1, A.5.1
- substr function or method, 7.2.3
- substring, 7.1, 7.2.2, 7.2.3, 7.2.3
- subtask, 1.1, 1.1
- subtraction
- suffix, 11.13
- sum function or method, 15.3
- swap, 14.2.6, 14.2.6
- swap operator, 14.2.6
- swapping variables, 15.3
- switch statement, 11.1, 11.2
- syntax, 1.6, 1.8, 2.9
- syntax error, 2.1, 2.2, 3.4
- The Gold-Bug (Edgar Allan Poe), 11.18.2
- The Little Prince (Antoine de Saint-Exupéry), 11.13
- Thomson, Ken, 7.5
- Three Sisters, 12.9
- TIMTOWTDI, 5.5, 7.8.1, 10.6, A.5.5
- TOP rule, 13.5, 13.7
- True, 7.10
- Turing
-
complete language, 5.5
- thesis, 5.5
- Turing, Alan, 5.5
- tail method, 11.9
- take function, 14.4, 14.4, 14.4
- tale about OOP, 12.13, 12.13.1, 12.13.2.3
- tc function, 9.6, 14.1.2
- tc function or method, 7.2.4.6
- temporary variable, 5.1, 5.12
- term, 2.3, 2.10
- ternary conditional operator, 11.1
- ternary conditional operator, nesting, 11.1
- ternary operator, 11.1
- test, 15.2
- test module, 14.8, A.3.3, A.5.8, A.9.2
-
is function, 14.8
- is-approx function, 14.8
- like function, 14.8
- nok function, 14.8
- ok function, 14.8
- unlike function, 14.8
- test plan, A.9.2
- test-driven development, 14.8, 14.9
- testing, 13.10, A.9.2
-
and absence of bugs, 8.5
- automated tests, 14.8
- incremental development, 5.2
- is hard, 8.5
- knowing the answer, 5.2
- leap of faith, 5.7
- module, 14.8
- text
- text editor
- there is more than one way to do it, 5.5, A.5.5
- three-way comparator, 9.12
- three-way operator, 4.2
- tilde, 7.8.1
- title case, 2.2, 7.2.4.6
- token, 1.6, 1.8, 13.4, 13.4, A.10.2.1
- topic, 4.10
- topical variable, 4.10, 7.6, 8.4.1, 9.1, 9.6, 9.8.3, 11.2, 12.4, 15.3, A.5.2
- tr operator, A.5.9
- traceback, 4.16
- trait, 3.13, 3.17, 5.9, A.7.15.2
- trapezoid, 12.8
- traversal, 7.3, 7.10, 7.11, 8.4.5, 9.8.1, 10.3, 10.4
- tree, 11.15.2
- triangle, 4.18, A.2.4
- trigonometric function, 3.3
- twigil, 9.7, 11.3.2, 12.3, 12.5, 14.1.2
- two-dimensional space, 12.2
- type, 1.5, 1.8, 12.2, 12.4, 12.6, 12.8.3, 12.8.3, 12.11.2
-
-defining role, 12.8.3
- array, 9.1
- Bool, 4.2
- bag, 11.11, A.9.3
- baghash, 11.11, A.9.3
- building new type, 12.1
- built-in, 12.8.3
- Complex, 3.12
- checking, 5.9
- coercion, 2.7, 3.1, 3.12
- constraint, 3.12
- conversion, 3.1
- hash, 10.1
- Int, 1.5, 3.12, 3.12
- list, 9.1
- mix, 11.11
- mixhash, 11.11
- Numeric, 3.12
- parameter, 3.12
- programmer-defined, 12.2, 12.15
- Rat, 1.5
- Real, 3.12
- Str, 1.5
- String, 3.12, 3.12, 3.12
- set, 11.11
- sethash, 11.11
- type object, 12.2, 12.15
- type subset, 5.9, 10.12, A.3.7
- typed array, 9.9
- typographical error, 11.16
- Unicode, 2.2, 2.2, 7.2.1, 7.2.3
- uc function or method, 7.2.4.6, 9.6
- undefined value, 5.1
- underscore character, 1.5, 2.2
- uninitialized value, 4.16
- unique function, 9.2, 10.7, 15.3, A.7.11
- uniqueness, 9.15
- unless statement, 4.9
- unlike function (testing), 14.8
- unshift function, 9.3, 9.4, 9.4, 9.15, A.7.1, A.7.1.3, A.7.2.3, A.7.13
- until loop, 6.4
- update, 6.3, 6.7, 6.10
- upper case, 2.2, 7.2.4.6, 7.7.7, 7.12, A.5.9
- use lib, A.7.15.2
- use module, A.7.15.2
- use statement, 3.17
- Variable ... is not declared, 3.9
- value, 1.5, 1.8, 10.13
- values function or method, 10.1, 10.2
- variable, 2, 2.2, 2.10
-
declaration, 2.1, 2.1
- dynamic, 14.4
- global, 10.11
- interpolation, 3.5, 4.5, A.5.2
- lexical, 2.1, 6.5, 6.5, 10.11
- local, 3.9
- scalar, 2.1
- temporary, 5.1, 5.12
- updating, 6.3
- variable interchange, 14.2.6
- variable name, 2.8
- variable-length code, 11.18.1
- variadic parameters, A.7.1.2, A.7.2.2
- variadic subroutine, 11.3.2
- vertebrate, 12.8, 12.8.1, 12.8.1
- void function, 3.11, 3.17, 4.11
- von Neumann, John, 14.7.1
- vorpal, 5.6
- Weinberger, Peter, 7.5
- WHAT, 1.5, 10.12, 12.2
- Wright, Ernest Vincent, 8.3
- whatever, 10.5
- whatever operator, 15.3
- when statement, 11.2, A.9.1, A.9.1
- while loop, 6.4, 7.3, 7.3, A.5.1
- whitespace, 8.3
- whitespace in regexes, 7.7.2
- wildcard character, 7.7.2
- word frequency, 11.4
- word list, 8.2
- word, reducible, 10.14
- words function or method, 7.2.4.4, 7.2.4.5, 15.3
- write mode, 8.1
- X cross operator, 14.2.4
- XML parsing, 13.5
- Y2K bug, A.10.1.1
- YAGNI: you aren’t gonna need it, 15.1
- Yacc, 13.2
- Z zip operator, 14.2.4
- zero, index starting at, 7.1, 9.2, 9.2
- zip operator, 14.2.4, 14.2.4, 15.3
|
|
Are you using one of our books in a class? We'd like to know
about it. Please consider filling out this short survey.
Think DSP
Think Java
Think Bayes
Think Python 2e
Think Stats 2e
Think Complexity
|