GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - fluentpython/lispy: Learning with Peter Norvig's lis.py interpreter

BranchesTags
Open more actions menu

Latest commit

 

History

275 Commits
275 Commits

Folders and files

NameName
Last commit message
Last commit date
calculator
calculator
 
 
mylis
mylis
 
 
original
original
 
 
references
references
 
 
workshops
workshops
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
conftest.py
conftest.py
 
 
pytest.ini
pytest.ini
 
 

Repository files navigation

Learning with lis.py

This repository contains variations of Peter Norvig's lis.py interpreter for a subset of Scheme, described in his post (How to Write a (Lisp) Interpreter (in Python)).

Provenance, Copyright and License

lis.py is published in the norvig/pytudes repository on Github. The copyright holder is Peter Norvig and the code is licensed under the MIT license.

Unless otherwise noted, I wrote the changes and additions described in the README files in each directory.

References

Articles

  • Norvig, Peter: (How to Write a (Lisp) Interpreter (in Python))
  • Norvig, Peter: (An ((Even Better) Lisp) Interpreter (in Python))
  • Graham, Paul: The Roots of Lisp
  • Steele, Guy Lewis, Jr.; Sussman, Gerald Jay: The Art of the Interpreter, or the Modularity Complex
  • McCarthy, John: Recursive functions of symbolic expressions and their computation by machine, Part I 🔒

Books

  • Abelson, Harold; Sussman, Gerald Jay; Sussman, Julie: Structure and Interpretation of Computer Programs, Second Edition (SICP)
  • Dybvig, R. Kent: The Scheme Programming Language, Fourth Edition (TSPL)
  • Harvey, Brian; Wright, Matthew: Simply Scheme: Introducing Computer Science, Second Edition
  • Friedman, Daniel P.; Felleisen, Matthias: The Little Schemer, Fourth Edition 🔒
  • Butterick, Mathew: Beautiful Racket—an introduction to language-oriented programming using Racket
  • Felleisen, Matthias; Findler, Robert Bruce; Flatt, Matthew; Krishnamurthi, Shriram: How to Design Programs, Second Edition
  • Krishnamurthi, Shriram: Programming Languages: Application and Interpretation (PLAI)
  • Sperber, Michael; et. al. Revised6 Report on the Algorithmic Language Scheme (R6RS)

Interpreters and tools

  • Racket: "the Language-Oriented Programming Language"
  • GNU Guile: "GNU Ubiquitous Intelligent Language for Extensions"
  • Chicken Scheme: "a practical and portable Scheme system"
  • A Meta-Circular Interpreter for Scheme: example 12.7 from TSPL
  • McCarthy's original Lisp converted to Common Lisp by Paul Graham (local copy, original download)

Luciano Ramalho
São Paulo, August 23, 2021

About

Learning with Peter Norvig's lis.py interpreter

Topics

evaluatorlispparserpattern-matchingpythonscheme

Resources

Readme
MIT license
Activity
Custom properties

Stars

264 stars

Watchers

6 watching

Forks

40 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.