Integrate gsc in gxc #834
Labels
No labels
UX
active development
backlog
blocker
bootstrap
bounty
bug
dependencies
discussion
documentation
duplicate
enhancement
flaky test
help wanted
invalid
javascript
question
release
tendentious
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
mighty-gerbils/gerbil#834
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
So that the only things we install are pure gerbil.
I am having second thoughts about this, as I really like the process isolation we get from invoking
gsc.@drewc what are you thoughts about this? What do we really gain? Do we care about js code compiling anything?
cc @fare as well.
We don't need to "integrate" as it were. Just to have
gerbil gscso that we do not make Gambit and/or Ghostscript uninstallable by stealing a binary name.Also, yes, having JS code compile things is like "do we care about C code" or "do we care about python/go/Universal compiling anything". I like compilation. It adds speed! It saves memory!
I want to have gerbil is the browser. That includes compilation.
In my head making
gscintogerbil gscsolves all those problem, is future proof for all scripting languages Gambit ever supports, helps with cross compilation, has the process isolation, and is something I will do regardless so I can compile and run in the browser.Thoughts?
We don't to actually include gsc in the gerbil binary; we can just compile it to js and invoke it instead of shelling out.
We can do that with some cond-expand in the driver.
I thought we have
gsiincluded already? That means we also include gsc. If we do not then I'm so confused about what we do.If so, we can we not redefine the one symbol difference between the two? Why add a entire other binary that conflicts with other packages and may not be needed?
My
gerbil.jsbinary WILL do this regardless, as will .go and .py, so why not have the few line changes also be in the "C" backend as well?Or: _gsi.scm:
and _gsc.scm:
Do we not already do the equiv of interpreter-or by checking the command line? Why not add one more
condand be done?Why double the size on disk and pretend it is different when it does not seem to be at all? Help! :)
we don't include gsi, we don't need it; we build our own interpreter.
so what I suggest we do for js is:
We are gonna need the cond expands anyway, because the targets are different.
Damn ... so we never use the main.scm? I'll have to look at the code.