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

LFE MACHINE MANUAL