- LFE MACHINE MANUAL
- Title Page
- Copyright
- About the Cover
- Dedication
- Preface
- Forward
- Acknowledgments
- 1. Part I - Getting Started
❱
- 1.1. Introduction
- 1.2. About LFE
- 1.3. Prerequisites
- 1.4. Conventions
- 1.5. Development Setup
- 1.6. 'Hello, World!'
❱
- 1.6.1. Classic, REPL
- 1.6.2. Classic, main
- 1.6.3. LFE/OTP
- 1.7. Walk-through: An LFE Guessing Game
❱
- 1.7.1. Planning the Game
- 1.7.2. Code Explore
❱
- 1.7.2.1. Getting User Input
- 1.7.2.2. Checking the Input
- 1.7.3. Integrating into an Application
❱
- 1.7.3.1. handle_cast
- 1.7.3.2. Game API
- 1.7.3.3. Finishing Touches
- 1.7.3.4. Playing the Game
- 1.7.4. Review
- 1.8. The LFE REPL
❱
- 1.8.1. Core Features
- 1.8.2. Starting LFE
- 1.8.3. readline Support
- 1.8.4. (help)
❱
- 1.8.4.1. REPL Functions
- 1.8.4.2. REPL Commands
- 1.8.4.3. Special Variables
- 1.8.5. Command Interface
- 1.8.6. Job Control
- 1.8.7. Files
❱
- 1.8.7.1. Evaluation
- 1.8.7.2. Compilation
- 1.8.7.3. Inclusion
- 1.8.7.4. Loading
- 2. Part II - Code as Data
❱
- 2.1. Variables
❱
- 2.1.1. Bindings
- 2.1.2. Pattern-matching Preview
- 2.1.3. Globals Revisted
- 2.2. Primitive Types
❱
- 2.2.1. Integers
- 2.2.2. Floats
- 2.2.3. Atoms (Symbols)
- 2.2.4. Booleans
- 2.2.5. Characters
- 2.3. Cons Cells
❱
- 2.3.1. Lisp Cons Cells
- 2.3.2. Erlang Cons Cells
- 2.3.3. LFE Cons Cells
- 2.4. Lists and Strings
❱
- 2.4.1. Lists
- 2.4.2. Strings
- 2.5. Bytes, Binaries, & Bytestrings
- 2.6. Tuples
- 2.7. Property Lists
- 2.8. Maps
- 2.9. Arrays
- 2.10. Dicts
- 2.11. Records
- 2.12. Pattern Matching
- 2.13. Generic Sequence Functions
- 3. Part III - Data as Code
❱
- 3.1. Expressions
- 3.2. Functions
- 3.3. Closures
- 3.4. Evaluation
- 3.5. Expressions
- 3.6. Processes
- 3.7. Messages and Their Passing
- 3.8. Objects and Flavors
- 3.9. I/O
- 3.10. Accessing Files
- 3.11. Modules
- 3.12. Packages
- 3.13. Scripting with LFE
- 3.14. Creating LFE Projects
❱
- 3.14.1. Using rebar3
- 3.14.2. Project Layout Conventions
- 4. Part IV - Advanced Topics
❱
- 4.1. Errors and Debugging
- 4.2. Writing Unit Tests
- 4.3. The Common Test Framework
- 4.4. The Propr Test Framework
- 4.5. The Compiler
- 4.6. Macros
- 4.7. Distributed LFE
- 4.8. Ports and Port Drivers
- 4.9. Servers
- 4.10. Clients
- 5. Part V - OTP
❱
- 5.1. Behaviours
- 5.2. Applications
- 5.3. Releases
- 5.4. Tables and Databases
- 5.5. Example OTP Project
- 6. Part VI - Tooling
❱
- 6.1. rebar3
❱
- 6.1.1. Quick Start
❱
- 6.1.1.1. Introduction
- 6.1.1.2. Going Plaid
- 6.1.1.3. Creating a New Project
- 6.1.1.4. LFE Code
❱
- 6.1.1.4.1. The REPL
- 6.1.1.4.2. Sample Code
- 6.1.1.4.3. Message-Passing
- 6.1.1.5. Behind the Scenes
- 6.1.1.6. Where Next?
- 6.1.2. Plugin Reference
❱
- 6.1.2.1. Introduction
❱
- 6.1.2.1.1. Features
- 6.1.2.1.2. Background
- 6.1.2.2. Setup
❱
- 6.1.2.2.1. Dependencies
- 6.1.2.2.2. The Plugin
- 6.1.2.3. Command Reference
❱
- 6.1.2.3.1. Compiling
❱
- 6.1.2.3.1.1. Package Support
- 6.1.2.3.2. REPL
- 6.1.2.3.3. Testing
❱
- 6.1.2.3.3.1. eunit
- 6.1.2.3.3.2. ltest
- 6.1.2.3.3.3. ct
- 6.1.2.3.4. Creating Projects
❱
- 6.1.2.3.4.1. lib
- 6.1.2.3.4.2. main
- 6.1.2.3.4.3. escript
- 6.1.2.3.4.4. app
- 6.1.2.3.4.5. release
- 6.1.2.3.5. Running Code
❱
- 6.1.2.3.5.1. run
- 6.1.2.3.5.2. run-escript
- 6.1.2.3.5.3. run-release
- 6.1.2.3.6. Cleanup
❱
- 6.1.2.3.6.1. clean
- 6.1.2.3.6.2. clean-build
- 6.1.2.3.6.3. clean-cache
- 6.1.2.3.6.4. clean-all
- 7. Part VII - Guides
❱
- 7.1. Style Guide
❱
- 7.1.1. Introduction
- 7.1.2. Formatting
❱
- 7.1.2.1. File Headers
- 7.1.2.2. Indentation
- 7.1.2.3. Whitespace
- 7.1.2.4. Line Length
- 7.1.2.5. Spelling and Abbreviations
- 7.1.3. Naming
❱
- 7.1.3.1. Symbols
- 7.1.3.2. Names in Modules
- 7.1.3.3. Globals
- 7.1.3.4. Predicates
- 7.1.3.5. Intent
- 7.1.4. Documentation
❱
- 7.1.4.1. Docstrings
- 7.1.4.2. Code Comments
- 7.1.4.3. Attention Required
- 7.1.5. Data Representation
❱
- 7.1.5.1. Lists
- 7.1.5.2. Tuples and Proplists
- 7.1.5.3. Maps
- 7.1.5.4. Records
- 7.1.6. Errors
- 7.1.7. Processes, Servers & Messages
❱
- 7.1.7.1. Processes
- 7.1.7.2. Servers
- 7.1.7.3. Messages
- 7.1.8. Software Components
❱
- 7.1.8.1. Flow Control
- 7.1.8.2. Functions
- 7.1.8.3. Modules
- 7.1.8.4. Libraries
- 7.1.8.5. Projects
- 7.1.9. Software Engineering
❱
- 7.1.9.1. Principles
- 7.1.9.2. Priorities
- 7.1.9.3. Architecture
- 7.2. Code of Conduct
- 8. Part VIII - Conclusion
- Feedback
- LFE Documentation
- Built with mdBook