Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/barrettotte/cpp-lisp

[Unfinished] Following Make a Lisp (MAL) to code up a simple lisp interpreter. I wanted to learn more about lisp and refresh on C++.
https://github.com/barrettotte/cpp-lisp

cpp interpreter lisp repl

Last synced: 2 days ago
JSON representation

[Unfinished] Following Make a Lisp (MAL) to code up a simple lisp interpreter. I wanted to learn more about lisp and refresh on C++.

Awesome Lists containing this project

README

        

# CPP-Lisp

Screwing around with C++ to learn more about lisp, refresh on a bit of C++, and make a basic lisp interpreter.

I used [Make a Lisp(MAL)](https://github.com/kanaka/mal) as a general guide, but somewhat went off course in implementation.

## Why...does the code...look like...that?
So, I'm definitely not a C++ programmer. This is a completely bastardized C++ implementation.
C++ was one of the first languages I started with, but I never went too deep into modern C++ or OOP.

I really did start out trying to use proper OOP concepts (polymorphism, inheritance, etc), but
after screwing around for a couple coding sessions I threw my hands in the air.
Namely, I was fighting with dynamic casting objects...it could have been something silly.

I decided it would be a lot more fun to do this off of "pure instinct" instead.
What it produced was a janky object hierarchy and some stuff that should be limited to C.

One day I do hope to come back and strengthen up my C++ OOP...

## References
* Lispy - http://norvig.com/lispy.html
* Make a Lisp - https://github.com/kanaka/mal
* Fascinating background - https://en.wikipedia.org/wiki/Scheme_(programming_language)