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.