- Introduction
- 1. Steel
- 1.1. Features
- 1.2. Creating values
- 1.3. Definitions and expressions
- 1.4. Collections
- 1.5. Licensing
- 2. Getting Started
- 2.1. Online Playground
- 2.2. Using Steel on its own
- 2.3. Using Rust in Steel
- 2.4. Embedding Steel in Rust
- 3. The Rust Engine API
- 3.1. Registering functions
- 3.2. Embedding values
- 4. Language Reference
- 4.1. Keywords
- 4.2. Macros
- 4.3. Contracts
- 4.4. Transducers
- 4.5. Modules
- 4.6. Functions
- 4.6.1. Logging
- 4.6.2. Built ins
- 4.6.2.1. steel/base
- 4.6.2.2. steel/bytevectors
- 4.6.2.3. steel/constants
- 4.6.2.4. steel/core/option
- 4.6.2.5. steel/core/result
- 4.6.2.6. steel/core/types
- 4.6.2.7. steel/equality
- 4.6.2.8. steel/filesystem
- 4.6.2.9. steel/hash
- 4.6.2.10. steel/identity
- 4.6.2.11. steel/io
- 4.6.2.12. steel/immutable-vectors
- 4.6.2.13. steel/json
- 4.6.2.14. steel/lists
- 4.6.2.15. steel/meta
- 4.6.2.16. steel/numbers
- 4.6.2.17. steel/ord
- 4.6.2.18. steel/ports
- 4.6.2.19. steel/process
- 4.6.2.20. steel/random
- 4.6.2.21. steel/sets
- 4.6.2.22. steel/streams
- 4.6.2.23. steel/strings
- 4.6.2.24. steel/symbols
- 4.6.2.25. steel/syntax
- 4.6.2.26. steel/time
- 4.6.2.27. steel/transducers
- 4.6.2.28. steel/vectors
- 4.6.2.29. steel/tcp
- 4.6.3. Stdlib
- 4.6.3.1. steel/async
- 4.6.3.2. steel/iterators
- 4.6.3.3. steel/option
- 4.6.3.4. steel/result
- 4.6.3.5. steel/sync
- 4.6.3.6. #%private/steel/contract
- 4.6.3.7. #%private/steel/control
- 4.6.3.8. #%private/steel/match
- 4.6.3.9. #%private/steel/ports
- 4.6.3.10. #%private/steel/print
- 4.6.3.11. #%private/steel/reader
- 4.6.3.12. #%private/steel/stdlib
- 5. Common Patterns
- 5.1. Context variables
- 5.2. Async
- 6. Memory Management