ergo icon indicating copy to clipboard operation
ergo copied to clipboard

Generalize production of Ergo runtime

Open jeromesimeon opened this issue 7 years ago • 3 comments

The Ergo runtime is a patched-up version of the Q*cert one. It is composed of vanilla JavaScript functions without module layout for node consumption. We should improve upon this in several ways:

  • [x] Automate the production of the runtime from Q*cert itself so changes/fixes there are propagated to Ergo automatically
  • [x] Allow the runtime generation to be parameterized by foreign type libraries (e.g., various support for dateTime)
  • [x] Generalize the runtime generation so it works for both browser and node

jeromesimeon avatar Apr 13 '18 07:04 jeromesimeon

Should be done on new JavaScript backend, see #191

jeromesimeon avatar May 26 '18 14:05 jeromesimeon

Quite a lot of improvements are already available in the release-1.0 branch. Some additional work to reduce the footprint of the runtime, and leverage the new Imp intermediate language would still be useful. I'm leaving this open for the time being.

jeromesimeon avatar Jan 27 '20 15:01 jeromesimeon

Most of this is done in release-1.0 branch. One more item to add before we can close this issue:

  • [ ] Do not duplicate the Qcert runtime in ./runtime/javascript, but import it from the now published Qcert library

jeromesimeon avatar Jul 25 '20 19:07 jeromesimeon