A categorical programming language
修订版 | 85c53c3d45efeb70dd8edc9957f5952d940cf6b8 (tree) |
---|---|
时间 | 2021-09-08 11:09:30 |
作者 | Corbin <cds@corb...> |
Commiter | Corbin |
Build movelist with Nix.
@@ -16,7 +16,8 @@ fullname=$(basename -- $1) | ||
16 | 16 | name="${fullname%.*}" |
17 | 17 | |
18 | 18 | # Typecheck with movelist. |
19 | -ty=$(./movelist type-check <"$tmpdir/program.cammy") | |
19 | +movelist=$(nix-build movelist/) | |
20 | +ty=$($movelist/bin/movelist type-check <"$tmpdir/program.cammy") | |
20 | 21 | |
21 | 22 | # Compute the final piece. |
22 | 23 | cat "$tmpdir/program.cammy" |
@@ -0,0 +1,24 @@ | ||
1 | +{ nixpkgs ? import <nixpkgs> {} }: | |
2 | +let | |
3 | + pkgs = nixpkgs.pkgs; | |
4 | +in pkgs.stdenv.mkDerivation { | |
5 | + name = "movelist"; | |
6 | + version = "0.0.1"; | |
7 | + | |
8 | + buildInputs = [ | |
9 | + pkgs.chicken | |
10 | + ] ++ (with pkgs.chickenPackages.chickenEggs; [ | |
11 | + matchable mini-kanren | |
12 | + ]); | |
13 | + | |
14 | + src = ./.; | |
15 | + | |
16 | + buildPhase = '' | |
17 | + csc -O3 -o movelist movelist.scm | |
18 | + ''; | |
19 | + | |
20 | + installPhase = '' | |
21 | + mkdir -p $out/bin/ | |
22 | + cp movelist $out/bin/ | |
23 | + ''; | |
24 | +} |