- Introduction
- 1. Foundations
- 1.1. Evaluation
- 1.2. Literals
- 1.3. Function calls
- 1.4. Symbols
- 1.5. Bindings and Scopes
- 2. Steel
- 2.1. Features
- 2.2. Licensing
- 3. Getting Started
- 3.1. Online Playground
- 3.2. Using Steel on its own
- 3.3. Using Rust in Steel
- 3.4. Embedding Steel in Rust
- 4. The Rust Engine API
- 4.1. Registering functions
- 4.2. Embedding values
- 5. Language Reference
- 5.1. Keywords
- 5.2. Syntax
- 5.3. Macros
- 5.4. Contracts
- 5.5. Transducers
- 5.6. Modules
- 5.7. Functions
- 5.7.1. Logging
- 5.7.2. Built ins
- 5.7.2.1. steel/base
- 5.7.2.2. steel/bytevectors
- 5.7.2.3. steel/constants
- 5.7.2.4. steel/core/option
- 5.7.2.5. steel/core/result
- 5.7.2.6. steel/core/types
- 5.7.2.7. steel/equality
- 5.7.2.8. steel/filesystem
- 5.7.2.9. steel/hash
- 5.7.2.10. steel/identity
- 5.7.2.11. steel/io
- 5.7.2.12. steel/immutable-vectors
- 5.7.2.13. steel/json
- 5.7.2.14. steel/lists
- 5.7.2.15. steel/meta
- 5.7.2.16. steel/numbers
- 5.7.2.17. steel/ord
- 5.7.2.18. steel/ports
- 5.7.2.19. steel/process
- 5.7.2.20. steel/random
- 5.7.2.21. steel/sets
- 5.7.2.22. steel/streams
- 5.7.2.23. steel/strings
- 5.7.2.24. steel/symbols
- 5.7.2.25. steel/syntax
- 5.7.2.26. steel/time
- 5.7.2.27. steel/transducers
- 5.7.2.28. steel/vectors
- 6. Bytecode
- 6.1. Optimizations
- 7. Benchmarks
- 8. Common Patterns
- 8.1. Interior Mutability
- 8.2. Async
- 9. Memory Management