{"repo":"eigenhombre/l1","free":true,"listed":false,"github":"https://github.com/eigenhombre/l1","clone":"git clone https://github.com/eigenhombre/l1.git","description":"A simple Lisp written in Go","language":"Go","stars":81,"topics":["golang","interpreter","lisp","l1","tco","unicode","game-development","symbolic-ai"],"license":"MIT","category":"game-templates","readme_excerpt":"l1 l1 is a small interpreted Lisp 1 written in Go. Emphasizing simplicity of data types (atoms, arbitrarily large integers, and lists) and start-up speed, it aims to be a playground for learning Lisp, making simple games, and exploring classic (pre-ML) AI work. l1 eschews strings, vectors, and records in favor of using atoms and lists in the style of some classic AI programs. It features macros, tail-call optimization, unicode support, and a few unique functions for converting atoms and numbers to lists, and vice-versa. Objectives 1. Provide a Lisp one can easily build roguelikes and other text games with. 1. Provide a Lisp for studying \"Good Old Fashioned AI\" programs such as those described in Paradigms of Artificial Intelligence Programming (PAIP). 1. Answer the question, How far can we get without a 'string' data type? (Much older Lisp pedagogy, including PAIP and SICP, does not refer to strings much or at all.) 1. Build a minimal language core and implement much of the language in the language itself (as is done in Clojure and many Common Lisp implementations). Documentation See the language reference and the API docs. Status The language core is largely complete, though things could still change... caveat emptor. Issues and remaining work are tracked on GitHub. Although there are many tests, I expect some bugs remain. The interpreter starts fast but, like most tree-walking interpreters, is slow for longer calculations. Setup Option 1: Install using Go To use this method","default_branch":null,"files":null,"tree":[],"storefront":"/r/eigenhombre","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/eigenhombre/l1/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}