A directional shell
Find a file
2019-12-21 01:19:11 +01:00
src first commit 2019-12-21 01:19:11 +01:00
.gitignore first commit 2019-12-21 01:19:11 +01:00
Cargo.lock first commit 2019-12-21 01:19:11 +01:00
Cargo.toml first commit 2019-12-21 01:19:11 +01:00
README.md first commit 2019-12-21 01:19:11 +01:00

Petri

A directional shell

Syntax

The syntax of petri is a bit different than normal shells because it uses ASCII art to define running graphs

#!/usr/bin/env petri
                               \(diff @ @)
                                      ^ ^
                                      | |
\(ls /dev) -> replace_x --+-> replace_y --x-+  
                      |               |
                      +-> replace_z --+
---
replace_x: sed 's:x:y:g'
replace_y: sed 's:y:z:g'
replace_z: sed 's:z:x:g'

This would be the equivalent of the bash file:

ls /dev | sed 's:x:y:g' > /tmp/temp_file
diff <(sed 's:z:x:g' < /tmp/temp_file) <(sed 's:y:z:g' < /tmp/temp_file)

Why 'petri'

Originally I wanted to call it dish but I found that to generic, and since dish is from time to time preceded with petri, I choose that.