LCCC is the Lightning Creations Compiler Collection, a modern toolchain aimed at replacing gcc and llvm.
Previous iterations of the toolchain work are maintained for historical purposes. Current work is on lxca (LCCC eXtensible Compiler Architecture, and cmli (Compiler Machine Layer Interface).
We have a discord server, where most of our development is happening: https://discord.gg/a8caHpGcx2
All Contributions to this project, and discussion in project forms must comply the code of conduct adopted by the LCCC Leads. We use the Rust Code of Conduct, as interpreted by the LCCC throughout the entire LCCC Project. Repeat offenders may be permanently excluded from contributing to the project.
LCCC is run as an open source project. Anyone can contribute to it. Joining our discord server is encouraged for contributors, but not required.
LCCC is run by a small group of leads, who make project management and governance decisions. https://github.com/lccc-project/Governance describes how those leads make decisions.
LCCC is a compiler collection, first and foremost. The set of supported languages is ever evolving as we develop the frontends
LCCC is also responsible for a number of related things, such as writing an assembler and linker, as well as the related https://github.com/SNES-Dev project.
A full scope document will be published at a later date. Eventually, our plans include things like:
- A JIT Compilation Engine
- Language/Runtime Support Libraries
We also plan on doing outreach eventually (We're working on a mascot).
First and foremost, we are writing LCCC because we can. In the wise words of many people, the reason why we climb mountains, is because they are there. LCCC is a mountain to climb, and we will eventually.
We also have specific goals for LCCC, of course, to make it useful in a world inhabited by LLVM and GCC.
- Niche, weird, ancient target support (like the SNES)
- Being able to make language support easier
- Being able to make target support easier
- Having good diagnostics (in every language)
- Have decent optimizations for runtime performance/code size
- Making easy-to-use compiler drivers
We would also be interested in knowing this.