/01introtheway/01theway.txt
/02introvariable/02variable.txt
/03introroutine/03routine.txt
/04introconditional/04conditional.txt
/05introfunction/05function.txt
/06introiteration/06iteration.txt
/07sequencestrings/07strings.txt
/08sequencelist/08list.txt
/09random/09random.txt
/11usefiles/11file.txt
1 Think Euphoria
1.1 The Way of the Program
1.2 First Draft
1.3 The Euphoria programming language
1.4 What is a program?
1.5 What is debugging?
1.5.1 Syntax errors
1.5.2 Runtime errors
1.5.3 Hardware errors
1.5.4 Semantic errors
1.5.5 Experimental Debugging
1.5.6 Formal and natural languages
1.5.7 The first program
1.6 Debugging
1.7 Glossary
10 Think Euphoria
10.1 Files
10.10 euSQLite
10.11 Pickling
10.12 Pipes
10.13 Writing include files
10.14 File input/output
10.15 Debugging
10.16 Glossary
10.2 Caution
10.3 Persistence
10.4 Reading and writing
10.5 Output choices
10.6 Formated output
10.7 Filenames and paths
10.8 Catching errors
10.9 Databases
2 Think Euphoria
2.1 Variables, commands and expressions
2.10 Integer data-type
2.11 User defined data-type
2.12 Variable names and keywords
2.13 Commands
2.14 Evaluating expressions
2.15 Operators and operands
2.16 Order of operations
2.17 String operations
2.18 Glossary
2.2 Objects
2.3 Variables
2.4 Output
2.5 Type
2.6 Working with atoms
2.7 Working with sequences
2.8 Working with objects
2.9 Output: The handy ?
3 Think Euphoria
3.1 Routines
3.10 Parameters and arguments
3.11 Variables and parameters are local
3.12 Stack diagrams
3.13 Fruitful functions and procedures
3.14 Why routines?
3.15 Debugging
3.16 Glossary
3.2 new
3.3 Routine calls
3.4 Type conversion functions
3.5 Math functions
3.6 Composition
3.7 Adding new routines
3.8 Definitions and uses
3.9 Flow of execution
4 Think Euphoria
4.1 Conditionals and recursion
4.10 Nested conditionals
4.11 The return command
4.12 Recursion
4.13 Stack diagrams for recursive functions
4.14 Infinite recursion
4.15 Keyboard input
4.16 Glossary
4.2 floor() and remainder()
4.3 Boolean expressions
4.4 Relational operators
4.5 Sequence comparison
4.6 Logical Operators
4.7 Conditional execution
4.8 Alternative execution
4.9 Chained conditionals
5 Think Euphoria
5.1 Fruitful functions
5.10 Debugging
5.11 Glossary
5.2 Return values
5.3 Incremental development
5.4 Composition
5.5 Boolean functions
5.6 More recursion
5.7 Leap of faith
5.8 One more example
5.9 Checking types
6 Think Euphoria
6.1 Iteration
6.10 More encapsulation
6.11 Local variables
6.12 More generalization
6.12.1 Functions
6.13 Debugging
6.14 Glossary
6.2 Multiple assignment
6.3 Updating variables
6.4 The while command
6.5 exit
6.6 Square roots
6.7 Algorithms
6.8 Tables
6.8.1 Two-dimensional tables
6.9 Encapsulation and generalization
7 Think Euphoria
7.1 Sequence: strings
7.10 Looping and counting
7.11 Euphoria: find() and match()
7.12 find vs find
7.12.1 problem with overriding routines / no warning
7.13 Character classification
7.14 Debugging
7.15 Glossary
7.2 A compound data type
7.3 Length
7.4 Traversal and the for loop
7.5 String slices
7.6 String comparison
7.7 About sequence (and string) comparisons
7.8 Strings are mutable
7.9 A find function
8 Think Euphoria
8.1 Sequence: List
8.10 Sequences and for loops
8.11 Sequence operations
8.12 Sequence slices
8.13 Sequences are mutable
8.13.1 must introduce pretty-print here
8.14 8.9 List deletion
8.15 List routines
8.16 Sequence arguments/parameters
8.17 Nested lists
8.18 Matrixes
8.19 Strings and sequences
8.2 A list is a sequence
8.20 Map, filter and reduce
8.21 Deleting elements
8.22 Sequences and strings
8.23 Debugging
8.24 Glossary
8.3 Sequence values
8.4 Sequences are mutable
8.5 Traversing a sequence
8.6 toms ?? an in operator
8.7 Series
8.8 Sequence length
8.9 Sequence membership
9 Think Euphoria
9.1 Random numbers
9.2 Random numbers
9.3 Sequence of random numbers
9.4 Counting
9.5 Many buckets
9.6 A single-pass solution
9.7 Glossary
[ ch_function
absolute path
accumulator
algorithm
alternative execution
argument
assignment
atom
base case
boolean expression
branches
call
ch_ variable
ch_conditional
ch_file
ch_iteration
ch_list
ch_random
ch_routine
ch_strings
ch_theway
chained conditional
character
code-block
command
compose
composition
compound commands
compound data-types
concatenates
concatenation
concatenation
condition
conditional
core-language
counter
cursor
data-type
database
dead code
declaration
decrement
delimiter
delimiters
deterministic
development plan
directories
elements
empty sequence
encapsulate
encapsulation
escape sequences
exit
expression
extended types
filter
floating-point
flow of executuion
for loop
format operator
format sequence
format string
frame
fruitful function
generalize
guardian
header
histogram
identifier
il
include
include command
included
increment
incremental development
index
index
infinite loop
infinite recursion
iteration
keywords
length()
list
local
loop
loop variable
map
mapping
matrices
modulus operation
multiple assignment
mutable
nested
nested
newline
object
object
operands
operators
output
override
parameters
path
pattern matching
persistent
pickling
precedence order
procedure
prompt
pseudorandom numbers
recursion
recursive
reduce
relational
relative path
reserved
return
return value
returns
routine
routine call
routine definition
scaffolding
search
seed
sequence
sequence
sequence traversal
slice
source-code
stack diagrams
state diagram
step size
string
string
strings
syntx-highlighting
tab
takes
temporary variables
traceback
translated
traversal
truncated
truth tables
update
value
variable
whitespace
wrap
z_algorithm
z_assembly language
z_bind
z_bug
z_compiler
z_debugging
z_debugging
z_euphoria
z_executable
z_formal languages
z_hardware error
z_high-level language
z_interpreter
z_low-level
z_machine-language
z_natural languages
z_numerical methods
z_parsed
z_parsing
z_platforms
z_portable
z_problem solving
z_program
z_programming editor
z_programming environment
z_runtime error
z_semantic error
z_semantics
z_structure
z_syntax
z_syntax error
z_syntax highlighting
z_tokens
z_trace