You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As some people may know, I've been working on a new version of Ohm based on WebAssembly. (See #511 for more details.)
I'm currently thinking about the package organization for v18. Here's a first stab at it:
The basic idea is:
Large parts of the current "ohm-js" package get moved into a new /compiler subpackage. Generally, we expect that people will want to compile their grammars at build time (producing a .wasm + blob + a .d.ts. with types for the grammar), rather than the combined compile + load step that's used today via grammar().
The core of the new "ohm-js" package will thus be the minimal stuff required for runtime: load a .wasm grammar, match, walk the CST.
Other languages (Go, Python, etc.) will have a language-specific library with functionality that mirrors the "ohm-js" core.
Eventually, there will be a rework of v17's Semantics. How this will fit in is still TBD.
Biggest open questions right now:
Do we keep @ohm-js/cli as a separate package, or merge it into the main package? (I'm leaning towards merging.)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
As some people may know, I've been working on a new version of Ohm based on WebAssembly. (See #511 for more details.)
I'm currently thinking about the package organization for v18. Here's a first stab at it:
The basic idea is:
"ohm-js"package get moved into a new/compilersubpackage. Generally, we expect that people will want to compile their grammars at build time (producing a .wasm + blob + a .d.ts. with types for the grammar), rather than the combined compile + load step that's used today viagrammar()."ohm-js"package will thus be the minimal stuff required for runtime: load a .wasm grammar, match, walk the CST."ohm-js"core.Semantics. How this will fit in is still TBD.Biggest open questions right now:
@ohm-js/clias a separate package, or merge it into the main package? (I'm leaning towards merging.)Any thoughts would be appreciated!
All reactions