# graalvm/graal

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/graalvm-graal).**

21,603 stars · 1,789 forks · Java · NOASSERTION

## Links

- GitHub: https://github.com/graalvm/graal
- Homepage: https://www.graalvm.org
- awesome-repositories: https://awesome-repositories.com/repository/graalvm-graal.md

## Description

Graal is a compiler and runtime architecture designed for high-performance execution and polyglot interoperability. It utilizes a graph-based representation of program logic to perform global optimizations and JIT compilation.

The project features a meta-circular interpretation framework and a specialized partial evaluation mechanism, which allow for the creation of new programming languages and the automatic optimization of their semantics into machine code. It enables multiple diverse programming languages to share memory and communicate through a standardized cross-language protocol within a single runtime.

Additional capabilities include the generation of standalone native binaries through ahead-of-time compilation to reduce memory footprints and startup latency. The system also provides tools for visualizing and analyzing compiler graphs to examine code processing workflows.

## Tags

### Programming Languages & Runtimes

- [Just-In-Time Compilation](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/compiler-optimizations/just-in-time-compilation.md) — Translates high-level language representations into optimized machine code using a sophisticated JIT compilation engine.
- [Language Interoperability](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability.md) — Provides a standardized cross-language protocol allowing diverse languages to share memory and communicate within a single runtime.
- [Meta-Circular Interpreters](https://awesome-repositories.com/f/programming-languages-runtimes/meta-circular-interpreters.md) — Uses a shared AST-based meta-circular interpretation framework to implement language semantics that are automatically optimized into machine code.
- [Partial Evaluation](https://awesome-repositories.com/f/programming-languages-runtimes/partial-evaluation.md) — Specializes general code by treating some inputs as constants to generate highly optimized versions of a program.
- [Polyglot Application Development](https://awesome-repositories.com/f/programming-languages-runtimes/polyglot-application-development.md) — Enables running and combining multiple programming languages within a single runtime to simplify cross-language development.
- [Language-Agnostic Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes/language-agnostic-runtimes.md) — Provides a unified runtime capable of executing and compiling diverse programming languages within a single environment. ([source](https://github.com/graalvm/graal#readme))
- [Language Implementation Frameworks](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/programming-language-architectures/language-implementation-frameworks.md) — Enables the creation of new programming languages and developer tools using a shared compiler infrastructure.

### Development Tools & Productivity

- [Native AOT Compilation](https://awesome-repositories.com/f/development-tools-productivity/native-compilation/native-aot-compilation.md) — Provides the ability to convert high-level code into native machine instructions to minimize startup latency and memory usage.

### Software Engineering & Architecture

- [Compiler Intermediate Representations](https://awesome-repositories.com/f/software-engineering-architecture/execution-graphs/graph-execution-compilers/compiler-intermediate-representations.md) — Implements a graph-based representation of program logic to perform global optimizations before emitting final machine code.

### Part of an Awesome List

- [Language Development](https://awesome-repositories.com/f/awesome-lists/devtools/language-development.md) — Provides a meta-circular interpreter and shared compiler infrastructure specifically for building new programming languages. ([source](https://github.com/graalvm/graal#readme))
- [Performance and Optimization](https://awesome-repositories.com/f/awesome-lists/devtools/performance-and-optimization.md) — Improves application execution speed and resource efficiency through advanced compiler graph analysis and optimization.
- [Language Development Platforms](https://awesome-repositories.com/f/awesome-lists/devtools/language-development-platforms.md) — High-performance polyglot runtime.
