Eva is a modern functional programming language designed to offer an intuitive and powerful approach to software development. It seamlessly integrates core concepts of functional programming with the versatility of object-oriented paradigms.
Figure 1: Interpreter Workflow Diagram - Depicting the lexing, parsing, and interpretation phases, this figure outlines the transformation from source code to executable output in the Eva language interpreter.
-
Basic Expressions & Variables: Eva handles basic expressions and variables with a focus on scopes and lexical environments. It features robust control structures and employs a parser generator for syntax analysis.
-
Functional Programming: The language supports function abstraction and invocation with an emphasis on closures, lambda functions, and IILEs (Immediately-invoked Lambda Expressions). It also includes a well-defined call-stack, supports recursion, and provides syntactic sugar for enhanced readability.
-
Object-Oriented Programming: Eva extends its functionality to object-oriented concepts, offering both class-based and prototype-based paradigms. It allows developers to define classes, create instances, and organize code into modules for better modularity.
To run Eva programs, use the following command:
$ ./bin/eva -f ./test.eva
Eva includes a comprehensive test suite written in JavaScript. To run the tests, execute:
$ node __tests__/run.js