├── .gitignore ├── .travis.yml ├── README.md ├── compiler ├── compiler.py ├── runtime.c └── tests.py ├── examples └── hello-world.scm ├── interpreter ├── built_ins │ ├── __init__.py │ ├── base.py │ ├── chars.py │ ├── control.py │ ├── equivalence.py │ ├── io.py │ ├── lists.py │ ├── numbers.py │ ├── strings.py │ └── vectors.py ├── data_types.py ├── errors.py ├── evaluator.py ├── lexer.py ├── main.py ├── primitives.py ├── scheme_parser.py ├── tests.py └── utils.py ├── notes.py ├── repl ├── requirements.pip └── standard_library └── library.scm /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/README.md -------------------------------------------------------------------------------- /compiler/compiler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/compiler/compiler.py -------------------------------------------------------------------------------- /compiler/runtime.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/compiler/runtime.c -------------------------------------------------------------------------------- /compiler/tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/compiler/tests.py -------------------------------------------------------------------------------- /examples/hello-world.scm: -------------------------------------------------------------------------------- 1 | (display "hello world") 2 | (newline) -------------------------------------------------------------------------------- /interpreter/built_ins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/__init__.py -------------------------------------------------------------------------------- /interpreter/built_ins/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/base.py -------------------------------------------------------------------------------- /interpreter/built_ins/chars.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/chars.py -------------------------------------------------------------------------------- /interpreter/built_ins/control.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/control.py -------------------------------------------------------------------------------- /interpreter/built_ins/equivalence.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/equivalence.py -------------------------------------------------------------------------------- /interpreter/built_ins/io.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/io.py -------------------------------------------------------------------------------- /interpreter/built_ins/lists.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/lists.py -------------------------------------------------------------------------------- /interpreter/built_ins/numbers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/numbers.py -------------------------------------------------------------------------------- /interpreter/built_ins/strings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/strings.py -------------------------------------------------------------------------------- /interpreter/built_ins/vectors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/built_ins/vectors.py -------------------------------------------------------------------------------- /interpreter/data_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/data_types.py -------------------------------------------------------------------------------- /interpreter/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/errors.py -------------------------------------------------------------------------------- /interpreter/evaluator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/evaluator.py -------------------------------------------------------------------------------- /interpreter/lexer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/lexer.py -------------------------------------------------------------------------------- /interpreter/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/main.py -------------------------------------------------------------------------------- /interpreter/primitives.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/primitives.py -------------------------------------------------------------------------------- /interpreter/scheme_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/scheme_parser.py -------------------------------------------------------------------------------- /interpreter/tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/tests.py -------------------------------------------------------------------------------- /interpreter/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/interpreter/utils.py -------------------------------------------------------------------------------- /notes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/notes.py -------------------------------------------------------------------------------- /repl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | python interpreter/main.py -------------------------------------------------------------------------------- /requirements.pip: -------------------------------------------------------------------------------- 1 | ply==3.4 2 | nose==1.2.1 3 | -------------------------------------------------------------------------------- /standard_library/library.scm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wilfred/Minimal-scheme/HEAD/standard_library/library.scm --------------------------------------------------------------------------------