• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javaandroidc++linuxc#windowsobjective-ccocoaqtpython誰得phprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

A categorical programming language


Commit MetaInfo

修订版2c4a70a552da3ea9ed7c9a2a8941aaa8b8aa0985 (tree)
时间2022-03-06 13:17:10
作者Corbin <cds@corb...>
CommiterCorbin

Log Message

Clean up old parts of movelist.

更改概述

差异

--- a/default.nix
+++ b/default.nix
@@ -7,14 +7,6 @@ let
77 cammy-frame = import ./cammy-rpy/frame.nix { inherit nixpkgs jelly; };
88 cammy-repl = import ./cammy-rpy/repl.nix { inherit nixpkgs jelly; };
99 cammy-weave = import ./cammy-rpy/weave.nix { inherit nixpkgs jelly; };
10- eggs = builtins.attrValues (removeAttrs (import ./eggs.nix {
11- inherit pkgs;
12- stdenv = pkgs.stdenv;
13- }) [ "eggDerivation" "fetchegg" ]) ++ [ pkgs.chicken ];
14- CHICKEN_REPOSITORY_PATH = builtins.concatStringsSep ":"
15- (map (egg: "${egg.out}/lib/chicken/${toString pkgs.chicken.binaryVersion}") eggs);
16- CHICKEN_INCLUDE_PATH = builtins.concatStringsSep ":"
17- (map (egg: "${egg.out}/share") eggs);
1810 in pkgs.stdenv.mkDerivation {
1911 name = "cammy";
2012 version = "0.2";
@@ -23,14 +15,11 @@ in pkgs.stdenv.mkDerivation {
2315
2416 buildInputs = [ pkgs.makeWrapper ];
2517
26- inherit (pkgs) bash chicken python3;
27- inherit CHICKEN_REPOSITORY_PATH CHICKEN_INCLUDE_PATH jelly movelist;
28-
2918 installPhase = ''
3019 mkdir -p $out/bin/
3120
32- # To be removed
33- makeWrapper ${movelist}/bin/movelist $out/bin/cammy-movelist
21+ # djinn
22+ makeWrapper ${movelist}/bin/movelist $out/bin/cammy-djinn
3423
3524 # jelly
3625 makeWrapper ${jelly}/bin/jelly $out/bin/cammy-jelly
--- a/eggs.nix
+++ /dev/null
@@ -1,163 +0,0 @@
1-{ pkgs, stdenv }:
2-rec {
3- inherit (pkgs) eggDerivation fetchegg;
4-
5- matchable = eggDerivation {
6- name = "matchable-1.1";
7-
8- src = fetchegg {
9- name = "matchable";
10- version = "1.1";
11- sha256 = "084hm5dvbvgnpb32ispkp3hjili8z02hamln860r99jx68jx6j2v";
12- };
13-
14- buildInputs = [
15-
16- ];
17- };
18-
19- r7rs = eggDerivation {
20- name = "r7rs-1.0.5";
21-
22- src = fetchegg {
23- name = "r7rs";
24- version = "1.0.5";
25- sha256 = "0zyi1z4m1995hm2wfc5wpi8jjgxcwk03qknq5v2ygff3akxazsf6";
26- };
27-
28- buildInputs = [
29- matchable
30- srfi-1
31- srfi-13
32- ];
33- };
34-
35- srfi-1 = eggDerivation {
36- name = "srfi-1-0.5.1";
37-
38- src = fetchegg {
39- name = "srfi-1";
40- version = "0.5.1";
41- sha256 = "15x0ajdkw5gb3vgs8flzh5g0pzl3wmcpf11iimlm67mw6fxc8p7j";
42- };
43-
44- buildInputs = [
45-
46- ];
47- };
48-
49- srfi-128 = eggDerivation {
50- name = "srfi-128-0.11";
51-
52- src = fetchegg {
53- name = "srfi-128";
54- version = "0.11";
55- sha256 = "1lq513l0lniyih9xar1jfpan4iazp39lj6bsp8cn7yllbki5xhkf";
56- };
57-
58- buildInputs = [
59- srfi-13
60- ];
61- };
62-
63- srfi-13 = eggDerivation {
64- name = "srfi-13-0.3.2";
65-
66- src = fetchegg {
67- name = "srfi-13";
68- version = "0.3.2";
69- sha256 = "137yv5hkhnapgh7iq3siiq1vfqdmvck4gsax7p6pmch6adg2wcy4";
70- };
71-
72- buildInputs = [
73- srfi-14
74- ];
75- };
76-
77- srfi-14 = eggDerivation {
78- name = "srfi-14-0.2.1";
79-
80- src = fetchegg {
81- name = "srfi-14";
82- version = "0.2.1";
83- sha256 = "0gc33cx4xll9vsf7fm8jvn3gc0604kn3bbi6jfn6xscqp86kqb9p";
84- };
85-
86- buildInputs = [
87-
88- ];
89- };
90-
91- srfi-144 = eggDerivation {
92- name = "srfi-144-0.1.3";
93-
94- src = fetchegg {
95- name = "srfi-144";
96- version = "0.1.3";
97- sha256 = "0i2446bwqirc47a08fdmhxjc231i4kzdqlxsv1avy13klain7mad";
98- };
99-
100- buildInputs = [
101- r7rs
102- ];
103- };
104-
105- srfi-145 = eggDerivation {
106- name = "srfi-145-0.1";
107-
108- src = fetchegg {
109- name = "srfi-145";
110- version = "0.1";
111- sha256 = "1r4278xhpmm8gww64j6akpyv3qjnn14b6nsisyb9qm7yx3pkpim9";
112- };
113-
114- buildInputs = [
115-
116- ];
117- };
118-
119- srfi-160 = eggDerivation {
120- name = "srfi-160-0.5.3";
121-
122- src = fetchegg {
123- name = "srfi-160";
124- version = "0.5.3";
125- sha256 = "033j5c25s7xr6in4z4w8kqj2xy69bd254ilf7c0nal020pb2yp2r";
126- };
127-
128- buildInputs = [
129- srfi-128
130- ];
131- };
132-
133- srfi-189 = eggDerivation {
134- name = "srfi-189-0.1";
135-
136- src = fetchegg {
137- name = "srfi-189";
138- version = "0.1";
139- sha256 = "1nmrywpi9adi5mm1vcbxxsgw0j3v6m7s4j1mii7icj83xn81cgvx";
140- };
141-
142- buildInputs = [
143- r7rs
144- srfi-1
145- srfi-145
146- ];
147- };
148-
149- stb-image-write = eggDerivation {
150- name = "stb-image-write-0.3";
151-
152- src = fetchegg {
153- name = "stb-image-write";
154- version = "0.3";
155- sha256 = "08qjvsih3jdniclcbsh06yd67vz3kya6ny42fwhlbkyxlj8c92s3";
156- };
157-
158- buildInputs = [
159-
160- ];
161- };
162-}
163-
--- a/eggs.scm
+++ /dev/null
@@ -1,5 +0,0 @@
1-srfi-144
2-srfi-160
3-srfi-189
4-matchable
5-stb-image-write
--- /dev/null
+++ b/hive/bool/all.cammy
@@ -0,0 +1,3 @@
1+(fold t conj)
2+
3+Whether every element in a list is true.
--- /dev/null
+++ b/hive/bool/any.cammy
@@ -0,0 +1,3 @@
1+(fold f disj)
2+
3+Whether any element in a list is true.
--- /dev/null
+++ b/hive/fun/distribl.cammy
@@ -0,0 +1,3 @@
1+(uncurry (case (curry left) (curry right)))
2+
3+Distribute to the left.
--- /dev/null
+++ b/hive/list/cat_maybes.cammy
@@ -0,0 +1,3 @@
1+(fold nil (comp fun/distribl (case cons snd)))
2+
3+Select the left-hand elements of a list of sums.
--- /dev/null
+++ b/hive/monads/maybe/bind.cammy
@@ -0,0 +1,3 @@
1+(comp @0 (case @1 right))
2+
3+Bind for the maybe monad.
--- a/movelist/movelist.scm
+++ b/movelist/movelist.scm
@@ -62,13 +62,13 @@
6262 (define (type-check expr)
6363 (car (run 1 (q) (fresh (s t) (== q (list s t)) (cammyo expr s t)))))
6464
65+(define (last xs)
66+ (if (null? (cdr xs)) (car xs) (last (cdr xs))))
67+
6568 (define (djinn x s t)
66- (run x (q) (cammyo q s t)))
69+ (last (run x (q) (cammyo q s t))))
6770
6871 (match (map (lambda (s) (read (open-input-string s)))
6972 (command-line-arguments))
70- [('type-check) (begin
71- (display (type-check (read))) (newline))]
72- [('djinn (? number? count) in out) (begin
73- (display (djinn count in out))
74- (newline))])
73+ [(in out (? number? count)) (begin (display (djinn count in out))
74+ (newline))])
--- a/todo.txt
+++ b/todo.txt
@@ -55,4 +55,3 @@
5555 * Moore transducers: [Q × S, Q] -> [Q × S, Q]
5656 * Mealy machines: For state type Q, input type S, and output type L, Q × S -> Q × L
5757 * Jets
58-* f/dot2pair