A simple Javascript implementation of Lisp-like cons lists, as faithful as I could think. #complete
Go to file
Elf M. Sternberg d9345c513a Metacadr was broken. You won't believe why!
Lists are mutable, even by-reference.  When I was popping off the values,
I was destroying the list; metacadr only worked once.  That was terrible
functional programming.  I should learn to trust myself; by using a
cons-list for my operations index and a lookup table (anti-if!)
for my operations, the code was simplified incredibly.

Also, added a very (!) primitive pretty printer.  It'll get better over
time, but for now it's sufficient for debugging.
2015-05-20 15:43:34 -07:00
bin Clean up and initial commit. 2015-05-13 16:20:16 -07:00
src Metacadr was broken. You won't believe why! 2015-05-20 15:43:34 -07:00
test Clean up and initial commit. 2015-05-13 16:20:16 -07:00
.gitignore Metacadr was broken. You won't believe why! 2015-05-20 15:43:34 -07:00
LICENSE Merge branch 'master' of github.com:elfsternberg/cons-lists 2015-05-13 16:22:58 -07:00
Makefile Makefile to install locally, with clean and variable targets. 2015-05-13 20:00:56 -07:00
README.md Clean up and initial commit. 2015-05-13 16:20:16 -07:00
package.json Makefile to install locally, with clean and variable targets. 2015-05-13 20:00:56 -07:00

README.md

A simple implementation of Lisp-like cons() lists, using vectors

Purpose

I kinda got tired of my broken list implementations that I was working with in each and every variant of Lisp I wrote while working my way through List In Small Pieces, so I decided to break it out into its own managed repo.

Copyright (c) 2015 Elf M. Sternberg

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.