Skip to content

Latest commit

 

History

History
35 lines (19 loc) · 1.35 KB

README.md

File metadata and controls

35 lines (19 loc) · 1.35 KB

🌘 Lail

Lail is a recursive acryonym that stands for Lail is Another Interpreted Language and it also means night in Arabic.

Why Lail

Lail is still in its early stages, and I am yet to decide on a use-case for it, it is just a hobby project that I started by following the amazing book Writing An Interpreter In Go.

Lail Philosophy

  1. Lail should be minimal with an intuitive and sensible syntax and behaviour
  2. Lail should provide building blocks to extend itself.
  3. Built-in functions should be kept at minimal with a justifiable raison d'être.

Language Specification

As Lail is still under development, the language specification can change.

Program

A Lail program is zero or more statements and expressions. A program's result is its last expression. Statements are separated by ;.

lail example

  • Functions are first class citizens.

  • Dot Notation allows for chaining functions and for more readable code.

  • All functions are anonymous functions.

  • Assignment can be done by let or directly with =. Assignment is an expression.

  • Last expression in a function is its return value.

  • Identifiers can include any unicode letter plus emojis.