FP /

Erlang Specification Language

1 Background

Erlang is an expression-oriented, single-assignment, garbage-collected, purely functional language. There are no loops, so recursion is heavily used.

A specification language is a formal language used in computer science. Specification languages are used during systems analysis, requirements analysis and systems design. They describe the system at a much higher level than a programming language, it meant to describe the what, not the how (without implementation details).

2 Goal

To design a language for the specification of properties of Erlang values, functions and modules.

3 Work plan

  • Study the collection of Erlang expressions, functions and modules
  • Describe, in natural language, the interactions of such expressions, functions and modules with the environment and their expected results w.r.t. the environment
  • Design a formal language expressive enough to capture the properties described in the previous point
  • Use the language designed to describe a chosen module/library
Erlang: Types and functions Specification
ACSL: ANSI/ISO C Specification Language