Skip to content

Comment on Spinel: Ruby AOT Native Compiler

Comments

Limitations

- No eval: eval, instance_eval, class_eval

- No metaprogramming: send, method_missing, define_method (dynamic)

- No threads: Thread, Mutex (Fiber is supported)

- No encoding: assumes UTF-8/ASCII

- No general lambda calculus: deeply nested -> x { } with [] calls

Assuming UTF-8/ASCII isn’t, IMO, a huge limitation, but some of the others likely are, for quite a few programs. Removing them also will require serious work, I think.

This removes a large portion of the magic of Ruby.

I do use class_eval quite a bit but I could pivot to precomputed script generators for those use cases going forward

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.