[[\]] 439, 449 [[$a]] and [[$b]] variables 345 absolute zero 475 abstraction of functionality 412 abstract syntax tree (AST) 393, 400, 408, 437, 553, 557 agenda 207-212, 380 agenda method, universality of 217 alternation // of parsers 387-388 amortization 310-313 anchor component of URL 199 anonymous functions 258, 478 arrow, definition in Linogram 498 assembly language 314 associativity of operators 257, 401-402, 426 AST 393, 400, 408, 437, 553, 557 atomic features, in Linogram 494 atoms, in regexes 436, 439 backslash 439, 449 *backtracking 207 backup program 2096 bad link detector 191, 192, 194 balanced parentheses 287-288 barbarian 206-207 base case 211 bear 359-360 behavior function in constraint system 479, 480 Bell Labs 563 BFS 200, 213-215 binary 239-241 binary search 292-293 blessing 356, 466, 468-469 block 390 boolean not operator 354 Borges, Jorge Luis 417 box, definition in Linogram 497 breadth-first search (BFS) 200, 213-215 [[\b]] regex metacharacter 272, 439 calculator 365-369 calculus 302, 305, 314 *callbacks 326, 371, 386 [[caller()]] 420 call frame 231-232 call tree 215-217, 220 canonical form 218-219 canonical order 349 cantankerous grandfather 228 cardioid 490 carriage return 439 carrot 264 275 CGI program 197 character classes 273, 281 circle, definition in Linogram 499 clause, in grammar 376 cleverness 211 [[clone]] method 199 closure 326 closure operator 273 *coefficient 500, 508 college student, penurious 206 *comma-separated list 542 comparator 291-292, 350 [[comp.lang.perl.misc]] 272 compound interest 310-313 compulsive behavior 453 concatenation // of parsers 386-387 concatenation // of regexes 273, 275-279, 283-284, 320-321, 438 constant part of equation 500-501, 503 [[Constraint]] class 512-513 *constraint section in Linogram specification 549-550 [[Constraint_Set]] class 513-514 contradiction 509-513 [[cos()]] 313-314, 319 [[cosh()]] 320 CPAN 500 C programming language 344, 362, 365, 424, 501 [[/c]] regex modifier flag 367 current matching position, of scalar 366-367 Curry, Haskell B., 327 currying 326-331, 340-343, 346, 350, 353, 484 cutting function 291-292 dangling symbolic link 325 database query languages 471 *databases 351-357 DBM 349 *debugging 415-417, 475, 479, 551 Defenestration of Prague 204 depth-first search :: see DFS derivation, of sentence 377 derivative function 305-306, 319, 320, 331 *destructive method 506, 511 DFS 200, 203, 212-215, 228-229, 383, 403 DFS // bound on size of agenda 213 *DFS // contraindications for *DFS // failure of 379 DFS // recursion and 214, 217 DFS // web spiders and 214 *diagnostic messages 201, 260-261 diamond, definition in Linogram 499 [[die()]], throwing exceptions with 430 differential calculus 305, 319 Dijkstra, Edsger Wybe 219 diskettes 206 *dispatch table 438, 515-516, 520, 528, 551, 559 division as inverse of multiplication 482-483 division by zero 432 doorbell 386 *drawables 553-554 *draw section in Linogram specification 550-551, 553-554 [[drop()]] 375 [[each()]] 349 *email 293-294, 363-364 email // address 294 *email // header of 363 Engineering Mathematics Handbook 324 [[Environment]] class 538-539 [[Equation]] class 501-511 equation // inconsistent 509-510 equation // redundant 508 equations // roots of 301 equations // solving 301, 489 [[Equation::System]] class 508-512 equation // trivial (0=0) 502 equivalence classes 218-219 eta-conversion 389-390, 391-392, 423, 437 Euclid's algorithm 231 [[eval]] 339, 340, 430, 543 exceptions 430-432 exceptions // propagation of 432 [[exp()]] function 320 [[Expression]] class 554 *expressions expressions // in Linogram 554-558 *factorial 314-315 factor of arithmetic expression 394 fame and renown 415 family tree 489 *Fibonacci numbers 243-253 filehandle // tied 299 floating-point numbers 205-206 foolishnes 287 four-dimensional beings 518 fractions 231 fragment, of URL :: see "anchor component" Frege, Gottlob 327 fruit 234 function calls, implementation of 229 *function factory 325, 385, 406-407 function, higher-order 325, 333 Funes the Memorious 417 Gaussian elimination 500, 502-512 geeks 310 glob 330 global variables 264, 345, 420-421, 454 Goff, Jeff 217 *golden rectangle, definition in Linogram *[[goto]] 232, 243 grammar 376-380 greatest common divisor 231-233 [[\G]] regex metacharacter 366-367 [[/g]] regex modifier flag 366 [[grep()]] 333 hairy code 414 Hamming, Richard W. 269 *header, of email message 363 head of list 375 Hietaniemi, Jarkko 234-235 higher-order function 325, 333 high school 300, 312, 489 hline, definition in Linogram 496 Hoefler, Jonathan 204 Hoefler Type Foundry 204 *hook 201 *[[igrep]] 194, 201 [[igrep_l]] 194 *[[imap]] 197, 227 India 299 *infinite sequence 260 ingenuity 207, 323 intrinsic constraints 520-522, 534-535 [[Intrinsic_Constraint_Set]] class 521-522 i-number 294 IOU 259-260 IRC 272 iterator, kicking 195 iterator // rewinding 255 jargon 377 kicking an iterator 195 Kleene closure 273 Knuth, Donald E. 309 labeled block 542-542 Latin 207 left-recursive grammar rules 403-404 lemniscate 490 *lexer 365-375, 540 lexer // Perl's 450-451 line, definition in Linogram 494 linked list 255-257 linked list // head 256 linked list // splicing into 257 linked list // tail 256 list expression 390 [[List::Util]] module 393-347 [[local()]] 306 [[log()]] 320 log file processing 293-299 lookahead assertions 439 lookbehind assertions 439 loop control operators 243 [[LWP::Simple]] module 201 Macdonald, John 234 Machol, Richard Morris 228 Macintosh 206 [[mailto]] URL 200 *[[map]] 333, 345, 397 Mastering Algorithms with Perl 2354, 293 [[Math::BigFloat]] module 307, 435 [[Math::BigRat]] module 324 [[Math::Complex]] 435 mathematics geeks 310 [[max()]] 343-345 [[maxstr()]] 344 meaning of parsed input 376, 384 meiosis 261 *memoization 268 merging streams 270-271, 274-275 [[min()]] 343-344 [[minstr()]] 344 morphology 359-360 mortgage 310-313 Mozilla 198 MSIE 198 nasty regex 287 nasty surprises 229, 335 Newton, Isaac 301 Newton-Raphson method 300-308, 313 [[%N]] hash for naming parsers 416-423 nonterminal symbol 377 [[&]] notation in Linogram 495 numerals 219 object identity, testing with [[==]] 477 oddity 264 [[<...>]] operator 361 [[<...>]] operator // as rudimentary parser 359 [[==]] operator for comparing objects 477 optimization 230-231, 253, 322, 332 optional item 541 option checking 201 Orwant, Jon 234 *overloading 416, 465-470 [[overload]] module 357 pairs 468 palindromes 214-215 parabola 301-303 [[param]] declaration in Linogram 560-562 parameter specifications in Linogram 545-549, 552, 559-560 parentheses // in output of parser 393-394 parentheses // in regex 364 parser // Perl's 360 *parsing 351 partial sums 316 partition problem 204-212 partitions / comparing 224 partitions of an integer problem 217-225, 225-226 [[pathfinder.com]] 198 penurious college student 206 pi 317-319, 426 [[pic]] program 563 plumber 206-207 point, definition in Linogram 494 polymorphism 331 [[pos()]] 366-367 PostScript 494, 496 power series expansion 313-324 power set 234 powers of 2 :: 265-269 Prague, Defenestration of 204 precedence 357, 465 precedence in arithmetic expressions 393 pre-emption 223 [[print()]], as expresion 424 priority queue 225, 228 productions in a grammar 376 Prolog programming language 471 promise // forcing 258, 269 prototypes 236, 293, 304, 334, 337-343, 346 *pruning 380, 382, 403 pun 374 [[qmail]] 293-294, 299 quantification of regexes 437 queue 201 Raphson, Joseph 301 reciprocal of power series 323-324 recursion // as DFS 215-217 recursion, elimination of 348 *[[ref()]] 501-502 refactoring 222-223, 234-239, 241, 249-253, 328 referrer, fake 193 regex // as example of declarative programming 471 regex // as lexer 365 regex engine 471 [[(?!)]] regex lookahead operator 363 regex // syntax of 437 repetition of parser operation 389-390 return-valye parameter 240 [[robots.txt]] file 197-198 root of equation 301 round-off error 305-306, 307-308, 322 [[Scalar::Util]] 340 *scaling operation 503-505, 508, 519, 523-524 Scho:nfinkel, Moses 327 scope 264 *self-referent stream definition 323 sentences // in grammars 377 sentential form 377 set difference 354-356 [[set_prototype()]] 340 silly examples 346, 456-457 [[sin()]] 313-314, 319 [[sinh()]] 320 Slashdot 334 slope 302, 302, 331 [[sort()]] 299, 345 sort comparator 291-292, 350 sorting // partitions 224 sorting // to obtain canonical form 219 soup, fish-dog-and-carrot 275 spam 363 special case 211, 236, 409 [[$"]] special variable 261, 306 [[$/]] special variable 261, 361 [[$.]] special variable 353 [[$@]] special variable 430 splines 562 [[split()]] 364 SQL 471 [[sqrt()]] 300, 307 square, definition in Linogram 498 [[/s]] regex modifier flag 450 stack 229-231, 446-447 stack // explicit simulation of call stack 242-243 start symbol 376-377 [[stat()]] 294 statements as expressions 424-425 streams // merging 270-271, 274-275 [[strftime()]] 297 [[strict 'vars']] 345 stringification operator 416, 467 [[""]] stringification operator 467 string literals, lexing 449-450 [[substr()]] 341-342 subtraction as inverse of addition 482-483 [[sum()]] 344-346 symbolic link, dangling 325 symbolic references 550 symbols // in grammars 376-377 symbol // terminal vs. nonterminal 377 syntactic equivalence of tokens 436 syntactic sugar 259, 374 syntax // irregularity of Perl's 453 synthetic constraints 520-521, 522-527 [[Synthetic_Constraint_Set]] class 522 tab character 450 tai64n 293, 295 tangent function 320 tangent line 302 tautology 508 Tels 307, 324, 435 temperature conversion 472-475, 483, 485-487 terminal symbol 377 term of arithmetic expression 394 text in Linogram 561 three blind mice 308 *three-dimensional diagrams in Linogram 556 tied hash 416 *tokens 359-360 tokens, syntactic equivalence of 436 transcendental functions 313 treasure 206-211 *tree // printing tree search // iterator for 225-229 tree search // recursion as 215-217 tree structures 212, 217, 377-380, 402-403, 440, 535 tricks 211, 312, 372, 416 trigonometry 322, 489-490, 496 trivial equation (0=0) 502 [[\t]] (tab) character 450 Tuma, Jan J. 324 *tuple in Linogram 555-556, 558 [[Type]] class 530-539 [[Type::Scalar]] class 531-532 typesetting 204 [[%TYPES]] hash in Linogram 542-543 type specimen catalog 204-205 ugly code 373 unary minus 555 union scale 207 Unix 294 Unix // epoch time format 295 [[URI::URL]] module 199 URL // fragment 199 URL // [[mailto]] 200 URL // mailto 200 *user argument to callback function 371, 386, 454 [[Value::Constant]] module 516-518 [[Value::Feature]] module 527-530 [[Value]] module 515-516 value of parsed input 376, 384-385 [[Value::Tuple]] module 518-520 vline, definition in Linogram 497 waste of time 197, 230, 265-268, 304, 307, 461 web spider // DFS unsuitable for 214 [[while]] loop that executes only once 222 whitespace, significant 441 WIRED magazine 228 "without" operator 354-356 wizard 206-207 Wolf Book 234, 293 word boundary 272, 439 [[WWW::RobotRules]] module 198-199 WYSIWYG 489