Skip to content
/ pyscheme Public

Minimal r7rs scheme python library with a repl. Made by gpt, maintained by human.

Notifications You must be signed in to change notification settings

dbian/pyscheme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minimal r7rs scheme python library with a repl. Made by gpt, maintained by human.

Install

pip install pyscheme

Using git to install latest version

pip install git+https://github.com/dbian/pyscheme.git

Implemented Features

  • Lexical scope let,let*. begin, if, lambda, define... etc.
  • Full featured Macro system, which means you can use _ and ... in pattern matching rules.
  • easy template interpolation support aka.: "`", "," and ",@"
  • Use put to extend scheme language easily with power python ecosystem.
  • Single line comment, start with ;
  • REPL, with clojure like *1 *2 *3 result cache support
  • More to discover...

Usage

import pyscheme
env = pyscheme.new_env()
assert pyscheme.run("(define bb (lambda (aa) (+ aa 2))) (bb 5)", env) == 7

def str_format_func(f, *args):
    return f % args
pyscheme.put("format", str_format_func)
pyscheme.put("variable", 123)

Future plans

  • macros system add hygienic variable support
  • more standard functions
  • call/cc
  • module system
  • more

About

Minimal r7rs scheme python library with a repl. Made by gpt, maintained by human.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published