Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 866 Bytes

README.MD

File metadata and controls

32 lines (24 loc) · 866 Bytes

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)