### NAME

Lox - A Perl implementation of the Lox programming language

### DESCRIPTION

A Perl translation of the Java Lox interpreter from
[Crafting Interpreters](https://craftinginterpreters.com/).

### INSTALL

To install the project dependencies and just run `plox` from the project
directory:

   $ cpanm --installdeps .

If you'd rather build and install it:

   $ perl Makefile.PL
   $ make
   $ make test
   $ make install

### SYNOPSIS

If you have built and installed `plox`:

   $ plox
   Welcome to Perl-Lox version 0.01
   >

   $ plox hello.lox
   Hello, World!

Otherwise from the root project directory:

   $ perl -Ilib bin/plox
   Welcome to Perl-Lox version 0.01
   >

   $ perl -Ilib bin/plox hello.lox
   Hello, World!

### TESTING

The test suite includes 238 test files from the Crafting Interpreters
[repo](https://github.com/munificent/craftinginterpreters).

   $ prove -l t/*

### ISSUES

Differences from the canonical "jlox" implementation:

- signed zero is unsupported
- methods are equivalent

   Prints "true" in plox and "false" in jlox:

       class Foo  { bar () { } } print Foo().bar == Foo().bar;

### AUTHOR

Copyright 2020 David Farrell

### LICENSE

See `LICENSE` file.