Skip to content

dannypsnl/scheme-to-arm64

Repository files navigation

scheme-to-arm64

A scheme to Arm64 compiler that keep simple for teaching purpose.

Installation

git submodule update --init
cd bdwgc
./autogen.sh
./configure
make -j 8
make install
raco exe -o scmc main.rkt
raco distribute dist scmc

Usage

scmc -e '(char=? #\c #\c)'

To learn more compiler options

scmc --help

Known issues

The following problems are known in the current implementation and not going to fix!

  1. nested vector works badly(the root cause is first 64bits of vector layout stores length of vector, however, it be converted to pointer encoded value rather than length stored)
    1. #(1 #(2)) produces #(2)
    2. #(3 #(2 4)) produces #(2 #(2 #(2 ...(a lots of #(2 ...) here)

Develop

You're assume to familiar with arm64's assembly to contribute. A good start is:

Compiler reference:

About

A scheme to Arm64 compiler

Topics

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE-APACHE
Unknown
LICENSE-MIT

Stars

Watchers

Forks