Scheme
Full Scheme course — 54 topics from the basics to advanced use.
Lessons
- syntax-rules
- Advanced syntax-rules Techniques
- syntax-case and Procedural Macros
- Other Macro Systems
- Libraries and Modules
- Ports, Files and I/O
- eval, Environments and the Process Context
- Strings and Unicode in Depth
- Pattern Matching
- SRFIs
- Introduction to Scheme
- Implementations, Installation and the REPL
- Expressions, Evaluation and Basic Syntax
- Numbers and the Numeric Tower
- Booleans, Characters, Strings and Symbols
- Definitions and Procedures
- Conditionals and Equivalence
- Local Bindings
- Pairs and Lists
- Recursion and Tail Recursion
- Higher-Order Procedures
- SRFI-1: The List Library
- Association Lists, Vectors, Bytevectors and Hash Tables
- Iteration
- Quote, Quasiquote and Symbolic Data
- The Metacircular Evaluator
- Lazy and Nondeterministic Evaluators
- Logic Programming and miniKanren
- Register Machines and Compilation
- Implementation Tour
- Object Systems
- Concurrency and Parallelism
- Foreign Function Interfaces
- Packages, Testing and Tooling
- Performance and Debugging
- Real-World Scheme
- History, Standards and Best Practices
- Appendices: Projects, Interview Questions, Cheat Sheet & Resources
- Procedural Abstraction
- Data Abstraction
- Records
- Hierarchical Data and Trees
- Symbolic Data
- Multiple Representations and Generic Operations
- State, Assignment and the Environment Model
- Objects via Closures and Message Passing
- Multiple Values
- Continuations and call/cc
- Continuation Patterns
- dynamic-wind
- Exceptions and Error Handling
- Parameters
- Lazy Evaluation, Promises and Streams
- Course Overview