πΊ felico π»
Welcome to the Felico programming language documentation!
Felico is an experimental programming language inspired by Rust and Zig, designed to explore ideas about programming language design with a focus on being Fun, Friendly, and Fast (in that order).
What is Felico?
Felico is a fun, responsive and type scripting language experiment. It aims to combine:
- Extremely fast feedback loops for development
- Friendly error messages that help you understand what went wrong
- Compile-time type checks for safety
- Light-weight effect type system for managing side effects
Core Values
1. Fun π
Programming should be fun. Both using and creating the language and infrastructure should be enjoyable. Fun comes in all shapes and sizes: it may be humour, whimsy, a challenging problem to solve, or a job well done.
2. Friendly π€
Programming should be friendly. The language, as well as its ecosystem and community should be welcoming of new ideas, mutual understanding, and assuming good intentions. We all make mistakes, and that is ok.
A friendly environment is fun to work in, which neatly ties into the first goal.
3. Fast β‘
Programming should be fast. Fast feedback loops are essential for a fun development environment. This holds for the actual writing of code as well as compilation, test, and execution times.
Fast feedback loops are more fun and more friendly to you as a user since they respect your time.
Design Philosophy
Felico deliberately includes some features while avoiding others:
Desired features:
- Extremely fast feedback
- Friendly error messages
- Compile time type checks
- Light-weight effect type system
Undesired features:
- Function coloring
- Implementation inheritance
Getting Started
If youβre new to Felico, we recommend starting with:
- Installation - Set up Felico on your system
- Quick Start - Write your first Felico program
- Language Guide - Learn the language step by step
Project Status
Felico is an experimental language and is under active development. Expect things to change as we explore different ideas and approaches.