Tiny Functional Language
The aim is to make a usable untyped functional language system all written in F# which allows the implementation of pure functional features like Church numbers.
The work modularises as:
- Lexer
- Parser
- Lambda closure run time system
The lexer perform a lexical analysis, the process of converting the stream of characters to words (‘tokens’). The parser then use these tokens to find the relationship between them and determine the syntax. In other words, the parser converts the tokens to a syntax tree that can be used by the run time to give an output.
Another key aspect of the project is the error handling. The system is able to produce an error with enough context to help the user to find any error in his codes.