Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adelarsq/lightlang
General purpose FP first programming language made for peace that compiles for your desired language/platform [WIP] 💙💛🤍💚
https://github.com/adelarsq/lightlang
compiler lightlang nowar peace programming-language
Last synced: about 2 months ago
JSON representation
General purpose FP first programming language made for peace that compiles for your desired language/platform [WIP] 💙💛🤍💚
- Host: GitHub
- URL: https://github.com/adelarsq/lightlang
- Owner: adelarsq
- License: other
- Created: 2022-03-01T22:23:34.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-10T02:02:33.000Z (4 months ago)
- Last Synced: 2024-09-10T05:27:04.030Z (4 months ago)
- Topics: compiler, lightlang, nowar, peace, programming-language
- Homepage:
- Size: 157 KB
- Stars: 9
- Watchers: 4
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](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](https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/paperSLE.pdf)
- Minimal syntax - based on LISP
- Manutenability - avoid breaking changes
- Strongly typed
- Easy FFI## Roadmap
- [x] Define roadmap
- [x] Define language to write the first compiler version **WIP**
- [x] Logo
- [X] Define Language used to implement -> Go
- [ ] POC features - ~1 year
- [x] 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
- [Light License](https://github.com/adelarsq/lightlang/blob/main/LICENSE) - a restricted version from the MIT License.
## News
- [Show HN: Light Language - General purpose programming language made for peace](https://news.ycombinator.com/item?id=30521162)
## Based on
These are the list of languages on which this will be based:
- [Lisp](https://lisp-lang.org/)
- [Fennel](https://fennel-lang.org/)
- [Ciel](https://ciel-lang.org)
- [Zig](https://ziglang.org)
- [F#](https://fsharp.org)
- [Fable](https://github.com/fable-compiler/Fable)
- [ELM](https://elm-lang.org) and [Gren](https://gren-lang.org)
- [V](https://vlang.io)
- [Lua](https://www.lua.org/)Others:
- [Julia](https://julialang.org/)
- [Python](https://www.python.org/)
- [Elixir](https://elixir-lang.org/)
- [Potigol](https://potigol.github.io/docs/)
- [Roc](https://www.roc-lang.org/)
- [Carbon](https://github.com/carbon-language/carbon-lang)
- [Odin](https://odin-lang.org)
- [Raku](https://www.raku.org/) [1](https://raku-advent.blog/2022/12/20/sigils/)
- [Austral](https://austral-lang.org)
- [Haskell](https://www.haskell.org/)
- [Prolog](http://www.gprolog.org/)
- [CoffeeScript](https://coffeescript.org/)
- [Hare](https://harelang.org)
- [Shen](https://shen-language.github.io)
- [LCL](https://codeberg.org/gsou/LCL)
- [TXR](https://www.nongnu.org/txr/txr-lisp.html)
- [blisp](https://ytakano.github.io/blisp)
- [lips](https://lips.js.org/)
- [lumen](https://github.com/sctb/lumen)
- [guile](https://www.gnu.org/software/guile)
- [s7](https://ccrma.stanford.edu/software/snd/snd/s7.html)