rchain-community / js2rho

experimental JavaScript to Rholang translator
3 stars 1 forks source link

try scala.js / escalima; merge with tinysys2rho #2

Open dckc opened 4 years ago

dckc commented 4 years ago

When I switched from .ts to @ts-check (#1), importing @types/estree types broke.

Plus, JavaScript is no match for ocaml when it comes to pattern matching in a compiler.

I don't see esprima nor estree in the redex | Reason Package Index, but the flow-parser is out there; e.g. packaged in npm.

dckc commented 4 years ago

When I switched from .ts to @ts-check (#1), importing @types/estree types broke.

@michaelfig suggested

... a type like {import('estree').SomeType}

I'm not sure I grok, but it's worth a try.

dckc commented 4 years ago

struggling... version skew?

~/projects/js2rho$ npm install bs-flow-parser
~/projects/js2rho$ npm run build
...

 bs-platform version mismatch Running bsb 7.2.2 (/home/connolly/projects/js2rho/node_modules/bs-platform) vs vendored 4.0.18 (/home/connolly/projects/js2rho/node_modules/@elliottcable/bs-gen/node_modules/bs-platform)
dckc commented 4 years ago

A scala implementation would be more helpful for adding js support to rnode. I did start on https://github.com/dckc/tinyses2rho in scala... but tinyses doesn't include await. Where are they on that issue? ... it's not among https://github.com/Agoric/Jessie/issues (tinyses got renamed to Jessie). I think they're pretty firmly against await; it doesn't make sufficiently clear which code runs in which turn

ooh... perfect! https://github.com/SrTobi/escalima JavaScript parser for scala, based on esprima.

some relevant tabs while I was researching:

dckc commented 4 years ago

dependency constraints are making escalima really challenging to use

I'm making more use of the jessica grammar, mixed in with es5 in estree.

https://github.com/rchain-community/js2rho/tree/scalajs 9df982c