- [AST Specialisation and Partial Evaluation for Easy High-Performance Metaprogramming][7] ([PDF][7pdf])
Chris Seaton, Oracle Labs
Sun 30 Oct 2016, 11:30-12:00 - Meta'16
Abstract
diff --git a/core/src/main/java/org/jruby/RubyArray.java b/core/src/main/java/org/jruby/RubyArray.java | |
index 04fbeef..1c32bb39 100644 | |
--- a/core/src/main/java/org/jruby/RubyArray.java | |
+++ b/core/src/main/java/org/jruby/RubyArray.java | |
@@ -71,6 +71,7 @@ import org.jruby.util.io.EncodingUtils; | |
import java.io.IOException; | |
import java.lang.reflect.Array; | |
+import java.lang.reflect.Field; | |
import java.util.Arrays; |
[] ~/projects/rubyspec $ git log | grep 2015 | wc -l | |
1021 | |
[] ~/projects/rubyspec $ git log | grep 2014 | wc -l | |
410 | |
[] ~/projects/rubyspec $ git log | grep 2013 | wc -l | |
961 | |
[] ~/projects/rubyspec $ git log | grep 2012 | wc -l |
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. It is the officle getting-started project: https://github.com/graalvm/simplelanguage
Truffle Tutorial, Christan Wimmer, PLDI 2016, 3h recording https://youtu.be/FJY96_6Y3a4 Slides
Last night, Brian Shirai unilaterally "ended" the RubySpec project, a sub-project of Rubinius (the alternative Ruby implementation which Brian was paid to work on full-time from 2007 to 2013). The blog post describing his reasons for "ending" the project led to a big discussion on Hacker News.
When a single, competing Ruby implementation tells that you its test suite is the One True Way, you should be skeptical. Charles Nutter, Ruby core committer and JRuby head honcho, spent a lot of time last night on Twitter talking to people about what this decision means. He's probably too busy and certainly too nice of a guy to write about what is a political issue in the Ruby community, so I'm going to do it on behalf of all the new or intermediate Rubyists out there that are confused by Brian's decision and what it me
# GENERATE CERTIFICATES | |
require 'openssl' | |
class CertGenerator | |
def self.generate | |
CertGenerator.new.generate | |
end | |
def generate |
$VERBOSE = nil | |
require File.expand_path('../rooby', __FILE__) | |
Person = Rooby::Class.new 'Person' do | |
define :initialize do |name| | |
@name = name | |
end | |
define :name do |
* Only the releases of the stable versions are listed in principle. The releases of the unstable versions especially considered to be important are indicated as "not stable." | |
* The branches used as the source of each releases are specified, and the branching timing of them are also shown. BTW, before subversionizing of the repository, the term called "trunk" was not used, but this list uses it in order to avoid confusion. | |
* In order to show a historical backdrop, big conferences (RubyKaigi, RubyConf and Euruko) are also listed. About the venues of such conferences, general English notations are adopted, in my hope. | |
* ruby_1_8_7 branch was recut from v1_8_7 tag after the 1.8.7 release because of an accident. | |
* 1.2.1 release was canceled once, and the 2nd release called "repack" was performed. Although there were other examples similar to this, since the re-releases were performed during the same day, it does not write clearly in particular. | |
* Since 1.0 was released with the date in large quantities, the mi |
I've been using this technique in most of my Ruby projects lately where Ruby versions are required:
.rbenv-version
containing the target Ruby using a definition name defined in ruby-build (example below). These strings are a proper subset of RVM Ruby string names so far....rvmrc
(with rvm --create --rvmrc "1.9.3@myapp"
) and edit the environment_id=
line to fetch the Ruby version from .rbenv-version
(example below).Today I learned about another Ruby manager, rbfu, where the author is using a similar technique with .rbfu-version
.
diff --git a/lib/compiler/ast/transforms.rb b/lib/compiler/ast/transforms.rb | |
index 19e1cfb..4e52ec2 100644 | |
--- a/lib/compiler/ast/transforms.rb | |
+++ b/lib/compiler/ast/transforms.rb | |
@@ -59,6 +59,71 @@ module Rubinius | |
end | |
end | |
+ # Provide an underscore node that allows partial application in Ruby. | |
+ # Instead of doing a method call, we are going to generate a lambda |