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.