`builtins.wasm` is now a (experimental) thing in @determinatesystems’s nix, with a PR open for upstream nix.
This lets you extend the nix language by compiling C/C++/Rust/etc into safely sandboxed, platform-independent plugins!
| Homepage | https://surma.dev |
| GitHub | https://github.com/surma |
| https://x.com/dassurma |
@determinatesystems This became real a lot quicker than I thought 😂
There's also a talk about this tomorrow at PlanetNix!
`builtins.wasm` is now a (experimental) thing in @determinatesystems’s nix, with a PR open for upstream nix.
This lets you extend the nix language by compiling C/C++/Rust/etc into safely sandboxed, platform-independent plugins!
Nix friends: How terrible is this idea?
I added `builtins.runWasm` to nix, allowing you to call out to Wasm. The Wasm is reset every time, so the functions remain pure. This gives you a (performant?) escape hatch for things that Nix is missing. E.g parsing YAML (here: via Rust)
📝 First blog in a long time!
I always like “flow-based” programming, and it’s a very powerful paradigm. LangGraph lets you codify complex workflows as graphs, and also integrates really well with LangChain, if your workflow is LLM-driven.
Folks who know their way around the TypeScript type checker, I need help:
https://gist.github.com/surma/be14ca81065bf227cee785870ee8a993
How do I figure out what types the type parameters have been bound to given a `CallExpression`? I know the answer is in `resolvedSignature.mapper`, but that’s not a public API.
Wait, am I dumb? What does NodeJS' WASI implementation only accept file descriptor numbers for stdio? Why don't they allow a Readables/Writables? How are you supposed to capture the output of a WASI module?
🔊 It's new OTMT time! Me and @surma chat through some newer View Transitions features that have recently landed in browsers, and some things that might land this year.
⬇️ Pop this in your ears ⬇️
https://offthemainthread.tech/episode/new-view-transition-stuff/
I apologize for splitting the last OTMT episode into two parts. It was sincerely unplanned.
🎧 Part II of the TC39 Drama 🌶️ Roundup is now out!
In this one, I talk to @jaffathecake about JS0, which proposes to split JavaScript into two specifications.