natalie
natalie copied to clipboard
a work-in-progress Ruby compiler, written in Ruby and C++
In #590 I had to ignore a few warnings. They are commented with `// NOLINT FIXME` here: - https://github.com/natalie-lang/natalie/blob/746f03affae36a052e1755e685b5e4dea15669a4/src/integer.cpp#L295 - https://github.com/natalie-lang/natalie/blob/746f03affae36a052e1755e685b5e4dea15669a4/src/array_object.cpp#L1754 - https://github.com/natalie-lang/natalie/blob/746f03affae36a052e1755e685b5e4dea15669a4/src/env.cpp#L234 You can run clang-tidy locally with `rake...
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]...
Our main approach is to work on one spec from [ruby/spec](https://github.com/ruby/spec/tree/master/core/string) at a time, implementing as much of the spec as possible, then check it off the list: - [x]...
Due to [ruby/spec](https://github.com/ruby/spec) lacking specs for most of the CSV library, we want to provide our own specs (with the goal of upstreaming those to ruby/spec). Currently the following methods...
These 2 methods allow a subclass of Object to dynamically provide methods when respond_to does not. It is a useful mechanism for dynamic delegation and is used throughout the core...
1. Remove "skip-test" comment from top of a `spec/core/array/pack/*_spec.rb` file. 2. Modify ArrayPacker and/or StringPacker to make the specs pass 3. Commit! (EASY! :laughing:) - [x] a_spec.rb - [x] at_spec.rb...
When working on `Enumerator::Lazy` I noticed, that the REPL does not support Fibers. The following Error will occur: ``` nat> [1,2,3].to_enum.each {} ruby: /home/richard/repos/natalie/include/natalie/fiber_value.hpp:120: void Natalie::FiberValue::create_stack(Natalie::Env*, int): Assertion `comparison_ptr <...
We currently have CI running a few files through Valgrind, but it would be better to integrate AddressSanitizer (supported by both gcc and clang) so we find bugs faster. Also,...
[build-errors.txt](https://github.com/seven1m/natalie/files/4474384/build-errors.txt)
Attempting to load the socket library on macOS fails with a number of undeclared identifier errors: $ bin/natalie -e "require 'socket'" /var/folders/wc/ng7w8yms69j6vpvqck4x2shh0000gn/T/natalie.cpp20221003-18022-x9mqwj:1181:81: error: use of undeclared identifier 'AF_AX25' auto const_set75...