Outline - what to explain in which chapter
we need some kind of plan where we want to put what. Here's a very rough plan, feel free to adapt and improve.
Chapter 1 - the basics
Lexical conventions, literals, variables, scalars, arrays, hashes, basic operators, method and function calls, control flow.
(Add more basics here if you need them in later chapters).
(How can we make that chapter non-boring? keeping it short?)
TODO: more about arrays, hashes, built-in functions and methods, operators, list quoting
Chapter 2 - Operators, meta operators
TODO: list some common operators. Meta-operators
Chapter 3 - Subs and signatures,
Chapter 4 - multis
Typed based multi dispatch, narrowness, constraints, multiple arguments
Chapter 5 - Objects and classed
classes, attributes, methods, construction
inheritance, BUILD submethods
Chapter 6 - Regexes
Literals, quantifiers, captures, anchors, look-arounds, backtracking control, match objects
Chapter 7 - Grammars
Subrules, recursion, inheritance, reduction methods
TODO: detailed explanation of the JSON reduction methods
Chapter 8 - Roles
Conjectural: chapter ideas
database interface web programming extending the language (traits, meta-programming)