Dynamic languages gained popularity for their agility, rapid iteration, and flexibility, letting developers move fast and prototype quickly. Turning these projects into scalable, sustainable software requires robust infrastructure, reliable tooling, and rigorous processes. In that light, "enterprise-grade" is not just about type safety, but about meeting organizational needs.
GraalVM, developed by Oracle Labs, runs dynamic languages on Java™, combining the scripting agility with the stability and performance of the enterprise platform. While this enables serious development, integrating these languages into maintainable workflows while meeting the modern gold-standard of developer experience has so far remained an unsolved challenge.
Farao | feroʊ | by British Software bridges this gap. It provides a unified development suite that establishes the infrastructure that helps interlingua teams to seamlessly integrate dynamic runtime code into existing static codebases. This empowers engineers to freely experiment and gradually adopt scripting approaches within stable as well as newer projects in a professional way.
Farao utilities allow programmers to interface between Java and GraalVM languages with proper Dev-X, enabling frictionless cross-language bridge. Our Javish initiative offers a large collection of high-quality translations available to the public who can just jump in to import Java libs from VMs.
Farao explores the foundations of GraalVM design, conducts academic-level research into developer experience, and facilitates technology transfer that accelerates market adoption, providing the industry with the right tools it needs to unlock the full benefits of dynamic agile languages.
Farao's philosophy is that Java is not just a programming language — it's a programming system. True enterprise Software Engineering is not about types, but rather about managing business knowledge and building modular components around it, so our tools are made to do exactly that.
A Javadoc doclet to generate TypeScript headers for GraalJS. Includes advanced features like example adaptations.
A protoc plugin written in Java that follows native protobuf CPP code. Outputs wrappings for GraalVM languages.
An automatic API changelog generator that tracks signature changes across releases to maintain better visibility.
Lib to convert Javadoc to markdown, handling all block and inline tags including lists, tables and code snippets.
Allows to use traditional, Java-esque imports in GraalJS by building up a linked class path inside node_modules.
Development server running as a daemon to instantly spawn GraalVM virtual machines without waiting for HotSpot cold-starts. Resolves and isolates dependencies listed in guest manifests automatically.
A bold new runtime with standard library comprised of OpenJDK and other canonical modules. Compiled into native image, is conceived to become the true enterprise-ready alternative to other popular runtimes.
A task-force to translate Java ecosystem APIs into headers usable from GraalVM languages, enabling developer-friendly interop.
The namespace for sharing Protobuf™ definitions of popular libraries needed to establish efficient cross-language pipings.
The era of runtime distros is here: let's embrace it! As more devs build their own, we maintain a collection of distributions.