https://github.com/objectionary/try-phi
Online interactive parser and translator of EO and 𝜑-calculus
https://github.com/objectionary/try-phi
elm eolang
Last synced: 9 months ago
JSON representation
Online interactive parser and translator of EO and 𝜑-calculus
- Host: GitHub
- URL: https://github.com/objectionary/try-phi
- Owner: objectionary
- Created: 2021-07-15T20:50:27.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-09-01T10:55:53.000Z (10 months ago)
- Last Synced: 2025-09-01T12:45:42.897Z (10 months ago)
- Topics: elm, eolang
- Language: Haskell
- Homepage: https://www.objectionary.com/try-phi/?editor=phi&snippet=%5B%0A%20%20a%20-%3E%203%2C%0A%20%20b%20-%3E%20%5E0.a%0A%5D.b
- Size: 14.7 MB
- Stars: 14
- Watchers: 2
- Forks: 4
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Try-phi

[](https://hitsofcode.com/view/github/objectionary/try-phi?branch=main)

This is an experimental interpreter for a variant of [𝜑-calculus](https://arxiv.org/abs/2204.07454), the base language of [EO](https://github.com/objectionary/eo).
We implement it as a term rewriting system.
## Usage
- The online playground is available [here](https://www.objectionary.com/try-phi/?editor=phi&snippet=%5B%0A%20%20a%20-%3E%203%2C%0A%20%20b%20-%3E%20%5E0.a%0A%5D.b)
## Components
- [Back end](./back#readme)
- [Front end](./front#readme)
- [EO editor](./eo-editor#readme)
- [Phi editor](./phi-editor#readme)
## Quick start
1. [Install Nix](https://github.com/deemp/flakes/blob/main/README/InstallNix.md)
1. Enter the repo.
```sh
git clone https://github.com/objectionary/try-phi
cd try-phi
```
1. Run `back end` and `front end` in separate terminals.
```console
nix run .#back
nix run .#front
```
## Development
1. Allow `direnv` in flake folders.
```sh
direnv allow
(cd front && direnv allow)
(cd back && direnv allow)
```
1. Start a deshell.
```console
nix develop
```
1. (Optionally) Start `VSCodium`.
```console
nix run .#writeSettings
nix run .#codium .
```
1. In a `.hs` file, hover over a function. `HLS` should start giving the type info soon.