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

Overview

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.

You might also like...
An MVP stack based bytecode VM

TinyVM An MVP stack-based bytecode VM This VM runs a simplistic, Turing complete instruction set. In ~250 LOC with extensive comments, it's meant to b

A stack based interpreted programming language.

Nightmare Nightmare is a dynamically-typed, procedural programming language that aims to be fast & simple. let user = input() as Int; print("You were

a frontier based evm compatible chain template

Substrate Frontier Node Template A FRAME-based Substrate node with the Ethereum RPC support, ready for hacking πŸš€ Generation & Upstream This template

A Rust no-std (de)compressor based on PAQ

MASHI まし A 100% no-std compatible Rust implementation of a PAQ style arithmetic coding, context mixing compressor. Its intended use case is compressin

An embedded key-value storage for learning purpose, which is based on the idea of SSTable / LSM-tree.

Nouzdb An embedded key-value storage for learning purpose, which is based on the idea of SSTable / LSM-tree. Plan Implement a memtable. Implement the

OOLANG - an esoteric stack-based programming language where all instructions/commands are differnet unicode O characters

OOLANG is an esoteric stack-based programming language where all instructions/commands are differnet unicode O characters

A stack based, virtual machine language written in Rust

Stackyy A stack based, virtual machine language written in Rust Description: Stackyy is a stack based, virtual machine language inspired by Forth and

Tools to feature more lenient Polonius-based borrow-checker patterns in stable Rust
Tools to feature more lenient Polonius-based borrow-checker patterns in stable Rust

Though this be madness, yet there is method in 't. More context Hamlet: For yourself, sir, shall grow old as I am – if, like a crab, you could go back

A simplistic functional programming language based around Lisp syntax.

Orchid A simplistic functional programming language based around Lisp syntax. Short taste # function to return the larger list (fn larger-list (as bs)

Comments
  • Proposal. Rough draft of lala; deprecate old draft.

    Proposal. Rough draft of lala; deprecate old draft.

    Introduced binder space and value space; three computation with their notation and underlying data structure; a pattern language; a type system; and a draft idea of a package manager.

    opened by LighghtEeloo 1
  • Proposal lala 0805.

    Proposal lala 0805.

    A bunch bunch of new new & fancy fancy things.

    ( Wont say in detail because it's better to directly checkout new proposal; diff is meaningless :-) )

    opened by LighghtEeloo 0
  • Setup documentation needed

    Setup documentation needed

    It'd be nice if the author could add to the readme file the instructions to set up the environment for the language. For example, what dependencies are required? What command should I run if I want to write a helloworld file? etc.

    opened by Jichao-Yang 1
Owner
null
A library for transcoding between bytes in Astro Notation Format and Native Rust data types.

Rust Astro Notation A library for transcoding between hexadecimal strings in Astro Notation Format and Native Rust data types. Usage In your Cargo.tom

Stelar Software 1 Feb 4, 2022
a cheat-sheet for mathematical notation in Rust πŸ¦€ code form

math-as-rust ?? Based on math-as-code This is a reference to ease developers into mathematical notation by showing comparisons with Rust code.

Eduardo Pereira 13 Jan 4, 2023
S-expression parsing and writing in Rust

rsexp S-expression parsing and writing in Rust using nom parser combinators. This implemantion aims at being compatible with OCaml's sexplib. The main

Laurent Mazare 12 Oct 18, 2022
Build database expression type checker and vectorized runtime executor in type-safe Rust

Typed Type Exercise in Rust Build database expression type checker and vectorized runtime executor in type-safe Rust. This project is highly inspired

Andy Lok 89 Dec 27, 2022
A special rope, designed to work with any data type that is not String

AnyRope AnyRope is an arbitrary data type rope for Rust, designed for similar operations that a rope would do, but targeted at data types that are not

ahoyiski 27 Mar 22, 2023
A simple library to get all pairs from any Dex and sync reserves.

pair_sync A simple library to get all pairs from any supported Dex and sync reserves. Crates.io Documentation in progress Filename: examples/sync-pair

null 116 Dec 30, 2022
A Rust trait to convert numbers of any type and size to their English representation.

num2english This Rust crate provides the NumberToEnglish trait which can be used to convert any* number to its string representation in English. It us

Travis A. Wagner 6 Mar 8, 2023
A highly extensible runner that can execute any workflow.

Astro run Astro Run is a highly extensible runner that can execute any workflow. Features Workflow runtime for Docker Support for gRPC server to coord

Panghu 3 Aug 19, 2023
A real-time data backend for browser-based applications.

DriftDB DriftDB is a real-time data backend for browser-based applications. For more information, see driftdb.com. Structure of this repo docs/: main

drifting in space 453 Feb 6, 2023