- Notifications
You must be signed in to change notification settings - Fork2
GraalVM: Run Programs Faster Anywhere 🚀
License
petermz/graal
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Clojure, Kotlin, and LLVM-based languages such as C and C++.
The project website athttps://www.graalvm.org describes how toget started, how tostay connected, and how tocontribute.
The GraalVM main source repository includes the following components:
GraalVM SDK contains long term supported APIs of GraalVM.
GraalVM compiler written in Java that supports both dynamic and static compilation and can integrate withthe Java HotSpot VM or run standalone.
Truffle language implementation framework for creating languages and instrumentations for GraalVM.
Tools contains a set of tools for GraalVM languagesimplemented with the instrumentation framework.
Substrate VM framework that allows ahead-of-time (AOT)compilation of Java applications under closed-world assumption into executableimages or shared objects.
Sulong is an engine for running LLVM bitcode on GraalVM.
GraalWasm is an engine for running WebAssembly programs on GraalVM.
TRegex is an implementation of regular expressions which leverages GraalVM for efficient compilation of automata.
VM includes the components to build a modular GraalVM image.
VS Code provides extensions to Visual Studio Code that support development of polyglot applications using GraalVM.
- Open aGitHub issue for bug reports, questions, or requests for enhancements.
- Report a security vulnerability according to theReporting Vulnerabilities guide.
GraalVM allows running of following languages which are being developed and tested in related repositories with GraalVM core to run on top of it using Truffle and the GraalVM compiler. These are:
- GraalJS - JavaScript (ECMAScript 2020 compatible) and Node.js 12.18.0
- FastR - R Language 3.6.1
- GraalPython - Python 3.7
- TruffleRuby - Ruby Programming Language 2.6.x
- SimpleLanguage - A simple demonstration language for the GraalVM.
Each GraalVM component is licensed:
- Truffle Framework and its dependencyGraalVM SDK are licensed under theUniversal Permissive License.
- Tools project is licensed under theGPL 2 with Classpath exception.
- TRegex project is licensed under theUniversal Permissive License.
- GraalVM compiler is licensed under theGPL 2 with Classpath exception.
- Substrate VM is licensed under theGPL 2 with Classpath exception.
- Sulong is licensed under3-clause BSD.
- GraalWasm is licensed under theUniversal Permissive License.
- VM is licensed under theGPL 2 with Classpath exception.
- VS Code extensions are distributed under theUPL 1.0 license.
About
GraalVM: Run Programs Faster Anywhere 🚀
Resources
License
Security policy
Stars
Watchers
Forks
Packages0
Languages
- Java92.0%
- C4.8%
- Python1.6%
- TypeScript0.4%
- C++0.3%
- WebAssembly0.3%
- Other0.6%