Back to directory

Phil

A systems programming language in which the architecture — boundaries, protocols and proof obligations — is executable, and any implementation of it can be replaced.

Phil

Phil is a systems language built around the idea that architecture is executable and implementation is replaceable. Rather than defining a system by one implementation, it starts from system boundaries, protocols, authority and proof obligations, and lowers those meanings toward executable code.

Its development model is prototype, verify, rewrite, certify: proof is meant to cost at compile time, while uncertainty costs at runtime, and assurance machinery is erased once it has done its job. The project documents itself through a tutorial called A Tour of Phil, a frozen historical worked example called the Phase 0 framed-upload tour, and a keyword lexicon for its Grammar-v1 reserved words. Phase 0 is frozen as the first complete design and execution snapshot, and Phase 1 is active development that is removing Phase 0's witness-specific assumptions.

It has a focused, polarized, intuitionistic substructural dependent type system, and is released under the Apache-2.0 license.

More in Languages

See all 48
  • QBasic Web Editor

    vahidyousefzadeh.com

    A browser-based QBasic 1.1 editor and interpreter that runs classic QBasic programs with DOSBox-accurate behavior, including text-mode graphics commands such as PRINT, COLOR and LOCATE, with sample programs and keyboard shortcuts to run and save.

  • A Brainfuck-inspired esoteric programming language adding absolute memory navigation, multiplier arithmetic, non-destructive inspection and inline conditionals, with its own interpreter.

  • C3 Playground

    play.c3-lang.org

    An in-browser playground that compiles and runs the C3 programming language entirely in WebAssembly, with no backend server, alongside its standard library and documentation.