Overview
Contents
Language 84: The semantics
Language 84: The syntax
Language 84: The implementation
Language 84: The semantics
Language 84:
* is a functional programming language.
* uses the call-by-value evaluation strategy.
* is designed with basic type theory in mind but does not yet have
a formal type system.
* has an informal and implicit type system roughly characterized by
the following list: integers, booleans, strings, variants,
tuples, records, functions.
* does not provide any means of variable-assignment.
* does not provide any mutable data structures.
* has support for none of the following: macros, exceptions,
continuations, coroutines, threads, parallelism, method dispatch,
function overloading, operator overloading.
* has a rudimentary package system that supports the distribution
of program source code over multiple files and the sharing of
packages among different programs.
Language 84: The syntax
Language 84:
* uses an LL(1) grammar.
* does not use an indentation-sensitive parser.
* uses capitalization conventions to keep reserved words out of the
way.
* supports the use of binary infix operators.
Language 84: The implementation
Language 84:
* has a self-hosting compiler that translates to C.
* has a rudimentary memory-management system that does not use any
form of garbage-collection.