The Lycus Foundation
Welcome to the Lycus Foundation. We are a non-profit organization centered around the development and maintenance of open source developer tools such as compilers, virtual machines, and analyzers, as well as programming language specifications.
About What the foundation is and what it's doing.
The Lycus Foundation was created in August of 2011. The idea was to have a single organization to manage a number of projects relating to developer tooling (originally a virtual machine project and a programming language specification and its compiler implementation). This umbrella organization would take care of server and service management, monetary matters, project coordination, and release engineering.
This is what the Lycus Foundation is today. It hosts several supporting library projects, virtual machine projects, and compiler projects. In addition, it provides development machines for various architectures and operating systems, continuous integration facilities, release packaging, etc. The foundation also takes care of monetary matters (such as money put forth to get development hardware).
The foundation is completely open and community-oriented. We encourage everyone to take part in discussions on the IRC channels and the mailing lists. Further, all of the source code for the foundation's projects is on GitHub where anyone can fork and contribute by sending patches for review to our Phabricator instance. We do task tracking on Phabricator as well, and anyone can weigh in on open tasks that they would like to work on.
Projects Projects that we created or are contributing to.
Flect is a functional systems programming language. It pragmatically combines features such as algebraic data types, pattern matching, first-class function values, traits, generics, macros, and high type safety with (optional) low-level control over memory, direct interfacing to C and C++, bare metal compilation support, and so on.
The MCI (Managed Compiler Infrastructure) is a modern and intuitive compiler infrastructure written in the D programming language. It provides a simple, extensible API specialized for modern-day programming language designs. It is primarily intended for so-called "managed" languages, which usually run in a virtual machine and typically use a garbage collector for memory management.
ExVM (Extensible Virtual Machine) is a JIT-compiling virtual machine built on top of the MCI (Managed Compiler Infrastructure). It is a much more high-level virtual machine, defining an ABI (application binary interface) for many common compiler features such as name mangling, static/TLS data initialization, runtime type information and reflection, reified generics, etc.
A functional-imperative language primarily used as a proof of concept for implementing a language on top of ExVM. It has a simple C-like syntax, with the addition of features such as classes/interfaces (OOP), generics, lambda functions with closures, (limited) type inference, and garbage collection.
ExoCore is an operating system kernel written in Clang-flavored C11. It is a so-called exokernel; it only provides the bare minimum of abstraction around the hardware (such as memory management, I/O operations, scheduling, etc). This design allows operating systems to be implemented on top of ExoCore in user space.
DAREPL (D Architecture REPL) is an interactive REPL for CPU architectures. It lets you type instructions into a prompt and view the resulting mutations to machine state. It's generally meant as a development aid for compiler writers and reverse engineers.
Created by Philippe Sigaud, Pegged is a library for generating parsers through the D programming language's CTFE capabilities.
Binding to the Mono embedding API for the D programming language.
Publications Published works relating to projects we work on.
Nothing has been published yet.