Program Development Using LFE - Rules and Conventions
1 Introduction
1.1 Abstract
This is a description of programming rules and advise for how to write systems using LFE.
1.2 Caveats and Warnings
This document is a preliminary document and is not complete.
This document contains examples of bad code. They are to demonstrate what not to do. Ready carefully lest you misinterpret.
1.3 Additional Requirements
The requirements for the use of EBC's "Base System" are not documented here, but must be followed at a very early design phase if the "Base System" is to be used. These requirements are documented in 1/10268-AND 10406 Uen "MAP - Start and Error Recovery".
1.4 Purpose
This paper lists some aspects which should be taken into consideration when specifying and programming software systems using LFE. It does not attempt to give a complete description of general specification and design activities which are independent of the use of LFE.
1.5 Background and Credits
LFE Programming Rules and Conventions was copied from the Erlang original and modified for use with LFE programming best practices. All credit to the following:
- EPK/NP Klas Eriksson
- EUA/SU M Williams
- J Armstrong
1.7 Changes in the LFE Version
Obvious changes include the conversion of Erlang code examples to LFE code examples. However, there exist other more subtle differences. They include the following:
- Replacing or complementing occuranges of the word "Erlang" with "LFE"
- Adding clarity to some points.
- Restructure a few sentences and paragraphs.
- Adding missing words or removing extraneous ones.
- Tweaking punctuation.
- Adding formatting (e.g., emphasis).
- Removing content that does not apply to LFE.
- Adding new content that relates only to LFE.
1.6 LFE Source Code
Source code for some of the examples (both good and bad) can be found in the
prog-rules/src
directory
of the
github repo for docs.lfe.io.