Jessie icon indicating copy to clipboard operation
Jessie copied to clipboard

blockly tools for playing with Jessie, Justin, JSON

Open dckc opened this issue 1 month ago • 0 comments

In packages/parse/src, we have grammars for each of 3 layered languages:

  • JSON - quasi-json.js.ts - the base object grammar.
  • Justin - quasi-justin.js.ts the pure expression grammar (no loops).
  • Jessie - quasi-jessie.js.ts the top-level module grammar.

In a new package, make Blockly-based tooling (including web-based tools for use by students learning the language) for each. For reference:

Separate material for users such as getting started in the README.md vs for developers such as how to test in CONTRIBUTING.md.

The code should be documented concisely: don't repeat what the code says. Only add docs that an experienced JS dev would find cost-effective to maintain. For each file, include a brief @file comment at the top with @see references to the main exports / functions, which have documentation that's visible in IDEs.

Include a para such as the above in CONTRIBUTING.md.

The new package should have npm scripts to

  • run the tools in dev mode with hot module reloading
  • build for deployment to static site hosting such as github pages, netflify, vercel, cloudflare, etc.

stretch goal:

  • unit tests, especially re-using any existing examples or test materials
  • batch tooling, to the extent that's conventional in the Blockly community

Don't go nutso with frameworks such as react. Vanilla JS should suffice.

By way of example, this is a blockly tool for the rho calculus subset of rholang.

  • https://github.com/rchain/developer.rchain.coop/blob/master/rho-blockly.html
  • https://github.com/rchain/developer.rchain.coop/blob/master/js/rhocalc-blocks.js
  • https://github.com/rchain/developer.rchain.coop/blob/master/js/rhocalc-blocks.json

FYI: recent relevant news:

dckc avatar Dec 04 '25 17:12 dckc