# Haskelterpreters

## To build

```
cabal build
```

## To run

Interpreter I Examples:

```
cabal run interp1 -- test/fib
cabal run interp1 -- test/diff
```

Interpreter 4 Examples:

```
cabal run interp4 -- test/fib
cabal run interp4 -- test/diff
```

The diff program shows the difference between call by name vs call by value

MetaCircular:

```
cabal run interp4 -- test/interp1on4
cabal run interp4 -- test/interp4on4
```

These again will show the differences between call by name vs call by value

Extras:

```
cabal run interp4 -- test/interp4on4
```

To test all:

```
./test_all.sh
```
