Skip to content

latiif/lail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

52 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ˜ 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.

About

๐ŸŒ˜ Lail is Another Interpreted Language

Topics

Resources

Stars

Watchers

Forks