antiOOP is a statically-typed functional programming language built from scratch using Python. This project demonstrates the implementation of key concepts in programming language design and functional programming.
Follow our step-by-step guide to building antiOOP:
- Introduction to Functional Programming and antiOOP
- Setting Up the Development Environment
- Designing the Core Language Features
- Implementing the Lexer
- Building the Parser
- Creating the Abstract Syntax Tree (AST)(still under development)
- Implementing the Interpreter(still under development)
- Adding Higher-Order Functions(still under development)
- Introducing Pattern Matching(still under development)
- Implementing Lazy Evaluation(still under development)
- Adding Type Inference(still under development)
- Creating a Standard Library(still under development)
- Building a REPL and Optimizing Performance(still under development)
- Functional programming paradigm
- Static typing with type inference
- Higher-order functions
- Pattern matching
- Lazy evaluation
- Custom data types
- Standard library
- REPL (Read-Eval-Print Loop)
-
Clone the repository:
git clone https://github.com/yourusername/antioop.git cd antioop
-
Set up a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Run the following before running test files
export PYTHONPATH=/path/to/antioop:$PYTHONPATH pytest tests/test_lexer.py
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the Apache License - see the LICENSE file for details.