#lang scribble/doc @begin[(require scribble/manual) (require scribble/eval) (require scribble/basic) (require (for-label (except-in scheme/base exn:fail:syntax struct:exn:fail:syntax make-exn:fail:syntax exn:fail:syntax?))) (require (for-label scheme/contract)) (require (for-label "../ast.ss")) (require (for-label "../compile.ss")) (require "utils.ss")] @title[#:tag "compile"]{Compiling to Scheme} This library implements a JavaScript-to-Scheme compiler. It be can required via: @defmodule/this-package[compile] [compile-script ((listof SourceElement?) . -> . syntax?)] [compile-expression (Expression/X? . -> . syntax?)] [compile-interaction ((listof SourceElement?) . -> . syntax?)] [compile-module ((listof SourceElement?) . -> . syntax?)]) @defproc[(js-compile (elts (listof SourceElement?))) syntax?]{ Compiles a JavaScript script to Scheme.} @defproc[(js-compile/interaction (elts (listof SourceElement?))) syntax?]{ Compiles a JavaScript REPL interaction to Scheme.}