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 runtime system
The lexer performs lexical analysis, the process of converting the stream of characters to words (‘tokens’). The parser then uses 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 error handling. The system can produce an error with enough context to help the user to find any error in his codes.