Compare commits
3 Commits
0.6.0-8995
...
0.6.0-2e24
Author | SHA1 | Date | |
---|---|---|---|
2e246eb1c8 | |||
ba340ae56f | |||
739851c864 |
@ -28,16 +28,6 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
cabal-
|
cabal-
|
||||||
|
|
||||||
- name: Set up cache for Nix
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
/nix/store
|
|
||||||
/nix/var/nix/cache
|
|
||||||
key: nix-${{ hashFiles('flake.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
nix-
|
|
||||||
|
|
||||||
- name: Initialize Cabal and update package list
|
- name: Initialize Cabal and update package list
|
||||||
run: |
|
run: |
|
||||||
nix develop --command cabal update
|
nix develop --command cabal update
|
||||||
@ -58,22 +48,14 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up cache for Nix
|
- name: Build and shrink binary
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
/nix/store
|
|
||||||
/nix/var/nix/cache
|
|
||||||
key: nix-${{ hashFiles('flake.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
nix-
|
|
||||||
|
|
||||||
- name: Build binary
|
|
||||||
run: |
|
run: |
|
||||||
nix build
|
nix build
|
||||||
ls -alh ./result/bin/tricu
|
cp -L ./result/bin/tricu ./tricu
|
||||||
|
chmod 755 ./tricu
|
||||||
|
nix develop --command upx ./tricu
|
||||||
|
|
||||||
- name: Setup go for release actoin
|
- name: Setup go for release action
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: '>=1.20.1'
|
go-version: '>=1.20.1'
|
||||||
@ -82,5 +64,6 @@ jobs:
|
|||||||
uses: https://gitea.com/actions/release-action@main
|
uses: https://gitea.com/actions/release-action@main
|
||||||
with:
|
with:
|
||||||
files: |-
|
files: |-
|
||||||
./result/bin/tricu
|
./tricu
|
||||||
api_key: '${{ secrets.RELEASE_TOKEN }}'
|
api_key: '${{ secrets.RELEASE_TOKEN }}'
|
||||||
|
pre_release: true
|
||||||
|
@ -16,7 +16,7 @@ These features move us cleanly out of the [turing tarpit](https://en.wikipedia.o
|
|||||||
|
|
||||||
tricu is the word for "tree" in Lojban: `(x1) is a tree of species/cultivar (x2)`. This project was named "sapling" until I discovered the name is already being used for other (completely unrelated) programming language development projects.
|
tricu is the word for "tree" in Lojban: `(x1) is a tree of species/cultivar (x2)`. This project was named "sapling" until I discovered the name is already being used for other (completely unrelated) programming language development projects.
|
||||||
|
|
||||||
## What does it look like?
|
## REPL examples
|
||||||
|
|
||||||
```
|
```
|
||||||
tricu < -- Anything after `--` on a single line is a comment
|
tricu < -- Anything after `--` on a single line is a comment
|
||||||
@ -31,7 +31,7 @@ tricu < triage = (\a b c : t (t a b) c)
|
|||||||
tricu < test = triage "Leaf" (\z : "Stem") (\a b : "Fork")
|
tricu < test = triage "Leaf" (\z : "Stem") (\a b : "Fork")
|
||||||
tricu < test (t t)
|
tricu < test (t t)
|
||||||
tricu > "Stem"
|
tricu > "Stem"
|
||||||
tricu < -- We can even write a function to convert a term back to source code
|
tricu < -- We can even convert a term back to source code (/demos/toSource.tri)
|
||||||
tricu < toSource not?
|
tricu < toSource not?
|
||||||
tricu > "(t (t (t t) (t t t)) (t t (t t t)))"
|
tricu > "(t (t (t t) (t t t)) (t t (t t t)))"
|
||||||
```
|
```
|
||||||
@ -79,4 +79,4 @@ tricu decode [OPTIONS]
|
|||||||
|
|
||||||
Tree Calculus was discovered by [Barry Jay](https://github.com/barry-jay-personal/blog).
|
Tree Calculus was discovered by [Barry Jay](https://github.com/barry-jay-personal/blog).
|
||||||
|
|
||||||
[treecalcul.us](https://treecalcul.us) is an excellent website with an intuitive playground created by [Johannes Bader](https://johannes-bader.com/) that introduced me to Tree Calculus. If tricu sounds interesting but compiling this repo sounds like a hassle, you should check out his site.
|
[treecalcul.us](https://treecalcul.us) is an excellent website with an intuitive Tree Calculus code playground created by [Johannes Bader](https://johannes-bader.com/) that introduced me to Tree Calculus.
|
||||||
|
@ -32,10 +32,11 @@
|
|||||||
defaultPackage = self.packages.${system}.default;
|
defaultPackage = self.packages.${system}.default;
|
||||||
|
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
buildInputs = with pkgs.haskellPackages; [
|
buildInputs = with pkgs; [
|
||||||
cabal-install
|
haskellPackages.cabal-install
|
||||||
ghcid
|
haskellPackages.ghcid
|
||||||
customGHC
|
customGHC
|
||||||
|
upx
|
||||||
];
|
];
|
||||||
inputsFrom = builtins.attrValues self.packages.${system};
|
inputsFrom = builtins.attrValues self.packages.${system};
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user