Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[WIP] Compile Linklets to Javascript #266

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 176 commits into
base: master
Choose a base branch
from

Conversation

gamburgm
Copy link
Contributor

@stchang

We would like to eliminate the server requirement for editing Racketscript online. To do that, we need to be able to run the Racketscript compiler itself (and more importantly, the Racket expander) in the browser.

The first step in achieving this is compiling linklets to javascript. The expander can compile itself to one, so this is the first milestone in the bootstrapping process.

Warning: the code is a mess. The code was written under the (reasonable) assumption that there wouldn't be another module-like entity to compile, but I've skipped refactoring any of that at the moment.

@gamburgm gamburgm changed the title Compile Linklets to Javascript [WIP] Compile Linklets to Javascript Nov 12, 2021
@codecov-commenter
Copy link

codecov-commenter commented Nov 12, 2021

Codecov Report

Merging #266 (05626f0) into master (11400fd) will decrease coverage by 3.18%.
The diff coverage is 23.83%.

@@            Coverage Diff             @@
##           master     #266      +/-   ##
==========================================
- Coverage   67.91%   64.72%   -3.19%     
==========================================
  Files          48       50       +2     
  Lines        5329     5667     +338     
==========================================
+ Hits         3619     3668      +49     
- Misses       1710     1999     +289     
Impacted Files Coverage Δ
...-compiler/racketscript/compiler/runtime/kernel.rkt 4.30% <0.00%> (-0.58%) ⬇️
...-compiler/racketscript/compiler/linklet-expand.rkt 10.52% <10.52%> (ø)
...cript-compiler/racketscript/compiler/assembler.rkt 93.24% <27.27%> (-2.22%) ⬇️
...cketscript-compiler/racketscript/compiler/main.rkt 65.25% <31.57%> (-2.67%) ⬇️
...etscript-compiler/racketscript/compiler/expand.rkt 87.22% <33.33%> (-4.31%) ⬇️
...ipt-compiler/racketscript/compiler/runtime/lib.rkt 50.21% <50.00%> (-0.01%) ⬇️
...ript-compiler/racketscript/compiler/il-analyze.rkt 86.84% <66.66%> (-0.24%) ⬇️
...cript-compiler/racketscript/compiler/transform.rkt 93.11% <71.42%> (-1.85%) ⬇️
racketscript-compiler/racketscript/compiler/il.rkt 96.74% <75.00%> (-0.74%) ⬇️
...ketscript-compiler/racketscript/compiler/absyn.rkt 92.52% <100.00%> (+0.60%) ⬆️
... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 11400fd...05626f0. Read the comment docs.

@@ -0,0 +1,6 @@
#lang racket/base
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file probably shouldn't be committed.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but apparently there are others so this might be still early WIP, in which case disregard. :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah this is still in early stages, some of these garbage files (especially expander.rktl) are just convenient when I'm switching computers or someone else wants to debug something -- hopefully this is in a better state soon :^)

@stchang stchang marked this pull request as draft November 9, 2022 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants