cppLisp: Lisp Interpreter Written in Modern C++ - Page 1
Forum section: electronics / general

author: richardman
author_rank: Frequent Contributor
timestamp: October 11, 2019, 12:02:26 pm
content: Interesting multi-page post on "Too many programming languages", especially interesting discussions on the XMOS, and the reference to ulisp. It just so happens that I am writing a Lisp interpreter in modern C++ and it has now been uploaded to github with the MIT license. No garbage collection yet - I will be adding one probably using shared_ptr. It uses boost variant and some lambda functions. At around 800 lines with comments and empty lines, it's not the smallest lisp, but it does support full Lisp semantics, e.g. a few tiny Lisp use vectors to store the cells, which would preclude them from supporting garbage collection.Check it out if you like!https://github.com/richardman/cppLisp. Maybe you will find it interesting or even useful.

author: legacy
author_rank: Super Contributor
timestamp: October 11, 2019, 12:35:31 pm
content: I would prefer "neat C" rather than "C++" implementation so I can try to integrate it into kernel space for the very specific purpose of doing some kind of wild debugging.uFort is currently on the way for this.

author: magic
author_rank: Super Contributor
timestamp: October 11, 2019, 05:35:25 pm
content: Now write a modern C++ implementation, well, in anything you want, I will not even care

author: richardman
author_rank: Frequent Contributor
timestamp: October 11, 2019, 06:22:47 pm
content: C is easy for me. I was looking for a challenge.

author: andersm
author_rank: Super Contributor
timestamp: October 11, 2019, 06:46:35 pm
content: Can you make it fully constexpr, so I can run my Lisp programs while compiling?

author: richardman
author_rank: Frequent Contributor
timestamp: October 11, 2019, 07:01:02 pm
content: Quote from: andersm on October 11, 2019, 06:46:35 pmMore challenge! Let me think about it.

author: legacy
author_rank: Super Contributor
timestamp: October 11, 2019, 07:05:10 pm
content: Quote from: richardman on October 11, 2019, 06:22:47 pmThe challenge is to write neat stuff in C, which must not be"norm life" by judging the amount of crap published on the internet

author: richardman
author_rank: Frequent Contributor
timestamp: October 11, 2019, 07:46:01 pm
content: I don't comment on other people's codeI will be getting more stuff on github and open sourcing them. Anyone can see my coding skills.

author: SiliconWizard
author_rank: Super Contributor
timestamp: October 11, 2019, 11:13:49 pm
content: Quote from: legacy on October 11, 2019, 12:35:31 pmHow about distributed Lisp in Erlang?https://github.com/tekknolagi/distlisp

author: legacy
author_rank: Super Contributor
timestamp: October 12, 2019, 01:27:11 am
content: Quote from: SiliconWizard on October 11, 2019, 11:13:49 pmLOLSooooo freak, soooo cool, but, even weirder it's that when I tried, it didn't crash on my router, either on the 405GP node (where other stuff does usually crash).That's awesome, really

author: richardman
author_rank: Frequent Contributor
timestamp: October 12, 2019, 05:30:00 am
content: Quote from: SiliconWizard on October 11, 2019, 11:13:49 pmThey are from our alma mater!

author: SiliconWizard
author_rank: Super Contributor
timestamp: October 12, 2019, 02:38:22 pm
content: Quote from: legacy on October 12, 2019, 01:27:11 amGood to know.

author: chickenHeadKnob
author_rank: Super Contributor
timestamp: October 13, 2019, 08:57:51 am
content: If someone who was party to the Ericson history and knows the full details first hand of Joe Armstrong getting hired and attempting initially to sell the Ericson engineers on common Lisp, then inventing Erlang, they could tell us an interesting saga.Robert Virding then completes the Wagnerian ring cycle full circle with Lisp flavoured Erlanghttp://lfe.io/andhttps://en.wikipedia.org/wiki/LFE_(programming_language)not sure whether to laugh or cry.