JIT compiler - Written in Rust from (almost) scratch - parser, garbage collector, interpreter - Only x86-64 / Linux is supported - new! Supports RubyGems. - not yet! Struggling with Bundler.
ancient syntax =begin the everything between a line beginning with `=begin' and that with `=end' will be skipped by the interpreter. =end - weird method definition def f(a, b, c, m = 1, n = 1, *rest, x, y, z, k: 1, **kwrest, &blk) end
|i| puts i end ary.each do |x,y| x + y end do |x,y| x + y end ary.each.flat_map class Array def each .. yield .. end end We don’t know until runtime: 1. which block is given (or not given) 2. a signature of given block