Compare commits
4 Commits
03e2f6b93e
...
0.6.0-2e24
Author | SHA1 | Date | |
---|---|---|---|
2e246eb1c8 | |||
ba340ae56f | |||
739851c864 | |||
8995efce15 |
@ -1,13 +1,9 @@
|
||||
name: Test and Build
|
||||
name: Test, Build, and Release
|
||||
|
||||
on:
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- synchronize
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
@ -17,8 +13,9 @@ jobs:
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up cache for Cabal
|
||||
uses: actions/cache@v4
|
||||
@ -31,16 +28,6 @@ jobs:
|
||||
restore-keys: |
|
||||
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
|
||||
run: |
|
||||
nix develop --command cabal update
|
||||
@ -57,32 +44,26 @@ jobs:
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up cache for Cabal
|
||||
uses: actions/cache@v4
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
path: |
|
||||
~/.cache/cabal
|
||||
~/.config/cabal
|
||||
~/.local/state/cabal
|
||||
key: cabal-${{ hashFiles('tricu.cabal') }}
|
||||
restore-keys: |
|
||||
cabal-
|
||||
fetch-depth: 0
|
||||
|
||||
- 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: Build binary
|
||||
- name: Build and shrink binary
|
||||
run: |
|
||||
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 action
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '>=1.20.1'
|
||||
|
||||
- name: Release binary
|
||||
uses: https://gitea.com/actions/release-action@main
|
||||
with:
|
||||
files: |-
|
||||
./tricu
|
||||
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.
|
||||
|
||||
## What does it look like?
|
||||
## REPL examples
|
||||
|
||||
```
|
||||
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 (t t)
|
||||
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 > "(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).
|
||||
|
||||
[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;
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = with pkgs.haskellPackages; [
|
||||
cabal-install
|
||||
ghcid
|
||||
buildInputs = with pkgs; [
|
||||
haskellPackages.cabal-install
|
||||
haskellPackages.ghcid
|
||||
customGHC
|
||||
upx
|
||||
];
|
||||
inputsFrom = builtins.attrValues self.packages.${system};
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
cabal-version: 1.12
|
||||
|
||||
name: tricu
|
||||
version: 0.6.0
|
||||
version: 0.7.0
|
||||
description: A micro-language for exploring Tree Calculus
|
||||
author: James Eversole
|
||||
maintainer: james@eversole.co
|
||||
|
Reference in New Issue
Block a user