Skip to content

PhilippRados/huskeme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

huskeme 🐺

A simple scheme interpreter including good error messages and an interactive Repl.

I tried to base the implemented features as close as possible to the r7rs language standard.

Usage

Evaluate a file with huskeme <file> and launch the Repl with huskeme

Lang-features

  • Data types: identifiers, lists (also dotted), functions, integers, strings, booleans
  • Assigning and mutating variables
  • Conditionals
  • Closures using a variable number of arguments
  • I/O, including loading files

Features

Nice error messages using diagnose

errores

Repl with tab-completion using haskeline

:help lists all available commands in the Repl, tab-completion lists all available symbols in the environment

Basic standard library

The stdlib can be loaded using (load "<path>/lib.scm") to use higher level concepts like mapping/folding etc. This list is not extensive.

Tests

The test-suite combines unit-tests with snapshot-tests from fixtures/

Todo

  • Tail-call optimization
  • LLVM Jit backend
  • Macros

About

Scheme Interpreter written in Haskell (of course)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published