Top all-time · #8105
Cristian Esquivias
Personal blog · cesquivias.github.io/blogprogrammingsystems
Cristian Esquivias's personal blog at cesquivias.github.io covers programming and systems. Since 2015, 10 different Hacker News readers have linked it 13 times, most often “Writing a Language in Truffle”. No feed was found, so read it on the site itself.
Too few sampled comments (9) to say how often HN recommends it.?
Why HN links it
HN readers link Cristian Esquivias's blog for its series on writing a language with Truffle on the JVM and GraalVM. It is cited for tail-call optimisation and used as a getting-started resource for Truffle.
Summarised by Claude from a sample of 9 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Cristian Esquivias
Most-linked posts?
- Writing a Language in Truffle4 people · 4 mentions · first linked 2015-01-21
- /blog/2015/01/15/writing-a-language-in-truffle-part-4-adding-features-the-truffle-way/3 people · 3 mentions · first linked 2016-07-20
- Writing a Language in Truffle, Part 1: A Simple, Slow Interpreter2 people · 2 mentions · first linked 2015-01-21
What Hacker News says?
You apparently can, cf http://cesquivias.github.io/blog/2015/01/15/writing-a-langua...
Comment linking /blog/2015/01/15/writing-a-language-in-truffle-part-4-adding-features-the-truffle-way/
on “Graal and Truffle could accelerate programming language design”Submitted Writing a Language in Truffle, Part 1: A Simple, Slow Interpreter as a story · 27 points
HN discussionYou can do TCO relatively simply. You throw a special exception class for nonlocal control flow (eg. tail calls, breaks from loops, continues, etc.) and Graal knows how to optimize the cost away to a normal jump. http://cesquivias.github.io/blog/2015/01/15/writing-a-langua... ZipPy (an incomplete Python implementation) supports Python's coroutines, which are faster than any other implementation. In theory these migh…
Comment linking /blog/2015/01/15/writing-a-language-in-truffle-part-4-adding-features-the-truffle-way/
on “Graal and Truffle could accelerate programming language design”Submitted Writing a Language in Truffle as a story · 1 points
HN discussionHah, I'm actually quite grateful that you didn't actually link to his blog (presumably[1]?) -- not because it's not interesting, but because if I hadn't tried to find "chris' blog" on truffle/graal, I wouldn't have come across: http://cesquivias.github.io/blog/2014/10/13/writing-a-langua... I've yet to read through [1], but the series above (so far up top 4 parts) gives a nice overview of truffle/graal -- and some i…
Comment linking /blog/2014/10/13/writing-a-language-in-truffle-part-1-a-simple-slow-interpreter/
on “Jvm.go: A JVM written in Go”Submitted Writing a Language in Truffle. Part 3: Making My Language (Much) Faster as a story · 1 points
HN discussionThe next step is using Truffle to bypass bytecode generation and interact directly with Graal -- HotSpot's next-gen (JIT/AOT) compiler -- and its amazing optimizations: Writing a Language in Truffle: http://cesquivias.github.io/tags/truffle.html
Comment linking /tags/truffle.html
on “Creating a JVM language”You need to make use of Truffle, there are a couple of tutorials around. http://cesquivias.github.io/blog/2014/10/13/writing-a-langua... http://cesquivias.github.io/blog/2014/12/02/writing-a-langua... https://www.graalvm.org/docs/graalvm-as-a-platform/implement...
Comment linking /blog/2014/12/02/writing-a-language-in-truffle-part-2-using-truffle-and-graal/
on “ZipPy: fast and lightweight Python 3 implementation using the Truffle framework”Code gets optimized out of existence all the time and isn't a problem for exception handling code and debugging tools, I don't see why this would be any different. http://cesquivias.github.io/blog/2015/01/15/writing-a-langua...
Comment linking /blog/2015/01/15/writing-a-language-in-truffle-part-4-adding-features-the-truffle-way/
on “Show HN: Tail Recursion Optimization for the JVM”Reduction/time-slice preemption is quite easy. Trivial, actually. We had it in early versions of Quasar but later removed it as it had no advantage as you can choose either user-space or kernel scheduling for each Quasar actor/"strand", and threads that rely time-slice based preemption do a lot better when scheduled by the kernel (and you can't have too many of them anyway, no matter how they're scheduled). Tail cal…
Comment linking /blog/2015/01/15/writing-a-language-in-truffle-part-4-adding-features-the-truffle-way/
on “Ask HN: What equivalents of Erlang/OTP exist for other languages?”This uses the Truffle framework and GraalVM. ( http://openjdk.java.net/projects/graal/ ) Related discussion about JRuby with Truffle: https://news.ycombinator.com/item?id=10817110 If anyone wants to get started with Truffle - I found these links helpful: > 3 hour Intro + Tutorial: https://www.youtube.com/watch?v=N_sOxGkZfTg > Blog Post Series: http://cesquivias.github.io/tags/truffle.html https://github.com/cesquivi…
Comment linking /tags/truffle.html
on “ZipPy – a Python 3 implementation on the JVM”This is a 4 part (as of Jan 15 2015) series http://cesquivias.github.io/tags/truffle.html Greatly appreciated topic.
Comment linking /tags/truffle.html
on “Writing a Language in Truffle, Part 1: A Simple, Slow Interpreter”