Farao Development Suite for GraalVM™

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.

› goals and approaches

Polyglot Development

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.

Unlocking Innovation

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.

Model-Driven Tooling

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.

Don't miss any news!
Open subscribe page ⤴
or request subscription

› tools and solutions

Java Ts Gen

A Javadoc doclet to generate TypeScript headers for GraalJS. Includes advanced features like example adaptations.

Protobuf Java

A protoc plugin written in Java that follows native protobuf CPP code. Outputs wrappings for GraalVM languages.

Auditor

An automatic API changelog generator that tracks signature changes across releases to maintain better visibility.

› side libraries

Javadoc 2 Md

Lib to convert Javadoc to markdown, handling all block and inline tags including lists, tables and code snippets.

Namespacer

Allows to use traditional, Java-esque imports in GraalJS by building up a linked class path inside node_modules.

› lab projects

Osiris

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.

BOLD

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.

› infrastructure initiatives

Javish

A task-force to translate Java ecosystem APIs into headers usable from GraalVM languages, enabling developer-friendly interop.

Protons

The namespace for sharing Protobuf™ definitions of popular libraries needed to establish efficient cross-language pipings.

Runtimes

The era of runtime distros is here: let's embrace it! As more devs build their own, we maintain a collection of distributions.