{"id":14109127,"url":"https://github.com/neomatrix369/awesome-graal","last_synced_at":"2025-04-06T02:10:43.471Z","repository":{"id":138844629,"uuid":"99819167","full_name":"neomatrix369/awesome-graal","owner":"neomatrix369","description":"A curated list of awesome resources for Graal, GraalVM, Truffle and related topics","archived":false,"fork":false,"pushed_at":"2023-02-15T18:09:31.000Z","size":801,"stargazers_count":355,"open_issues_count":2,"forks_count":29,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-05-23T04:06:27.060Z","etag":null,"topics":["aot","ast","fastr","graal","graalvm","graalvm-updater","hacktoberfest","high-performance","interpreter","jit","jruby","jvm-languages","languages","llvm","machine-code","optimised","polyglot","sulong","truffle","truffleruby"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neomatrix369.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"neomatrix369","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-08-09T14:43:00.000Z","updated_at":"2024-05-14T15:53:53.000Z","dependencies_parsed_at":"2023-03-21T19:52:29.612Z","dependency_job_id":null,"html_url":"https://github.com/neomatrix369/awesome-graal","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neomatrix369%2Fawesome-graal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neomatrix369%2Fawesome-graal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neomatrix369%2Fawesome-graal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neomatrix369%2Fawesome-graal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neomatrix369","download_url":"https://codeload.github.com/neomatrix369/awesome-graal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423515,"owners_count":20936626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aot","ast","fastr","graal","graalvm","graalvm-updater","hacktoberfest","high-performance","interpreter","jit","jruby","jvm-languages","languages","llvm","machine-code","optimised","polyglot","sulong","truffle","truffleruby"],"created_at":"2024-08-14T10:02:05.585Z","updated_at":"2025-04-06T02:10:43.451Z","avatar_url":"https://github.com/neomatrix369.png","language":"Shell","funding_links":["https://github.com/sponsors/neomatrix369"],"categories":["Shell","Other Lists","hacktoberfest","Resources","资源"],"sub_categories":["TeX Lists","Related Awesome Lists","相关的真棒列表"],"readme":"# Awesome Graal [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![License: CC BY-SA 4.0](https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-sa/4.0/)\n\n\n---\n\n**CircleCI:**  _Graal JDK8 (Linux)_ [![CircleCI](https://circleci.com/gh/neomatrix369/awesome-graal/tree/master.svg?style=svg)](https://circleci.com/gh/neomatrix369/awesome-graal/tree/master) | _GraalVM Suite JDK8 (Linux)_ [![CircleCI](https://circleci.com/gh/neomatrix369/awesome-graal/tree/build-graalvm-suite.svg?style=svg)](https://circleci.com/gh/neomatrix369/awesome-graal/tree/build-graalvm-suite)\u003cbr/\u003e\n**AdoptOpenJDK build farm:** _Linux_ [![Build Status](https://ci.adoptopenjdk.net/buildStatus/icon?job=jdk8-with-graal_build_x86-64_linux)](https://ci.adoptopenjdk.net/job/jdk8-with-graal_build_x86-64_linux/)   ⚫   _MacOS_ [![Build Status](https://ci.adoptopenjdk.net/buildStatus/icon?job=jdk8-with-graal_build_x86-64_macos)](https://ci.adoptopenjdk.net/job/jdk8-with-graal_build_x86-64_macos/)   ⚫   _Windows_ [![Build Status](https://ci.adoptopenjdk.net/buildStatus/icon?job=jdk8-with-graal_build_x86-64_windows)](https://ci.adoptopenjdk.net/job/jdk8-with-graal_build_x86-64_windows/)\n\n---\n\nGraal compiler (JDK8, python 2.7, 3.6 \u0026 3.7): [![Graal compiler (JDK8)](https://img.shields.io/docker/pulls/neomatrix369/graal-jdk8.svg)](https://hub.docker.com/r/neomatrix369/graal-jdk8) | GraalVM Suite (JDK8, python 2.7, 3.6 \u0026 3.7): [![GraalVM Suite (JDK8)](https://img.shields.io/docker/pulls/neomatrix369/graalvm-suite-jdk8.svg)](https://hub.docker.com/r/neomatrix369/graalvm-suite-jdk8) | Dataiku DSS on GraalVM: [![Dataiku DSS](https://img.shields.io/docker/pulls/neomatrix369/dataiku-dss.svg)](https://hub.docker.com/r/neomatrix369/dataiku-dss) | Grakn on GraalVM: [![Grakn](https://img.shields.io/docker/pulls/neomatrix369/grakn.svg)](https://hub.docker.com/r/neomatrix369/grakn) | Jupyter-Java on GraalVM: [![Jupyter-Java](https://img.shields.io/docker/pulls/neomatrix369/jupyter-java.svg)](https://hub.docker.com/r/neomatrix369/jupyter-java) | MLPMNist using DL4J on GraalVM: [![MLPMNist using DL4J on GraalVM](https://img.shields.io/docker/pulls/neomatrix369/dl4j-mnist-single-layer.svg)](https://hub.docker.com/r/neomatrix369/dl4j-mnist-single-layer) | Zeppelin on GraalVM: [![Zeppelin](https://img.shields.io/docker/pulls/neomatrix369/zeppelin.svg)](https://hub.docker.com/r/neomatrix369/zeppelin)\n\n---\n\nA curated list of awesome resources for Graal, GraalVM, Truffle and related topics.\n\n**This repo is dedicated to computer engineers/scientists, compiler/VM engineers, developers, open-source enthusiatics, Graal/GraalVM/Truffle fans and all other professions that take interest in these topics. To make learning interesting and to create a place to easily find all the necessary material. Please contribute, watch, star, fork and share the repo with others in your community.**\n\n- [Awesome Graal](#awesome-graal)\n  - [Languages \u0026 Platforms](#languages--platforms)\n  - [Related JEPs](#related-jeps)\n  - [Community](#community)\n  - [Github links](#github-links)\n  - [Mercurial links](#mercurial-links)\n  - [Download links](#download-links)\n  - [Projects, Wikipedia pages, discussion forums \u0026 blog posts](#projects-wikipedia-pages-discussion-forums--blog-posts)\n  - [Papers, presentations/slides \u0026 videos](#papers-presentationsslides--videos)\n  - [Hands-on pages](#hands-on-pages)\n  - [Special topics](#special-topics-java-graal-gpus-accelerators-etc)\n- [Contributing](#contributing)\n\n### Languages \u0026 Platforms\n\n#### Java \u0026 other JVM languages\n- [Why?](https://www.graalvm.org/docs/why-graal/#for-java-programs)\n- [Getting Started: Running Java](https://www.graalvm.org/docs/getting-started/#running-java)\n- Examples\n    - [Dataiku Data Science Studio](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/examples/data/dataiku/README.md) | [folder](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/examples/data/dataiku/)\n    - [Java Performance Examples](https://www.graalvm.org/docs/examples/java-performance-examples/)\n    - [Java stream API benchmark](https://www.graalvm.org/docs/examples/java-simple-stream-benchmark/)\n    - **[Grakn/Graql graph database running on the GraalVM and other JVMs](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/examples/data/databases/graph/grakn/README.md) | [folder](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/examples/data/databases/graph/grakn)**\n    - [Java/Kotlin Native Example](https://www.graalvm.org/22.0/examples/java-kotlin-aot/)\n    - [Native Image Example](https://www.graalvm.org/docs/examples/native-list-dir/)\n    - [Native-image: using Profile Guide Optimisation options](https://github.com/graalvm/graalvm-demos/tree/master/scala-days-2018/streams#profile-guided-optimizations-with-native-image) | [Slide 18](https://static.rainfocus.com/oracle/oow18/sess/1526041579721001pM2J/PF/2018-10-24%20SubstrateVM%20CodeOne_15404788159460019swO.pdf)\n    - [Command line apps with Clojure and GraalVM](https://www.astrecipes.net/blog/2018/07/20/cmd-line-apps-with-clojure-and-graalvm/)\n    - [GraalVM Polyglot with Clojure and JavaScript](https://blog.taylorwood.io/2018/11/26/graal-polyglot.html)\n    - [Clojure: GraalVM Native Image HTTPS Support](https://blog.taylorwood.io/2018/10/04/graalvm-https.html)\n    - [Building native Clojure images with GraalVM](https://blog.taylorwood.io/2018/05/02/graalvm-clojure.html)\n    - [Clojure Hello World example](./examples/clojure/helloworld/README.md) | [folder](./examples/clojure/helloworld)\n    - [GraalVM with Groovy](https://e.printstacktrace.blog/graalvm-and-groovy-how-to-start/) | [native image](https://e.printstacktrace.blog/graalvm-groovy-grape-creating-native-image-of-standalone-script/)\n    - [GraalVM and Scala](https://medium.com/graalvm/compiling-scala-faster-with-graalvm-86c5c0857fa3) | [Scala compiler faster \u0026 slimmer](https://www.codacy.com/blog/scala-faster-and-slimmer-with-graalvm/)\n    - [Scala-days-2018 demo](https://github.com/graalvm/graalvm-demos/tree/master/scala-days-2018)\n- [Compatibility](https://www.graalvm.org/docs/reference-manual/compatibility/)\n- [GraalVM Updater](https://www.graalvm.org/docs/reference-manual/graal-updater/)\n- [Reference Manual: JVM languages](https://www.graalvm.org/docs/reference-manual/languages/jvm/)\n- [Polyglot Reference](https://www.graalvm.org/docs/reference-manual/polyglot/) | [Top 10 Things To Do With GraalVM](https://medium.com/graalvm/graalvm-ten-things-12d9111f307d)\n- [Tools Reference](https://www.graalvm.org/docs/reference-manual/tools/)\n- [Native Images](https://www.graalvm.org/docs/reference-manual/aot-compilation/)\n\n#### Python, R, Ruby\n- [Why?](https://www.graalvm.org/docs/why-graal/#for-ruby-r-or-python)\n- [Get Started: Running Python](https://www.graalvm.org/docs/getting-started/#running-python)\n- [Get Started: Running R](https://www.graalvm.org/docs/getting-started/#running-r)\n- [Get Started: Running Ruby](https://www.graalvm.org/docs/getting-started/#running-ruby)\n- Examples\n    - [JavaScript, Java, R Polyglot Application](https://www.graalvm.org/docs/examples/polyglot-javascript-java-r/)\n    - [R's graphical output in Java based desktop application](https://github.com/graalvm/examples/tree/master/fastr_javaui)\n    - [FastR Node.js interop example](https://github.com/graalvm/examples/tree/master/fastr_node)\n    - [A simple, straightforward implementation of \"Conway's Game of Life\"](https://github.com/graalvm/examples/tree/master/fastr_scalar)\n    - [rJava package and built-in Java interoperability in FastR](https://github.com/graalvm/examples/tree/master/r_java_bench)\n    - [Embedding R as a scripting language into JVM applications](https://github.com/graalvm/examples/tree/master/r_java_embedding)\n    - [Weather Predictor Application: R, Ruby, Java, NodeJS/JS](https://github.com/graalvm/examples/tree/master/weather_predictor)\n    - [GraalVM demos: Another Polyglot JavaScript, Java, R application](https://github.com/graalvm/graalvm-demos/tree/master/functionGraphDemo)\n    - [Galaaz Demo: GraalVM, TruffleRuby, FastR, ggplot2, gridExtra](https://github.com/graalvm/graalvm-demos/tree/master/galaaz-ggplot)\n    - [GraalVM demos: Polyglot JavaScript, Java, R application](https://github.com/graalvm/graalvm-demos/tree/master/polyglot-javascript-java-r)\n    - [GraalVM demos: Spring Boot using R packages demo](https://github.com/graalvm/graalvm-demos/tree/master/spring-r)\n- [Compatibility](https://www.graalvm.org/docs/reference-manual/compatibility/)\n- [GraalVM Updater](https://www.graalvm.org/docs/reference-manual/graal-updater/)\n- [Reference Manual: Python](https://www.graalvm.org/docs/reference-manual/languages/python/)\n- [Reference Manual: R](https://www.graalvm.org/docs/reference-manual/languages/r/)\n- [Reference Manual: Ruby](https://www.graalvm.org/docs/reference-manual/languages/ruby/)\n- [Polyglot Reference](https://www.graalvm.org/docs/reference-manual/polyglot/) | [Top 10 Things To Do With GraalVM](https://medium.com/graalvm/graalvm-ten-things-12d9111f307d)\n- [Tools Reference](https://www.graalvm.org/docs/reference-manual/tools/)\n- [Native Images](https://www.graalvm.org/docs/reference-manual/aot-compilation/)\n\n#### JRuby\n\n- [Running JRuby on the Graal JIT](http://blog.headius.com/2018/07/running-jruby-on-graal-jit.html)\n\n#### Javascript / NodeJS\n\n- [Why?](https://www.graalvm.org/docs/why-graal/#for-nodejs-programs)\n- [Getting Started](https://www.graalvm.org/docs/getting-started/#running-javascript)\n- Examples\n  - [JavaScript, Java, R Polyglot Application](https://www.graalvm.org/docs/examples/polyglot-javascript-java-r/)\n  - [Running JavaScript Functions as Stored Procedures in Database](https://www.graalvm.org/docs/examples/mle-oracle/)\n  - [Oracle Database Example](https://www.graalvm.org/docs/examples/mle-oracle/)\n  - [GraalVM demos: Another Polyglot JavaScript, Java, R application](https://github.com/graalvm/graalvm-demos/tree/master/functionGraphDemo)\n  - [Galaaz Demo: GraalVM, TruffleRuby, FastR, ggplot2, gridExtra](https://github.com/graalvm/graalvm-demos/tree/master/galaaz-ggplot)\n  - [GraalVM demos: Polyglot JavaScript, Java, R application](https://github.com/graalvm/graalvm-demos/tree/master/polyglot-javascript-java-r)\n- [GraalVM Updater](https://www.graalvm.org/docs/reference-manual/graal-updater/)\n- [Compatibility](https://www.graalvm.org/docs/reference-manual/compatibility/)\n- [Reference Manual](https://www.graalvm.org/docs/reference-manual/languages/js/)\n\n#### Polyglot\n\n- [Getting started: combined languages](https://www.graalvm.org/docs/getting-started/#combine-languages)\n- Examples\n  - [Polyglot JavaScript, Java, R application](https://www.graalvm.org/docs/examples/polyglot-javascript-java-r/) \n  - [GraalVM Polyglot with Clojure and JavaScript](https://blog.taylorwood.io/2018/11/26/graal-polyglot.html)\n- [Language Compatibility Tool](https://www.graalvm.org/docs/reference-manual/compatibility/)\n- [GraalVM Updater](https://www.graalvm.org/docs/reference-manual/graal-updater/)\n- [Reference Manual](https://www.graalvm.org/docs/reference-manual/polyglot/) | [Top 10 Things To Do With GraalVM](https://medium.com/graalvm/graalvm-ten-things-12d9111f307d)\n- [GraalVM as a platform: Embed languages](https://www.graalvm.org/docs/graalvm-as-a-platform/embed/)\n- [IPolyglot: A polyglot Jupyter kernel for the GraalVM](https://github.com/hpi-swa/ipolyglot) | [HPI Polyglot Programming Seminar](https://medium.com/graalvm/hpi-polyglot-programming-seminar-3fd06ffa59d2) by [Fabio Niephaus](https://medium.com/u/20b155c97c55?source=post_page-----3fd06ffa59d2----------------------)\n\n#### LLVM\n\n- [Getting Started](https://www.graalvm.org/docs/getting-started/#running-llvm-interpreter)\n- [Compatibility](https://www.graalvm.org/docs/reference-manual/compatibility/)\n- [Reference Manual](https://www.graalvm.org/docs/reference-manual/languages/llvm/) | [Top 10 Things To Do With GraalVM](https://medium.com/graalvm/graalvm-ten-things-12d9111f307d)\n\n\n#### Wasm\n\n- [Awesome WebAssembly Runtimes](https://github.com/appcypher/awesome-wasm-runtimes)\n- [Towards a WebAssembly standalone runtime on GraalVM](https://dl.acm.org/citation.cfm?id=3362780)\n- [Running WebAssembly on the JVM](https://renato.athaydes.com/posts/running-wasm-on-the-jvm.html)\n  - [asmble: Compile WebAssembly to JVM and other WASM tools](https://github.com/cretz/asmble)\n  - [Gradle-plugin](https://github.com/renatoathaydes/wasm-on-jvm)\n- Discussions on [oracle/graal GitHub](https://github.com/oracle/graal)\n  - [WebAssembly and GraalVM](https://github.com/oracle/graal/issues/1358) \n  - [Compiling via Emscripten](https://github.com/oracle/graal/issues/336)\n  - [wasm, wat and wasm2c conversations](https://github.com/oracle/graal/issues?utf8=%E2%9C%93\u0026q=is%3Aissue+is%3Aopen+wasm)\n- [GraalWASM: current WebAssembly for GraalVM work by the good folks from the GraalVM team](https://github.com/oracle/graal/tree/master/wasm)\n- **WebAssembly for Java developers: [slides](https://speakerdeck.com/dalexandrov/webassembly-from-the-java-perspective), [code](https://github.com/dalexandrov/WebAssemblyFromJava) and [Talk: Devoxx/VoxxedDays video](https://www.youtube.com/watch?time_continue=2\u0026v=93z9SaLQVVw\u0026feature=emb_logo) by [Dmitry Alexandrov](https://twitter.com/bercut2000/)**\n- [Talk: Rust, WebAssembly, and the future of Serverless by Steve Klabnik](https://www.youtube.com/watch?v=CMB6AlE1QuI)\n- [Talk: An Introduction to WebAssembly by Guy Royse](https://www.youtube.com/watch?v=9o4R2fOgd7M\u0026list=PLKuh52zVrL6mRDyCLA4VYczKtdMBZDjAD\u0026index=3)\n- **[Blog: GraalVM now supports WebAssembly!](https://medium.com/graalvm/announcing-graalwasm-a-webassembly-engine-in-graalvm-25cd0400a7f2)**\n\n#### native-image\n\n- [What is native-image?](https://www.graalvm.org/docs/getting-started/#native-images)\n- Docs \n  * [Substrate VM](https://github.com/oracle/graal/tree/master/substratevm#substrate-vm)\n  * [Substrate VM: options](https://github.com/oracle/graal/blob/master/substratevm/OPTIONS.md)\n  * [Substrate VM: reflection](https://github.com/oracle/graal/blob/master/substratevm/REFLECTION.md)\n- [Reference manual](https://www.graalvm.org/reference-manual/native-image/)\n    + [Ahead-of-time Compilation](https://www.graalvm.org/docs/reference-manual/aot-compilation/#ahead-of-time-compilation)\n    + [Prerequisites](https://www.graalvm.org/docs/reference-manual/aot-compilation/#prerequisites)\n    + [Image Generation Options](https://www.graalvm.org/docs/reference-manual/aot-compilation/#image-generation-options)\n    + [Generating Heap Dumps](https://www.graalvm.org/docs/reference-manual/aot-compilation/#generating-heap-dumps)\n- [Security guide](https://www.graalvm.org/docs/security-guide/#native-image)\n- Other resources\n  - Blogs \n  - see ['Native-image'](https://github.com/neomatrix369/awesome-graal/blob/master/blog-posts.md#native-image) in [Blog posts](https://github.com/neomatrix369/awesome-graal/blob/master/blog-posts.md)\n  - Workshop resources\n    - Kris Foster's talks at LJC\n      - https://github.com/krisfoster/Native-Image-Workshop/\n      - https://krisfoster.github.io/Native-Image-Workshop/\n    - [native-image workshop on 25th Nov 2019](https://www.graalvm.org/uploads/workshop-nov-2019/2019-11-25-GraalVMCommunityWorkshop-NativeImage.pdf)\n- Examples\n    - [Native Image Examples](https://www.graalvm.org/docs/examples/native-list-dir/)\n    - [An example Clojure CLI HTTP/S client using GraalVM native image](https://github.com/taylorwood/clojurl)\n    - [A simple native HTTP server with GraalVM](https://melix.github.io/blog/2019/03/simple-http-server-graal.html)\n    - [Example of Akka HTTP server compiled with GraalVM native-image](https://github.com/vmencik/akka-graal-native)\n    - [GraalVM Native Image HTTPS Support](https://blog.taylorwood.io/2018/10/04/graalvm-https.html)\n    - [A 7MB native-image Java app that runs in 30ms and uses only 4MB of RAM!](https://sites.google.com/a/athaydes.com/renato-athaydes/posts/a7mbnative-imagejavaappthatrunsin30msandusesonly4mbofram)\n\n\n#### Third-Party Language Implementations (not officially supported by GraalVM)\n\n- [SOMns, a Simple Newspeak Implementation](https://github.com/smarr/SOMns)\n- [grCUDA, Polyglot CUDA integration for the GraalVM](https://github.com/NVIDIA/grcuda)\n- [GraalSqueak, a Squeak/Smalltalk bytecode interpreter with support for the Smalltalk programming environment](https://github.com/hpi-swa/graalsqueak)\n\n#### Your Platforms, languages and Tools\n\n##### Your Platforms\n\n- [Why?](https://www.graalvm.org/docs/why-graal/#for-your-platform)\n- [Reference Manual](https://www.graalvm.org/docs/reference-manual/tools/)\n- [GraalVM as a Platform](https://www.graalvm.org/docs/graalvm-as-a-platform/)\n  - [Embed Languages](https://www.graalvm.org/docs/graalvm-as-a-platform/embed/)\n\n##### Your Languages and Tools\n\n- [Why?](https://www.graalvm.org/docs/why-graal/#for-your-languages-and-tools)\n- [Reference Manual](https://www.graalvm.org/docs/reference-manual/tools/)\n- [Implement your language](https://www.graalvm.org/docs/graalvm-as-a-platform/implement-language/)\n  - [Truffle Language Implementation Framework](https://github.com/oracle/graal/tree/master/truffle) \n  - [Simple Language framework built using Truffle API](https://github.com/graalvm/simplelanguage)\n  - [cesquivias's GitHub page on Truffle](https://cesquivias.github.io/)\n    - [Writing a Language in Truffle. Part 1: A Simple, Slow Interpreter](https://cesquivias.github.io/blog/2014/10/13/writing-a-language-in-truffle-part-1-a-simple-slow-interpreter/)\n    - [Writing a Language in Truffle. Part 2: Using Truffle and Graal](https://cesquivias.github.io/blog/2014/12/02/writing-a-language-in-truffle-part-2-using-truffle-and-graal/)\n    - [Writing a Language in Truffle. Part 3: Making my Language (Much) Faster](https://cesquivias.github.io/blog/2015/01/08/writing-a-language-in-truffle-part-3-making-my-language-much-faster/)\n    - [Writing a Language in Truffle. Part 4: Adding Features the Truffle Way](https://cesquivias.github.io/blog/2015/01/15/writing-a-language-in-truffle-part-4-adding-features-the-truffle-way/)\n- Examples\n  - [implementation of the if statement](https://github.com/graalvm/simplelanguage/blob/master/language/src/main/java/com/oracle/truffle/sl/nodes/controlflow/SLIfNode.java)\n  - [A SOM Smalltalk implemented on top of Oracle's Truffle Framework ](https://github.com/SOM-st/TruffleSOM), also see http://som-st.github.io/\n  - [Mumbler is a lisp programming language](https://github.com/cesquivias/mumbler)\n- [Implement your tools](https://www.graalvm.org/docs/graalvm-as-a-platform/implement-instrument/)\n\n### Performance (startup \u0026 runtime)\n\n- [Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays](https://github.com/smarr/are-we-fast-yet) - by @smarr\n- [Investigating startup with bytestacks](https://cl4es.github.io/2018/11/23/Investigating-Startup-Using-Bytestacks.html)\n- [Comparison bash script: graal](https://github.com/rmannibucau/docosh/blob/master/graalcomparison.sh)\n- [Better Java Streams performance with GraalVM](https://medium.com/graalvm/stream-api-performance-with-graalvm-be6cfe7fbb52)\n- [Under the hood of GraalVM JIT optimizations](https://medium.com/graalvm/under-the-hood-of-graalvm-jit-optimizations-d6e931394797)\n- [GraalVM 19.1: Compiling Faster](https://medium.com/graalvm/graalvm-19-1-compiling-faster-a0041066dee4?source=collection_home---6------1-----------------------)\n- [Isolates and Compressed References: More Flexible and Efficient Memory Management via GraalVM](https://medium.com/graalvm/isolates-and-compressed-references-more-flexible-and-efficient-memory-management-for-graalvm-a044cc50b67e?source=collection_home---6------10-----------------------)\n- [GraalVM’s JavaScript engine on JDK11 with high performance](https://medium.com/graalvm/graalvms-javascript-engine-on-jdk11-with-high-performance-3e79f968a819)\n- [Compiler Explorer](https://godbolt.org/) - online IDE, run code, see asm, rustic compiler\n\n### Related JEPs\n\n- [JEP 317: Experimental Java-Based JIT Compiler - OpenJDK](http://openjdk.java.net/jeps/317)\n- [JEP 243: Java-Level JVM Compiler Interface - OpenJDK](http://openjdk.java.net/jeps/243)\n- [JEP 295: Ahead-of-Time Compilation](http://openjdk.java.net/jeps/295) \n- ...others\n\n### Community\n\n- [graal-dev mailing list](http://mail.openjdk.java.net/mailman/listinfo/graal-dev)\n- [graal-changes mailing list](http://mail.openjdk.java.net/mailman/listinfo/graal-changes)\n- **[GraalVM slack channel invite](https://join.slack.com/t/graalvm/shared_invite/enQtODM1NTQzNDIyMjk0LTNlYjBhNTdiNDQxNTdkNDE0ZmFlNzMwNDcyOWZjOTEzN2UyMTM5MTk5YjY1ZDgwMWU2NGQwNjVhZWVhOWRiOGQ)**\n- **[GraalVM slack channel](https://graalvm.slack.com/)**\n- Gitter channels are being phased out, please join the slack channels (links above)\n  + ~~[Gitter channel: graal-core](https://gitter.im/graalvm/graal-core)~~\n  + ~~[Gitter channel: truffleruby](https://gitter.im/graalvm/truffleruby)~~\n+ [Twitter list: Wholly Graal of Compilers](https://twitter.com/theNeomatrix369/lists/wholly-graal-of-compilers) \n- [GraalVM.org community](http://www.graalvm.org/community/) \n\n### Github links\n\nSee [Github links](./github-links.md)\n\n### Mercurial links\n\n- [OpenJDK Graal forest](http://hg.openjdk.java.net/graal)\n- [Compiler](http://hg.openjdk.java.net/graal/graal)\n- [JavaScript parser](http://hg.openjdk.java.net/graal/graal-js-parser/)\n- [JVM Compiler Interface for JDK8](http://hg.openjdk.java.net/graal/graal-jvmci-8/)\n- [JVM Compiler Interface for JDK9](http://hg.openjdk.java.net/graal/graal-jvmci-9/)\n- Deprecated\n    - [Compiler (deprecated by graal-core)](http://hg.openjdk.java.net/graal/graal-compiler/)\n    - [Compiler (deprecated by graal)](http://hg.openjdk.java.net/graal/graal-core/)\n\n### Download links\n- [GraalVM.org Downloads](http://www.graalvm.org/downloads/)\n- Oracle Labs GraalVM\n    - [Programming Languages and Runtimes ...](http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index.html)\n    - [Download](http://www.oracle.com/technetwork/oracle-labs/program-languages/downloads/index.html)\n    - [Learn more](http://www.oracle.com/technetwork/oracle-labs/program-languages/learnmore/index.html)\n    - [Java](http://www.oracle.com/technetwork/oracle-labs/program-languages/java/index.html)    \n- [Homebrew Tap for GraalVM](https://github.com/graalvm/homebrew-tap/): `brew cask install graalvm/tap/graalvm-ce`\n- [Graal and Truffle Builds (JDK8/OpenJDK8)](http://lafo.ssw.uni-linz.ac.at/builds/)\n- [jruby graal-vm-0.19 on Homebrew - Libraries.io](https://libraries.io/homebrew/jruby/graal-vm-0.19)\n\n### Projects, Wikipedia pages, discussion forums \u0026 blog posts\n\n#### Project(s)\n\n- [OpenJDK: Graal](http://openjdk.java.net/projects/graal/)\n\n#### Wikipedia page(s), OpenJDK Wiki, collection of useful links\n\n- [Graal (compiler) - Wikipedia](https://en.wikipedia.org/wiki/Graal_(compiler))\n- [OpenJDK Graal - Wiki](https://wiki.openjdk.java.net/display/Graal/Main)\n- [Graal/GraalVM/Truffle official docs](http://www.graalvm.org/docs/)\n    - [Graal/GraalVM/Truffle Getting Started](http://www.graalvm.org/docs/getting-started/)\n- [Graal/GraalVM/Truffle official Reference Manual](http://www.graalvm.org/docs/reference-manual/)\n- [OpenJDK Graal - Publications and Presentations](https://wiki.openjdk.java.net/display/Graal/Publications+and+Presentations)\n- [GraalVM: Official list of publications](http://www.graalvm.org/community/publications/)\n- [GraalVM in the press](https://www.graalvm.org/community/press/)\n- [Official FAQ on Graal/GraalVM/Truffle](https://www.graalvm.org/docs/faq/)\n- [List of useful resources from Stefan Marr](https://gist.github.com/smarr/d1f8f2101b5cc8e14e12)\n\n#### Discussion forum(s)\n\n- [Graalvm (Programming) Questions \u0026 Answers - TechQA](http://techqa.info/programming/tag/graalvm)\n- [Oracle's Graal-JVM / Truffle for Scala? : scala - Reddit](https://www.reddit.com/r/scala/comments/3lshav/oracles_graaljvm_truffle_for_scala/)\n- [Reddit discussions on GraalVM and Scala](https://www.reddit.com/r/scala/comments/8d5xlw/consequences_for_scala_with_the_graalvm/)\n- [Graal and Clojure discussions](https://marc.info/?l=openjdk-graal-dev\u0026m=139406384928500\u0026w=2)\n- [JIT compiling a subset of Python to x86-64](http://www.elegantreader.com/item/15750700)\n\n#### Blog posts\n\nSee [Blog posts](blog-posts.md)\n\n### Papers, presentations/slides \u0026 videos\n\nSee [Papers, presentations/slides \u0026 videos](papers-presentations-slides-videos.md)\n\n### Hands-on pages\n\n- General\n    - [Building Wholly Graal with Truffle!](https://neomatrix369.wordpress.com/2018/06/11/building-wholly-graal-with-truffle/)\n    - [How to build Graal-enabled JDK8 on CircleCI?](https://medium.com/@neomatrix369/how-to-build-graal-enabled-jdk8-on-circleci-3e20ae07a5d3)\n\n- Graal\n    - [Add Graal JIT Compilation to Your JVM Language in 5 Easy Steps ...](http://stefan-marr.de/2015/12/add-graal-jit-compilation-to-your-jvm-language-in-5-easy-steps-step-5/)\n    \n- GraalVM\n    - [GraalVM - APIDesign](http://wiki.apidesign.org/wiki/GraalVM)\n    - [Learning to use Wholly GraalVM!](https://neomatrix369.wordpress.com/2017/12/12/learning-to-use-wholly-graalvm/) [reblogged on [Java Advent Calendar](https://www.javaadvent.com/2017/12/learning-use-wholly-graalvm.html)]\n    \n- Truffle    \n    - [LuaTruffle](http://www.luatruffle.org/)\n\n- FastR\n    - [Compile and configure FastR in Linux | snatverk](http://snatverk.blogspot.com/2016/05/compile-and-configure-fastr-in-linux.html)\n\n### Special topics (Java, Graal, GPUs, Accelerators, etc...)\n\nSee [Special topics](./special-topics.md)\n\n# Contributing\n\nContributions are very welcome, please share back with the wider community (and get credited for it)!\n\nPlease have a look at the [CONTRIBUTING](CONTRIBUTING.md) guidelines, also have a read about our [licensing](LICENSE.md) policy.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneomatrix369%2Fawesome-graal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneomatrix369%2Fawesome-graal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneomatrix369%2Fawesome-graal/lists"}