Skip to content

Commit 3438d87

Browse files
committed
Update Truffle Language tutorial
1 parent 6f800df commit 3438d87

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

truffle/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
## Introduction
44

55
The Truffle language implementation framework (Truffle) is an open-source library for building programming language implementations as interpreters for self-modifying Abstract Syntax Trees.
6-
Together with the open-source [Graal compiler](https://github.com/oracle/graal/tree/master/compiler), Truffle represents a significant step
7-
forward in programming language implementation technology in the current era of dynamic languages.
6+
Together with the open-source [Graal compiler](https://github.com/oracle/graal/tree/master/compiler), Truffle represents a significant step forward in programming language implementation technology in the current era of dynamic languages.
87

98
A growing body of shared implementation code and services reduces language implementation effort significantly, but leads to runtime performance that matches or exceeds the competition.
109
The value of the platform is further increased by support for low-overhead language interoperability, as well as a general instrumentation framework that supports multilanguage debugging and other external developer tools.

truffle/docs/LanguageTutorial.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,12 @@ permalink: /graalvm-as-a-platform/language-implementation-framework/LanguageTuto
66
---
77
# Implementing a New Language with Truffle
88

9-
For an in-depth presentation on how to implement your language with Truffle,
10-
watch this [video walkthrough](#) presented at the
11-
Conference on Programming Language Design and Implementation [PLDI 2016](http://conf.researchr.org/home/pldi-2016).
9+
The Truffle framework enables you to implement a programming language and run it efficiently on GraalVM.
10+
We provide extensive [Truffle API documentation](http://graalvm.org/truffle/javadoc/).
1211

13-
[Download slides](https://lafo.ssw.uni-linz.ac.at/pub/papers/2016_PLDI_Truffle.pdf).
12+
A good way to start implementing your language is to:
13+
* Look at the [TruffleLanguage](http://www.graalvm.org/truffle/javadoc/com/oracle/truffle/api/TruffleLanguage.html) class, and subclass it for your own language implementation.
14+
* Fork the [SimpleLanguage](https://github.com/graalvm/simplelanguage) project and start hacking. SimpleLanguage is a relatively small language implementation, well-documented, and designed to demonstrate most of the Truffle features.
15+
* Examine the [GraalVM Polyglot API](https://www.graalvm.org/sdk/javadoc/org/graalvm/polyglot/package-summary.html) that enables you to embed your Truffle language in Java.
1416

15-
Next steps:
16-
* Start to subclass [TruffleLanguage](http://www.graalvm.org/truffle/javadoc/com/oracle/truffle/api/TruffleLanguage.html) for your own language implementation.
17-
* Fork [SimpleLanguage](https://github.com/graalvm/simplelanguage), a toy language that demonstrates how to use Truffle features.
18-
* Embed Truffle languages in Java host applications using the [Polyglot API](../../docs/reference-manual/embedding/embed-languages.md).
19-
* Read [GraalVM/Truffle publications](https://github.com/oracle/graal/blob/master/docs/Publications.md).
17+
We also recommend to watch this online seminar on [Dynamic Metacompilation with Truffle](https://www.youtube.com/watch?v=pksRrON5XfU) by Christian Humer from Oracle, to better understand Truffle concepts such as dynamic metacompilation, partial evaluation, polymorphic inlining, and so on.

0 commit comments

Comments
 (0)