Skip to content

a scheme interpreter written in go based on eatonphil twitch stream.

Notifications You must be signed in to change notification settings

Grubba27/write-yourself-a-scheme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Write your own Scheme interpreter in Go

This is a Repo that was build alongside eatonphil from the twitch stream.

Part 1: A lexer Part 2: Parsing Part 3: AST walking interpreter Part 4: Cleanup and Fibonacci

Give him a star on the original repo and follow him on twitch if you like the content.

$ go mod tidy
$ go test
$ go build
$ cat examples/fib.scm
(fn fib (a)
      (if (< a 2)
	  a
	  (add (fib (sub a 1)) (fib (sub a 2)))))

(fib 11)
$ ./livescheme examples/fib.scm
89

Missing features

  • Constant propagation
  • More keywords
  • Types(static type checking)

About

a scheme interpreter written in go based on eatonphil twitch stream.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages