Neither mruby-sys nor onig can build with wasm-unknown-unknown or wasm-wasi, so I was stuck with wasm-unknown-emscripten. The linker on mruby-sys would dead code eliminate artichoke_backend::Artichoke #fail #Wasm #artichoke #mruby
One of the goals is to have a #Wasm build target. This is what nerdsniped me this weekend. #artichoke
The biggest accomplishment was redoing the #artichoke README https://github.com/artichoke/artichoke#readme Thought about project goals and differentiators from MRI. Added milestones to track progress in achieving goals #win #ruby #artichoke
With renewed focus of building my own #Ruby instead of extending #mruby, I put in some effort to make mruby an implementation detail of #artichoke. Lots of refactoring with sed. #fail
ferrocarril had different goals than artichoke: it wanted to run Rails. To do that, it had a lot of extra bits in it like gems, a Rack server, and sample apps. Nuked all of it #win #artichoke
Step 3: create the #artichoke repository where the core #ruby development will take place. #artichoke
Step 2: transfer ownership of ferrocarril to artichoke organization #artichoke #github. Not much to do here, updated some links, fixed some branding, got CircleCI building again #artichoke
CactusRef is still an incredibly unsafe crate, but at least it aborts if it detects a use-after-free #fail #artichoke
Extracting cactusref required completely rewriting #git history, updating docs, adding a build, adding benches, importing my blog post, updating links in the blog post #artichoke
Step 1: extract CactusRef from ferrocarril into its own repository https://github.com/artichoke/cactusref #artichoke
This weekend I did the migration, which took place in multiple parts #artichoke #github
ferrocarril is all grown up. I've moved development of my #ruby to a dedicated #GitHub organization. The project is called Artichoke https://github.com/artichoke/artichoke
I’ve been uncovering a few bugs in mruby trying to get ruby/spec to at least run to completion. This bug report fixed an infinite loop that unblocked that #mruby #patch https://github.com/mruby/mruby/issues/4555
Reported a bug in layout generation for structure with flexible array members to #rust bindgen that was recently fixed #patch https://github.com/rust-lang/rust-bindgen/issues/1589
Reported an uninitialized memory access to #mruby upstream that was recently fixed #patch https://github.com/mruby/mruby/issues/4556
That memory leak turned out to be quite the yak shave. setjmp/longjmp from C leaving #rust memory in inconsistent state #fail https://github.com/artichoke/ferrocarril/pull/168
Optimized String#scan in ferrocarril to be comparable to CRuby performance #rust #ruby #mruby #performance https://github.com/artichoke/ferrocarril/pull/138