It fixes matching of tuple instance type with tuples
Switched inspect and to_s in Struct
Check macro def return type
Fixed wrong location of error message
Allow using a single underscore in restrictions
Marked metaclasses as not passed as self. This make the llvm code a bit shorter and easier to understand.
Reorganized prelude order and removed some redundant requires
Added `generate_hash` macro
Added `previous_def`, to be able to invoke the previous definition of a `def`
Implement Hash on top of Pointer, not Array (the array functionality is not needed)
Make --hierarchy print the byte sizes of classes, structs and instance variables (useful to know where to reduce memory usage)
Started SQL builder
Faster compiler
Added `env(name)` in macros
Removed the dummy `instance_eval` method (related to #166)
Make `return 1, 2` be the same as `return {1, 2}`. Same goes with `break` and `next`.
Fixed parsing of `return {1, 2}` and `return {1 => 2}` (return tuple or hash)
Removed not-needed C.fflush
Some Pointer and StaticArray refactors and enhancements. Also improved `Char#to_s(io)` performance.
Optimized noise sample