natalie
natalie copied to clipboard
a work-in-progress Ruby compiler, written in Ruby and C++
Our main approach is to work on one spec from [ruby/spec](https://github.com/ruby/spec/tree/master/core/range) at a time, implementing as much of the spec as possible, then check it off the list: * [x]...
This probably needs a rewrite of the prototype of the serialize and deserialize methods of the instructions, so please don't add any new bytecode instructions until this case is merged.
Another one for the long list of things I want to do: abstract namespaces for UNIX sockets. A selective copy-paste from https://www.man7.org/linux/man-pages/man7/unix.7.html: > an abstract socket address is distinguished (from...
The current code ```c++ bool Object::is_a(Env *env, Value val) const { if (/* direct match (instance_of?), not relevant here */) { } else { ClassObject *klass = singleton_class(); if (!klass)...
This is going to be a long project to get some HTTP connectivity working, mostly to add the essential functionality to OpenSSL. I've added a simple script that I want...
It might take a few days before this one is done.
``` $ ruby -e 'puts Marshal.load(Marshal.dump((1
A bit of background: I was trying to find out why some specs in the nightly runner (e.g. `core/string/dump_spec.rb`) appear as if they are completely skipped (0 passed, 0 failed,...
I ran into this issue when working on #1733. The specs of https://github.com/ruby/spec/blob/master/language/optional_assignments_spec.rb have the following code (simplified): ```ruby class ClassA def self.const_missing(const) const end OR_ASSIGNED_CONSTANT1 ||= :assigned end p...
I noticed this when trying to find the correct error message: In MRI: ``` Addrinfo.new(''.b) => # ``` In Natalie: ``` Addrinfo.new(''.b) Traceback (most recent call last): 2: from (repl):1:in...