Skip to content

mihaiolteanu/metacircular

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a Scheme interpreter written in C. The name of the project comes from SICP's metacircular evaluator. Of course, being written in C means it is no longer metacircular, but the approach in developing the interpreter is taken from SICP's eval/apply loop. The main motivation for writing and studying this project is in better understanding SICP, Scheme and interpreters/compilers in general. Regarded as such, this project is/was a success.

Another additional motivation for starting this project was that of using and playing with modern CMake. And if you're starting a new C project that will suffer a lot of bug-fixing and redesigning, as writing a compiler or interpreter will surely entail, why not use a mocking library (cmock) to generate test mocks and a testing library (unity) to run all the tests in one go? So this project is also an example on how to set these up and used them so that you can code with more confidence.

Releases

No releases published

Packages

No packages published

Languages