Skip to content

Instantly share code, notes, and snippets.

@smarr
Last active April 2, 2025 18:27
Show Gist options
  • Save smarr/d1f8f2101b5cc8e14e12 to your computer and use it in GitHub Desktop.
Save smarr/d1f8f2101b5cc8e14e12 to your computer and use it in GitHub Desktop.

Revisions

  1. smarr revised this gist Jul 18, 2020. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -9,6 +9,9 @@
    - Truffle Tutorial, Christan Wimmer, PLDI 2016, 3h recording
    https://youtu.be/FJY96_6Y3a4 [Slides](https://lafo.ssw.uni-linz.ac.at/pub/papers/2016_PLDI_Truffle.pdf)

    - Truffle Tutorial, Nicolas Laurent
    https://norswap.com/truffle-tutorial/

    - GraalVM.org http://www.graalvm.org/docs/

    - Series of blog posts on implementing a Lisp
  2. smarr revised this gist Aug 26, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -105,7 +105,7 @@
    http://lafo.ssw.uni-linz.ac.at/papers/2013_Onward_OneVMToRuleThemAll.pdf

    - The Partical Evaluation paper: "Practical partial evaluation for high-performance dynamic language runtimes"
    accessible via: http://www.sigplan.org/OpenTOC/pldi17.html or https://doi.org/10.1145/3062341.3062381
    accessible via: https://chrisseaton.com/rubytruffle/pldi17-truffle/pldi17-truffle.pdf

    ### Other Related Papers

  3. smarr revised this gist Aug 16, 2018. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -41,7 +41,7 @@
    - RegexLanguage, a JavaScript-flavored regex language https://github.com/oracle/graal/blob/master/regex/src/com.oracle.truffle.regex/src/com/oracle/truffle/regex/RegexLanguage.java#L38

    #### Status Unknown
    - ZipPy, a Python 3: https://bitbucket.org/ssllab/zippy
    - ZipPy, a Python 3: https://github.com/securesystemslab/zippy

    #### Experiments
    - TruffleSqueak, Squeak interpreter on top of Truffle https://github.com/timfel/trufflesqueak
    @@ -90,6 +90,9 @@
    - NQP - Not Quite Perl (6)
    https://github.com/perl6/nqp/tree/truffle

    - Go
    https://github.com/PDZaninov/GoLang-Compiler

    ### Key Papers

    - The Truffle paper: “Self-Optimizing AST Interpreters”
  4. smarr revised this gist Jul 13, 2018. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -87,6 +87,9 @@
    - shen-truffle
    https://github.com/ragnard/shen-truffle

    - NQP - Not Quite Perl (6)
    https://github.com/perl6/nqp/tree/truffle

    ### Key Papers

    - The Truffle paper: “Self-Optimizing AST Interpreters”
  5. smarr revised this gist Apr 17, 2018. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -9,6 +9,8 @@
    - Truffle Tutorial, Christan Wimmer, PLDI 2016, 3h recording
    https://youtu.be/FJY96_6Y3a4 [Slides](https://lafo.ssw.uni-linz.ac.at/pub/papers/2016_PLDI_Truffle.pdf)

    - GraalVM.org http://www.graalvm.org/docs/

    - Series of blog posts on implementing a Lisp
    http://cesquivias.github.io/

    @@ -33,7 +35,8 @@
    - SOM Smalltalk: https://github.com/SOM-st/TruffleSOM
    - SOMns, a Newspeak: https://github.com/smarr/SOMns
    - SimpleLanguage: https://github.com/graalvm/simplelanguage
    - Graal.JS, a JavaScript implementation: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
    - Graal.JS, a JavaScript implementation: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html, https://github.com/graalvm/graaljs/
    - GraalPython, a Python 3 implementation: https://github.com/graalvm/graalpython/
    - Sulong, a LLVM IR implementation on top of the JVM https://github.com/graalvm/sulong
    - RegexLanguage, a JavaScript-flavored regex language https://github.com/oracle/graal/blob/master/regex/src/com.oracle.truffle.regex/src/com/oracle/truffle/regex/RegexLanguage.java#L38

  6. smarr revised this gist Apr 6, 2018. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -35,6 +35,7 @@
    - SimpleLanguage: https://github.com/graalvm/simplelanguage
    - Graal.JS, a JavaScript implementation: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
    - Sulong, a LLVM IR implementation on top of the JVM https://github.com/graalvm/sulong
    - RegexLanguage, a JavaScript-flavored regex language https://github.com/oracle/graal/blob/master/regex/src/com.oracle.truffle.regex/src/com/oracle/truffle/regex/RegexLanguage.java#L38

    #### Status Unknown
    - ZipPy, a Python 3: https://bitbucket.org/ssllab/zippy
  7. smarr revised this gist Mar 23, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -3,7 +3,7 @@
    - Add Graal JIT Compilation to Your JVM Language in 5 Steps, A Tutorial
    http://stefan-marr.de/2015/11/add-graal-jit-compilation-to-your-jvm-language-in-5-easy-steps-step-1/

    - The SimpleLanguage, an example of using Truffle with great JavaDocs
    - The SimpleLanguage, an example of using Truffle with great JavaDocs. It is the officle getting-started project:
    https://github.com/graalvm/simplelanguage

    - Truffle Tutorial, Christan Wimmer, PLDI 2016, 3h recording
  8. smarr revised this gist Mar 23, 2018. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -27,7 +27,7 @@

    ### Language Implementations

    Maintained
    #### Maintained
    - FastR, an R implementation: https://github.com/graalvm/fastr
    - TruffleRuby: https://github.com/graalvm/truffleruby
    - SOM Smalltalk: https://github.com/SOM-st/TruffleSOM
    @@ -36,10 +36,10 @@ Maintained
    - Graal.JS, a JavaScript implementation: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
    - Sulong, a LLVM IR implementation on top of the JVM https://github.com/graalvm/sulong

    Status Unknown:
    #### Status Unknown
    - ZipPy, a Python 3: https://bitbucket.org/ssllab/zippy

    Experiments
    #### Experiments
    - TruffleSqueak, Squeak interpreter on top of Truffle https://github.com/timfel/trufflesqueak

    - TruffleC, a C on top of the JVM: http://dl.acm.org/citation.cfm?id=2647528
  9. smarr revised this gist Jan 17, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -62,7 +62,7 @@ Experiments
    - PureScript
    https://github.com/slamdata/truffled-purescript

    - Mozart/Oz
    - Mozart-Graal: An implementation of the Oz language
    https://github.com/eregon/mozart-graal

    - DynSem: A Language Specification-Language, as a meta-interpreter in Truffle
  10. smarr revised this gist Oct 11, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -13,7 +13,7 @@
    http://cesquivias.github.io/

    - Truffle Tutorials, Presentations, Publications
    https://github.com/graalvm/truffle/blob/master/docs/Publications.md
    https://github.com/graalvm/graal/blob/master/docs/Publications.md

    - Graal VM and Graal.JS on the Oracle Technology Network
    http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
  11. smarr revised this gist Aug 16, 2017. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -79,6 +79,9 @@ Experiments

    - PorcE: An Orc implementation on top of Truffle
    https://github.com/orc-lang/orc/tree/master/PorcE

    - shen-truffle
    https://github.com/ragnard/shen-truffle

    ### Key Papers

  12. smarr revised this gist Aug 2, 2017. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -29,19 +29,21 @@

    Maintained
    - FastR, an R implementation: https://github.com/graalvm/fastr
    - JRuby+Truffle: https://github.com/jruby/jruby/wiki/Truffle
    - TruffleRuby: https://github.com/graalvm/truffleruby
    - SOM Smalltalk: https://github.com/SOM-st/TruffleSOM
    - SOMns, a Newspeak: https://github.com/smarr/SOMns
    - SimpleLanguage: https://github.com/graalvm/simplelanguage
    - Graal.JS, a JavaScript implementation: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
    - TruffleC, a C on top of the JVM: http://dl.acm.org/citation.cfm?id=2647528
    - Sulong, a LLVM IR implementation on top of the JVM https://github.com/graalvm/sulong
    - TruffleSqueak, Squeak interpreter on top of Truffle https://github.com/timfel/trufflesqueak

    Status Unknown:
    - ZipPy, a Python 3: https://bitbucket.org/ssllab/zippy

    Experiments
    - TruffleSqueak, Squeak interpreter on top of Truffle https://github.com/timfel/trufflesqueak

    - TruffleC, a C on top of the JVM: http://dl.acm.org/citation.cfm?id=2647528

    - Mumbler: A Lisp
    https://github.com/cesquivias/mumbler & http://cesquivias.github.io/

  13. smarr revised this gist Aug 2, 2017. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -74,6 +74,9 @@ Experiments

    - Reactive Ruby: Truffle Ruby meets Reactive Programming
    https://github.com/guidosalva/ReactiveRubyTruffle

    - PorcE: An Orc implementation on top of Truffle
    https://github.com/orc-lang/orc/tree/master/PorcE

    ### Key Papers

  14. smarr revised this gist Jun 19, 2017. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -85,6 +85,9 @@ Experiments

    - The Truffle+Graal paper: "One VM to Rule Them All"
    http://lafo.ssw.uni-linz.ac.at/papers/2013_Onward_OneVMToRuleThemAll.pdf

    - The Partical Evaluation paper: "Practical partial evaluation for high-performance dynamic language runtimes"
    accessible via: http://www.sigplan.org/OpenTOC/pldi17.html or https://doi.org/10.1145/3062341.3062381

    ### Other Related Papers

  15. smarr revised this gist Jun 7, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -36,6 +36,7 @@ Maintained
    - Graal.JS, a JavaScript implementation: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
    - TruffleC, a C on top of the JVM: http://dl.acm.org/citation.cfm?id=2647528
    - Sulong, a LLVM IR implementation on top of the JVM https://github.com/graalvm/sulong
    - TruffleSqueak, Squeak interpreter on top of Truffle https://github.com/timfel/trufflesqueak

    Status Unknown:
    - ZipPy, a Python 3: https://bitbucket.org/ssllab/zippy
  16. smarr revised this gist Feb 9, 2017. 1 changed file with 6 additions and 1 deletion.
    7 changes: 6 additions & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -83,4 +83,9 @@ Experiments
    http://chrisseaton.com/rubytruffle/pppj14-om/pppj14-om.pdf

    - The Truffle+Graal paper: "One VM to Rule Them All"
    http://lafo.ssw.uni-linz.ac.at/papers/2013_Onward_OneVMToRuleThemAll.pdf
    http://lafo.ssw.uni-linz.ac.at/papers/2013_Onward_OneVMToRuleThemAll.pdf

    ### Other Related Papers

    - One Compiler: Deoptimization to Optimized Code (work on SubstrateVM, AOT compilation of Truffle code)
    http://doi.org/10.1145/3033019.3033025
  17. smarr revised this gist Jan 17, 2017. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -5,15 +5,15 @@

    - The SimpleLanguage, an example of using Truffle with great JavaDocs
    https://github.com/graalvm/simplelanguage

    - Truffle Tutorial, Christan Wimmer, PLDI 2016, 3h recording
    https://youtu.be/FJY96_6Y3a4 [Slides](https://lafo.ssw.uni-linz.ac.at/pub/papers/2016_PLDI_Truffle.pdf)

    - Series of blog posts on implementing a Lisp
    http://cesquivias.github.io/

    - Truffle Tutorials and Presentations
    https://wiki.openjdk.java.net/display/Graal/Publications+and+Presentations

    - Truffle FAQ and Guidelines
    https://wiki.openjdk.java.net/display/Graal/Truffle+FAQ+and+Guidelines
    - Truffle Tutorials, Presentations, Publications
    https://github.com/graalvm/truffle/blob/master/docs/Publications.md

    - Graal VM and Graal.JS on the Oracle Technology Network
    http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
  18. smarr revised this gist Aug 7, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -68,7 +68,7 @@ Experiments
    - Cover: A Safe Subset of C++
    https://github.com/gerard-/cover

    - TrufflePacal
    - TrufflePascal
    https://github.com/Aspect26/TrufflePascal/

    - Reactive Ruby: Truffle Ruby meets Reactive Programming
  19. smarr revised this gist Aug 7, 2016. 1 changed file with 10 additions and 1 deletion.
    11 changes: 10 additions & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -28,7 +28,7 @@
    ### Language Implementations

    Maintained
    - FastR, an R implementation: https://bitbucket.org/allr/fastr
    - FastR, an R implementation: https://github.com/graalvm/fastr
    - JRuby+Truffle: https://github.com/jruby/jruby/wiki/Truffle
    - SOM Smalltalk: https://github.com/SOM-st/TruffleSOM
    - SOMns, a Newspeak: https://github.com/smarr/SOMns
    @@ -65,6 +65,15 @@ Experiments
    - DynSem: A Language Specification-Language, as a meta-interpreter in Truffle
    https://github.com/metaborg/dynsem

    - Cover: A Safe Subset of C++
    https://github.com/gerard-/cover

    - TrufflePacal
    https://github.com/Aspect26/TrufflePascal/

    - Reactive Ruby: Truffle Ruby meets Reactive Programming
    https://github.com/guidosalva/ReactiveRubyTruffle

    ### Key Papers

    - The Truffle paper: “Self-Optimizing AST Interpreters”
  20. smarr revised this gist Apr 14, 2016. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -59,6 +59,12 @@ Experiments
    - PureScript
    https://github.com/slamdata/truffled-purescript

    - Mozart/Oz
    https://github.com/eregon/mozart-graal

    - DynSem: A Language Specification-Language, as a meta-interpreter in Truffle
    https://github.com/metaborg/dynsem

    ### Key Papers

    - The Truffle paper: “Self-Optimizing AST Interpreters”
  21. smarr revised this gist Feb 2, 2016. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -35,6 +35,7 @@ Maintained
    - SimpleLanguage: https://github.com/graalvm/simplelanguage
    - Graal.JS, a JavaScript implementation: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
    - TruffleC, a C on top of the JVM: http://dl.acm.org/citation.cfm?id=2647528
    - Sulong, a LLVM IR implementation on top of the JVM https://github.com/graalvm/sulong

    Status Unknown:
    - ZipPy, a Python 3: https://bitbucket.org/ssllab/zippy
  22. smarr revised this gist Dec 9, 2015. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,8 @@
    ### Introductory Material

    - Add Graal JIT Compilation to Your JVM Language in 5 Steps, A Tutorial
    http://stefan-marr.de/2015/11/add-graal-jit-compilation-to-your-jvm-language-in-5-easy-steps-step-1/

    - The SimpleLanguage, an example of using Truffle with great JavaDocs
    https://github.com/graalvm/simplelanguage

  23. smarr revised this gist Nov 12, 2015. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -52,6 +52,9 @@ Experiments
    - TruffleMATE, a Smalltalk with a completely reified runtime system
    https://github.com/charig/TruffleMATE

    - PureScript
    https://github.com/slamdata/truffled-purescript

    ### Key Papers

    - The Truffle paper: “Self-Optimizing AST Interpreters”
  24. smarr revised this gist Sep 15, 2015. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -31,6 +31,7 @@ Maintained
    - SOMns, a Newspeak: https://github.com/smarr/SOMns
    - SimpleLanguage: https://github.com/graalvm/simplelanguage
    - Graal.JS, a JavaScript implementation: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
    - TruffleC, a C on top of the JVM: http://dl.acm.org/citation.cfm?id=2647528

    Status Unknown:
    - ZipPy, a Python 3: https://bitbucket.org/ssllab/zippy
  25. smarr revised this gist Sep 14, 2015. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -45,6 +45,9 @@ Experiments
    - Hex
    https://bitbucket.org/hexafraction/truffles & https://hextruffle.wordpress.com/

    - Golo (a minimal Truffle backend)
    https://github.com/smarr/golo-lang/tree/truffle

    - TruffleMATE, a Smalltalk with a completely reified runtime system
    https://github.com/charig/TruffleMATE

  26. smarr revised this gist Sep 14, 2015. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -45,6 +45,9 @@ Experiments
    - Hex
    https://bitbucket.org/hexafraction/truffles & https://hextruffle.wordpress.com/

    - TruffleMATE, a Smalltalk with a completely reified runtime system
    https://github.com/charig/TruffleMATE

    ### Key Papers

    - The Truffle paper: “Self-Optimizing AST Interpreters”
  27. smarr revised this gist Sep 14, 2015. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@
    - Truffle FAQ and Guidelines
    https://wiki.openjdk.java.net/display/Graal/Truffle+FAQ+and+Guidelines

    - Graal VM and Truffle/JS on the Oracle Technology Network
    - Graal VM and Graal.JS on the Oracle Technology Network
    http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html

    - Papers on Truffle
    @@ -25,11 +25,12 @@
    ### Language Implementations

    Maintained
    - FastR: https://bitbucket.org/allr/fastr
    - FastR, an R implementation: https://bitbucket.org/allr/fastr
    - JRuby+Truffle: https://github.com/jruby/jruby/wiki/Truffle
    - SOM Smalltalk: https://github.com/SOM-st/TruffleSOM
    - SOMns, a Newspeak: https://github.com/smarr/SOMns
    - SimpleLanguage: https://github.com/graalvm/simplelanguage
    - Graal.JS, a JavaScript implementation: http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html

    Status Unknown:
    - ZipPy, a Python 3: https://bitbucket.org/ssllab/zippy
  28. smarr revised this gist Sep 14, 2015. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -51,3 +51,6 @@ Experiments

    - How to represent Objects Efficiently: “An Object Storage Model for the Truffle Language Implementation Framework”
    http://chrisseaton.com/rubytruffle/pppj14-om/pppj14-om.pdf

    - The Truffle+Graal paper: "One VM to Rule Them All"
    http://lafo.ssw.uni-linz.ac.at/papers/2013_Onward_OneVMToRuleThemAll.pdf
  29. smarr revised this gist Sep 14, 2015. 1 changed file with 9 additions and 1 deletion.
    10 changes: 9 additions & 1 deletion truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -42,4 +42,12 @@ Experiments
    https://github.com/lucasallan/LuaTruffle & http://www.luatruffle.org/

    - Hex
    https://bitbucket.org/hexafraction/truffles & https://hextruffle.wordpress.com/
    https://bitbucket.org/hexafraction/truffles & https://hextruffle.wordpress.com/

    ### Key Papers

    - The Truffle paper: “Self-Optimizing AST Interpreters”
    http://lafo.ssw.uni-linz.ac.at/papers/2012_DLS_SelfOptimizingASTInterpreters.pdf

    - How to represent Objects Efficiently: “An Object Storage Model for the Truffle Language Implementation Framework”
    http://chrisseaton.com/rubytruffle/pppj14-om/pppj14-om.pdf
  30. smarr revised this gist Sep 14, 2015. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions truffle-material.md
    Original file line number Diff line number Diff line change
    @@ -31,6 +31,9 @@ Maintained
    - SOMns, a Newspeak: https://github.com/smarr/SOMns
    - SimpleLanguage: https://github.com/graalvm/simplelanguage

    Status Unknown:
    - ZipPy, a Python 3: https://bitbucket.org/ssllab/zippy

    Experiments
    - Mumbler: A Lisp
    https://github.com/cesquivias/mumbler & http://cesquivias.github.io/