A runtime toolkit for building business-level programming languages.
Languages like PHP spend the vast majority of their implementation effort on things that have nothing to do with syntax: objects, exceptions, execution context, hidden runtime machinery, and memory management under the hood. That accounts for well over 70% of what makes up a real-world, business-level language, and today almost every language reimplements all of it from scratch.
There are exceptions: a handful of projects ship a reusable garbage collector, for instance. But the industry as a whole rarely invests here, simply because there's no direct money in it.
Limelight is a set of libraries aimed at closing that gap: a shared foundation for building compiled or JIT-compiled, business-level languages such as PHP and Ruby, without reinventing the runtime every time. The plan is to eventually support multiple backends (WASM, JVM, ASM, LLVM, and others), so a language built on Limelight isn't locked into one target.
Right now, the project is PHP-first: Limelight is being built with and for PHP. Goal number one is a modern, backend-oriented approach to memory management. A separate strategy for regular (non-backend) applications may follow, but it isn't the primary focus for now.
Limelight currently follows the LLVM philosophy for code generation. Given that Dmitry Stogov has signaled continued investment in JIT, it's likely the project will eventually offer a choice of code generation backends rather than committing to just one.
Language support isn't meant to stop at PHP. Other languages, such as JavaScript and TypeScript, are reasonable candidates for support or for community-driven ports. Down the line, a friendlier layer for defining a language dialect, or simply extending existing syntax, may also emerge.
If something about the design doesn't sit right with you, say so. Small, focused contributions are welcome.
Design decisions and specifications live in the rfc repository, covering the object model, memory management, GC, runtime, I/O, standard library, and interop.