GithubHelp home page GithubHelp logo

adelarsq / lightlang Goto Github PK

View Code? Open in Web Editor NEW
8.0 4.0 1.0 156 KB

General purpose FP first programming language made for peace that compiles for your desired language/platform [WIP] ๐Ÿ’™๐Ÿ’›๐Ÿค๐Ÿ’š

License: Other

programming-language compiler lightlang peace nowar

lightlang's Introduction

Light Language ๐Ÿ–ค๐Ÿ’™๐Ÿ’›

Light it's a language to bring light for people.

Objectives This is not a toy project. In the next years this project will be alive!

Premisses Technology and peace together. See License

About the creator I am creating this project on my free time, but with production in mind. I don't know how much time will take but we will reach there :)

Principles

  • Performance and energy efficiency 1
  • Minimal syntax - based on LISP
  • Manutenability - avoid breaking changes
  • Strongly typed
  • Easy FFI

Roadmap

  • Define roadmap
  • Define language to write the first compiler version WIP
  • Logo
  • Define Language used to implement -> Go
  • POC features - ~1 year
    • Define main syntax -> LISP
    • Define grammar WIP -- see Syntax.md and light.ebnf
    • Create AST implementation
    • Transpilers (something like Fable for F#) (first round):
      • Go
      • JavaScript and JSON
      • Lua
    • Implement Light in Light
    • REPL (based on Elixir's REPL)
    • Package manager (allow multiple backends? )
    • LSP
    • Treesitter
    • DAP
    • Transpilers (second round)
      • Zig
      • Swift
      • ECMAScript - for webdev
      • WebAssembly - for webdev
      • Rust/Crab
      • Java
      • Elixir
      • F#
      • V
  • Long term ~2 or more years
    • Standalone compiler ~? years
      • LLVM support
  • On the map
    • SIMD
    • Shaders

License

News

Based on

These are the list of languages on which this will be based:

Others:

lightlang's People

Contributors

adelarsq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

stjordanis

lightlang's Issues

Design Draf: Allow to annotate code as must-not-allocate

It's an interesting idea based on the article https://notes.eatonphil.com/2024-03-15-zig-rust-and-other-languages.html :

I think the ideal situation in the future will be that every language supports annotating blocks of code as must-not-allocate or something along those lines. Either the compiler will enforce this and fail if you seem to allocate in a block marked must-not-allocate, or it will panic during runtime so you can catch this in tests.

Draft: Source generators

Source generators within the language itselt for:

  • FFI pourpouses
  • Syntax extensions (SQL, HTML, ...)
  • Type providers? 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.