Support Ohm development on GitHub Sponsors: https://github.com/sponsors/pdubroy
Last release of 2025 (hopefully 🤞)…watch for a new major release early next year!
Last release of 2025 (hopefully 🤞)…watch for a new major release early next year!
(aka "monoid-cached trees" if you want to sound clever)
Full example here: github.com/ohmjs/ohm/bl...
(aka "monoid-cached trees" if you want to sound clever)
Full example here: github.com/ohmjs/ohm/bl...
How to generate small & performant syntax highlighting for your languages using OhmJs and the new CSS.highlights API
www.youtube.com/watch?v=v3jK...
Repo: github.com/marianoguerr...
Demo: marianoguerra-atik.github.io/ohm-highlight/
#WebAssembly from the Ground Up with @dubroy.com and @marianoguerra.org. Learn how they're teaching #Wasm by building a compiler in JavaScript and why writing Wasm by hand is crucial!
🍿 www.youtube.com/watch?v=dRdD...
🎧 wasmassembly.libsyn.com/webassembly-...
#WebAssembly from the Ground Up with @dubroy.com and @marianoguerra.org. Learn how they're teaching #Wasm by building a compiler in JavaScript and why writing Wasm by hand is crucial!
🍿 www.youtube.com/watch?v=dRdD...
🎧 wasmassembly.libsyn.com/webassembly-...
After investigating, we do *not* believe that ohm-js, or any other package under the @ ohmjs namespace, is affected by the Shai-Hulud worm or any of the recent npm supply chain attacks.
After investigating, we do *not* believe that ohm-js, or any other package under the @ ohmjs namespace, is affected by the Shai-Hulud worm or any of the recent npm supply chain attacks.
Get 25% off the only book in the world* that will teach you WebAssembly with Ohm!
(*So far.)
So, it's time for a ☀️ SUMMER SALE ☀️ —
Use the code SUMMER25 for a 25% discount on the book until Sept 15: wasmgroundup.com
Get 25% off the only book in the world* that will teach you WebAssembly with Ohm!
(*So far.)
v17.2.1 is here…one small l'il feature and a teeny weeny fix: github.com/ohmjs/ohm/re...
Also pushed v2.0.1 of @ohm-js/cli.
v17.2.1 is here…one small l'il feature and a teeny weeny fix: github.com/ohmjs/ohm/re...
Also pushed v2.0.1 of @ohm-js/cli.
It's built on the low-level assembler lib we created for @wasmgroundup.com, but has some nice higher-level features, including labeled breaks. I'm particularly proud of the idea to put the block label at the end. 😊
It's built on the low-level assembler lib we created for @wasmgroundup.com, but has some nice higher-level features, including labeled breaks. I'm particularly proud of the idea to put the block label at the end. 😊
Great place to ask questions, get feedback on your grammars, and hang out with the some of the friendliest folks out there.
discord.gg/KwxY5gegRQ
Great place to ask questions, get feedback on your grammars, and hang out with the some of the friendliest folks out there.
discord.gg/KwxY5gegRQ
Without their support none of this would have been possible!
Without their support none of this would have been possible!
Since 2017, my work on Ohm has been unpaid. Your sponsorship helps the project be sustainable, ensuring that I can maintain and improve Ohm for many years to come!
Since 2017, my work on Ohm has been unpaid. Your sponsorship helps the project be sustainable, ensuring that I can maintain and improve Ohm for many years to come!
Thank you Shopify for funding open source. ❤️
Thank you Shopify for funding open source. ❤️
From @alexwarth.bsky.social (co-creator of Ohm) and @geoffreylitt.com (who made Wildcard, one of our all-time favourite Ohm-powered projects)
That's the idea behind Ambsheets, a project I've been working on w/ @geoffreylitt.com at @inkandswitch.com. It's a new spreadsheet that makes it easier for you to explore many possibilities simultaneously.
1/2
From @alexwarth.bsky.social (co-creator of Ohm) and @geoffreylitt.com (who made Wildcard, one of our all-time favourite Ohm-powered projects)
This keeps the project sustainable and ensures that I can continue to spend time maintaining and improving Ohm for everyone!
This keeps the project sustainable and ensures that I can continue to spend time maintaining and improving Ohm for everyone!
If you or your company would benefit from the portability and performance improvements and could potentially help fund this work, please get in touch with @dubroy.com!
If you or your company would benefit from the portability and performance improvements and could potentially help fund this work, please get in touch with @dubroy.com!
See the brand new, experimental support for compiling Ohm grammars to Wasm: github.com/ohmjs/ohm/d...
It wasn't the main goal, but it also appears to be a perf win — parsing is about 10x faster on real-world grammars (e.g. ES5).
See the brand new, experimental support for compiling Ohm grammars to Wasm: github.com/ohmjs/ohm/d...
It wasn't the main goal, but it also appears to be a perf win — parsing is about 10x faster on real-world grammars (e.g. ES5).
They used Ohm in the Liquid HTML parser that powers their prettier plugin & VS Code language server — as well as the Shopify Admin's CodeMirror-based editor.
www.npmjs.com/package/@sh...
They used Ohm in the Liquid HTML parser that powers their prettier plugin & VS Code language server — as well as the Shopify Admin's CodeMirror-based editor.
www.npmjs.com/package/@sh...
(And yes, I wrote my own macro-assembler for #wasm in JavaScript. That's how much fun I'm having, and yes I mean that sincerely.)
1/x
Thanks for @onlineornot.com we found out pretty quickly, and it should be fixed now!
And we'll be getting rid of Cloudflare so hopefully we'll be rid of this problem for good 🤞
Thanks for @onlineornot.com we found out pretty quickly, and it should be fixed now!
And we'll be getting rid of Cloudflare so hopefully we'll be rid of this problem for good 🤞
I'm currently using the helper library extracted from the book for a new @ohmjs.org feature which will allow you to compile Ohm grammars to Wasm.
This will make it possible to use Ohm grammars from Go, Python, etc.
Details here 👉 github.com/ohmjs/ohm/is...
There's not yet much documentation (outside of the book), but we'll work on that soon!
I'm currently using the helper library extracted from the book for a new @ohmjs.org feature which will allow you to compile Ohm grammars to Wasm.
This will make it possible to use Ohm grammars from Go, Python, etc.
Details here 👉 github.com/ohmjs/ohm/is...
github.com/ohmjs/ohm/i... if you're interested, and feel free to comment if you have opinions!
github.com/ohmjs/ohm/i... if you're interested, and feel free to comment if you have opinions!