/lala-lang

[WIP] An expression based data notation, aimed at transpiling itself to any cascaded data notation.

Primary LanguageRustMIT LicenseMIT

Lala

An expression oriented data notation, aimed at transpiling itself to any cascaded data notation.

Lala is separated into three components: Nana, Lala, and Dada.

First Glance

Nana CheatSheet

Language Proposals

Roadmap

Nana

Nana, a proof-of-concept language, will first be implemented, along with the following key concepts:

  1. Block
    • Obstruction
    • Projection
    • Exposure
  2. Value Space
    • Literal
    • Application
  3. Binder Space
    • Abstraction
    • Pattern Language
  4. Control Flow
    • Pattern Matching

Lala

Nana++.

  1. the order of computation embedded in data structure
  2. type system
  3. a standard library

Dada

A (fake) package manager in pure lala, designed more as a structural convention than a heavy building system.

Current Progress

Using lalrpop as nana/lala's parser to Rust.

Currently dealing with symbol resolution.

Also here is a todo list.