[gambit-list] Q: Understanding -target js

Jörg F. Wittenberger Joerg.Wittenberger at softeyes.net
Thu Jan 20 14:07:52 EST 2022


With the "silent" release of 4.9.4 I'm intrigued to learn how to
actually use the alternative compile backend choice.

Initially confining myself to the `js` backend with HTML output.

1) A simple `(display "Hello World!")` gave no result.

   Where does content written to standard-{output,error}-port end up?

2) Raising an error or `(##repl)` give me a more or less nice REPL.
Unfortunately the source code does not look like a good starting point
to learn how that REPL is implemented.

   Attached my current "Hello World!" using `##inline-host-statement`
   to call into JavaScript.  (Deduced from digging into gambit source.)

   I ran into https://github.com/udem-dlteam/els2021-presentation which
   explains inline syntax but this syntax seems not to work with 4.9.4
   unless there is a trick I missed.

   Is there example code out there (or anything better) to learn how
   working code manipulating DOM could roughly work?

   Any documentation on ##inline-host-* , @scm2host@ and friends would
   also be very welcome.

3) Figuring out what is or is not supported per backend could become a
nightmare.  Right now I found `open-tcp-server` to return #!void,
`open-tcp-client` to complain about wrong number of arguments.  Both
are not really helpful to understand that this documented procedure is
not yet implemented.

   My own solution to the recurring situation is to have (very few) all
   upper case acronyms defined which are easy to spot visually or via
   grep.  NYIE in this case, which is a procedure accepting any number
   of arguments and raises a not-yet-implemented-exception.

   I don't expect a book of unimplemented features, am I missing
   something?

Thanks for Gambit!

/Jörg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hello.scm
Type: text/x-scheme
Size: 349 bytes
Desc: not available
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20220120/c35d3a1a/attachment.bin>


More information about the Gambit-list mailing list