8000 GitHub - awwx/arc-macro: Arc Macro Expander
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

awwx/arc-macro

Repository files navigation

Arc Macro Expander

See Arc Macro Expander for goals and rationale.

arc/ssyntax.arc
ssyntax from Arc3.1’s ac.scm ported to Arc.
arc/macro.arc
The macro expander.
arc/ac-racket.arc
Demo Arc to Racket cross compiler.
ar.rkt
Demo Racket runtime which is the target of the cross compiler.
qq
Quasiquotation expansion ported from clisp to Arc by fallintothis.
common-tests
Tests that can be run both in Arc3.1 and in the subset of Arc needed to implement the macro expander and compiler.
runtime-tests
Tests that can only be run in the target runtime because they use features not implemented by Arc3.1.
more-tests
Tests for code loaded later in Arc, features not implemented by the subset need by the cross compiler.
precompile.load-order
Specifies the order in which to load the code to bootstrap the implementation of Arc.
precompile.arc
Run the cross compiler to generate Racket source code (serialized to include injected values), which implements enough of Arc so that the macro expander and compiler can be run in the target runtime.

To run the cross compiler:

racket -f precompile.scm

this will produce /tmp/arc.precompiled, as well as running tests during cross compilation (to try to catch bugs as early as possible, before the added complication of the running deserialized cross compiled code in a different runtime).

And then:

racket ar.rkt

will load /tmp/arc.precompiled, and run tests again.

About

Arc Macro Expander

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0