A minimal, typed expression language implemented in Haskell.
Work in progress, i have little time, nor know anything about how to write a language properly, or haskell really lol.
Kai is designed to be a simple and intuitive language that combines the ease of use of traditional scripting languages with the safety and performance of Haskell. It features:
- Static typing with compile-time error checking
- Pure expressions without side effects
- Simple, clean syntax
- Built-in type inference
- First-class functions
The project is in early development. Current features include:
- Basic types (numbers, booleans)
- Core operators (arithmetic, comparison, logical)
- Control flow (if-then-else expressions)
- Type system foundation
-
Lambda Functions
- First-class functions
- Function application
- Closures
-
Variables and Environments
- Variable binding
- Scope management
- Environment handling
-
Error Handling
- Type-safe error recovery
- Clear error messages
- Debugging support
-
State Management
- Controlled mutability
- Safe state updates
- Resource management
- Stack (Haskell Tool Stack)
- Clone this repository
- Navigate to the project directory
- Run
stack setup
to set up the GHC compiler - Run
stack build
to build the project
stack run
The website will be available at http://localhost:3000
app/Main.hs
- Main application codestatic/
- Static files (CSS, JavaScript, images)src/
- Kai language implementation (coming soon)
Contributions are welcome! Please feel free to submit a Pull Request.