Scheme interpreter inspired by a Haskell joke

Alex Vong 57955a1dcf Fix description. 6 years ago
.gitignore a84e87d40d Initial commit. 6 years ago
README a84e87d40d Initial commit. 6 years ago
ROADMAP a84e87d40d Initial commit. 6 years ago
prelude.scm 57955a1dcf Fix description. 6 years ago
scm.hs 57955a1dcf Fix description. 6 years ago

README

-*- org -*-

* Introduction

In this joke, [[https://www.willamette.edu/~fruehr/haskell/evolution.html][The Evolution of a Haskell Programmer]], it is said that an
Interpretive Haskell programmer never "met a language" he didn't like. This
project tries to do the same for C. We provide a Scheme interpreter embeddable
in C so that you can "write Scheme" in project requiring you to write C.

(Okay, in fact this is a toy project and an excuse for me to learn implementing
Scheme in C ...)

Currently, a prototype is implemented in Haskell (since Haskell's type system
is good for catching errors). It will be translated to C after I figure out how
to do tail call optimization, parsing and garbage collection in C. See ROADMAP
for future plans.

* Building

Just run =make=.

* Depedencies

These are the depedencies needed for building:

- [[https://stackoverflow.com/questions/1780599/i-never-really-understood-what-is-posix/31865755#31865755][Mostly POSIX-compliant OS]]
- [[https://www.haskell.org/ghc/][GHC 8]]
- [[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html][Make]]

* Tutorials

These are the tutorials I followed:

- [[https://sarabander.github.io/sicp/][Structure and Interpretation of Computer Programs]]
- [[https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours][Write Yourself a Scheme in 48 Hours]]

* Bug Reporting

Please report bugs using the issue tracker.