phil tools

Do our tools agree with Phil?

The Phil repository ships its own test programs, each with a verdict: this one must be accepted, that one must be rejected. This page runs every one of them through our checker and simulator and reports where we agree.

Reading the grammar

Phil's grammar fixtures say which files must parse and which must not. Our parser is written from the same grammar file, and drives the playground, the course and the VS Code extension.

Running the programs

Our simulator is an experiment, not Phil's checker. It finds mistakes by running a program on a few inputs and schedules, where Phil proves things before the program runs. So it is expected to miss rejections that need a proof.

By test suite

How this is produced

A scheduled job checks out abiggerhammer/phil once a day, runs npm run conformance, and commits the result when it changes. The runner and its rules are in conformance/. Where our tools disagree with Phil, Phil is right until shown otherwise.