⭐ Introduction
The Cecile, a little programming language designed for simplicity and flexibility.
🍎 Overview
Welcome to the Cecile programming language.
This language is part of my journey into learning compiler and interpreted languages. It's inspired by ajeetdsouza/loxcraft, a great Rust project that implemented the Lox language.
The syntax of Cecile is influenced by traditional programming languages like JavaScript, Go, and Rust, with a strong emphasis on developer experience, readability and ease-of-use.
Cecile is written in Rust. Some of performance matter part is written in Unsafe Rust that makes fast enough to compete with traditional interpreted languages like Javascript, Python.
Important note: This project is built for learning purposes. The code quality of this project is definitely not production ready.
📕 Features
Language features
- Interpreted
- Bytecode compiler
- Garbage collected in runtime
- Type Supported
- Basic types, Array
- Control flow statements
- Object Oriented Programming
- Stack tracing
- Repl
Ongoing features
- Online playground
For compiled version of Cecile
- Make compiled
- Self-hosted
- Standart library
- Module system
🔥 Syntax examples
Variable Declaration
// Variable Declaration
let number: int = 1;
let string: String = "string";
// Ofcource you don't need to write type everytime you declare variable
let number = 2;
let string = "hello cecile";
Function Declaration
println say_hello // Out: "hello"
Type Declaration
type Point
let point: Point = Point;
Array & Builtin function
let arr = ;
arr.push;
println arr; // Out: [1, 2, 3, 4, 5]
⚙️️ Build Guide
🦀 Install Rust
We recommend installing Rust using rustup. You can install rustup as follows:
-
macOS or Linux:
| -
Windows (64-bit):
Download the Windows 64-bit executable and follow the on-screen instructions.
🐙 Install Cecile
# Install 'Cecile'
Now to use Cecile language, in your terminal, run: