Skip to content

Commit

Permalink
🧮
Browse files Browse the repository at this point in the history
  • Loading branch information
AlephAlpha committed Aug 6, 2024
1 parent 5edc92e commit a05a37b
Show file tree
Hide file tree
Showing 14 changed files with 168 additions and 121 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* Fixed some errors in the documentation.
* Fixed a bug in `\binomial`. Now it returns `0` when the second argument is negative.
* Fixed a bug in `\factor`. In earlier versions, it may return incorrect results.
* New particle: `\fixedPoint`.
* New particles: `\concatMap`, `\fixedPoint`, `\unconcatMap`.

### Breaking changes

Expand Down
2 changes: 1 addition & 1 deletion analysis/Ideas.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ LiberationMono 字体所支持的字符列举于[此文件](analysis/LiberationM
* 与 non-deterministic 机制有关的操作,除了 `=``\eq`)没有一个排到前二十。排最高的是第二十四的 `a``\allValues`)。
* 在两个字符的组合中,排前六的分别是 `ᶦ{``ᵖ{``ʷ{``ˡ{``ᵑ{``ᶠ{`。也许可以像 Vyxal 等语言一样,让这些助词自动开启 block,省去一个 `{`。不过另外一些助词通常只修饰单个 built-in,自动开启 block 反而会额外需要一个 `}`。尤其是 ``````,两种用法都很常见,不好取舍。详见 [`analysis/particles.txt`](particles.txt),以及下文的[关于助词](#关于助词)
* `{$` 在两个字符的组合中排第七,`{:` 排第八。这两个组合没有特别的意义,只是因为 `\dup``\swap` 是最常用的两个操作,因此它们的组合也很常用。
* `Jᵐ` 在两个字符的组合中排第八,和 `{:``ᵐ{``Ťđ` 并列。这完全出乎我的意料。`J` 是将输入 non-deterministic 地拆成若干部分,`` 是对后一个函数进行 map,这两个操作的组合并没有特别的意义。也许值得为它增加一个助词
* `Jᵐ` 在两个字符的组合中排第八,和 `{:``ᵐ{``Ťđ` 并列。这完全出乎我的意料。`J` 是将输入 non-deterministic 地拆成若干部分,`` 是对后一个函数进行 map,这两个操作的组合可以看作 Haskell 中 `concatMap` 的反操作。可能 `concatMap` 也是一个常用的操作,但由于 ```j``\concat`)之间会插入别的操作,所以没有出现在这个统计结果中。可以考虑加上 `\concatMap``\unconcatMap` 两个助词。目前已加上
* `Ťđ` 在两个字符的组合中也排第八,和 `{:``Jᵐ``ᵐ{` 并列。这个组合是将二维列表转置,然后进行 unpair 操作。看起来确实比较常用。先等更多的解答出现再决定是否增加这个 built-in。
* `Ňᵖ{` 在三个字符的组合中排第一,也许值得为它增加一个助词。
* 统计结果与其它语言的差异,除了考虑到语言本身的特点之外,还要考虑到语言的使用者的偏好。目前 Nekomata 的使用者基本上只有我自己,解答的也主要是我感兴趣的题目类型,string 相关的题目较少,ascii-art 更是完全没有。
Expand Down
19 changes: 10 additions & 9 deletions analysis/corpus.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"ᵉĝ,"ᵉĝ,
1:ᶦ{$ᵉ+
ʷ{←Pᶜ←
Jᵐ#3<
#3<
qŁƀ=ũ
↕=
S=
Expand Down Expand Up @@ -100,7 +100,7 @@ pƆᵗf
;ᶜç↔ᶻ+
poil
ᵏ{ᵉ+→%Z
ᵏ{ᵐĝj=
ᵏ{ʲĝ=
ˡ{C4+>‼
RḞŤ
Ď∑
Expand All @@ -122,7 +122,7 @@ xq§LaĦ*
ˡ{Łĉᵐ#
Ë:ᵒ&Þ£E
ŋ∑ũ
ĉᵐ∫j
ĉʲ∫
Þ½
Sđ*aŢṂ
S:đ∩z¿ᵐj
Expand Down Expand Up @@ -208,7 +208,7 @@ D:×Ṁ
Øc;$ᶻ,ŤxᶻŘ
Ṗ↕ũṀ←½
Rᶠ{$R~ᵃƂ×Öƃ=
ĉJᵐj
ĉᶣj
ᶠ{JS=}ş
ᵐµṀ
o:h-l
Expand All @@ -217,7 +217,7 @@ x:→&xï@Ŝ
Ňᵖ{:ÄXÞ½=
ˡ{ᵗ≡ĭ?}Å
Ɗĭ∑
ĉᵐ{ᵉĜ#Mĝ}j
ĉʲ{ᵉĜ#Mĝ
ᵏ{*+$/1%≡
@ᵃ{x-¬∑}ä-
ƒo↔
Expand All @@ -241,7 +241,7 @@ RS2L::∙√ɔ$≤
q£E→∫x>çƆᵖLÅ
ᶦ{:Ɔ≥$tI}ṁ
SjŢ½ađ
R↔$∆çJᵐ{CᵈAc}-ň
R↔$∆çᶣ{CᵈAc}-ň
∑½$ṁ±*$:#←c≥
ʷ{P↕1:Ð-:Cž¿?}žz
õx-çṀ
Expand Down Expand Up @@ -306,7 +306,7 @@ Jĭ?∑hÅ
ʷ∑→ᵉbD
ᶦ{Ƃ2ŗɔƃ3M
ĎSᵉti¦
Jᵐ{x:ᵒ≈>~}aş#
{x:ᵒ≈>~}aş#
→r$ÇƆ/←ŗ0ɔ$ᵑ∆
1D∑
rjŢ
Expand All @@ -316,7 +316,7 @@ rjŢ
Ä&Þ£E
õõ2+$ŗ→Eõl
Ooᵐᵗžũ
oOᵐůj
oOʲů
∆±ĉđ
'B∕uo
ᶜ$ᵗ{iq=}s=
Expand All @@ -337,7 +337,7 @@ Z:Ť‼Ť$ḟ
Ħ¬
ᵐ#:x+Ṁ$ᵒ%ᵐᶻ@ji
ŤđᵃSᵒÐj↕=
JᵐŤŤđ≡¿ᵐ≡
ᶣŤŤđ≡¿ᵐ≡
Ňr26%→Ɔ64+$∑→řH
7R¢ɔ∙11¦
ᵃ#*R↕v#Š:ᵐ∑ᵈv=¿:∑ᵈ§=¿
Expand All @@ -347,3 +347,4 @@ Sđ∙Z
pƆᵗ≤ᵗ≥
o$2ᵑ{Jĭᵃjᵈ↔,}=
+ʸ{CU$x3+þç++;ž¿Ø?
*∙Ɗᶣɗ=
20 changes: 11 additions & 9 deletions analysis/freq_1gram.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{ : 79
$ : 56
= : 54
= : 55
: : 50
+ : 46
ᵐ : 44
∑ : 40
ᵐ : 35
→ : 33
* : 32
R : 32
* : 31
← : 30
j : 30
} : 29
x : 29
} : 28
j : 26
1 : 25
- : 25
o : 24
Expand All @@ -33,7 +33,6 @@ S : 17
ĭ : 17
p : 17
ᵖ : 17
J : 16
l : 16
ĉ : 16
Ɔ : 15
Expand All @@ -43,6 +42,7 @@ t : 15
Ð : 15
" : 14
Ƃ : 14
Ɗ : 14
Ň : 14
; : 14
L : 14
Expand All @@ -52,20 +52,20 @@ L : 14
ᶻ : 13
≡ : 13
∫ : 13
Ɗ : 13
q : 12
½ : 12
Ë : 12
∙ : 12
∆ : 12
ʷ : 11
Q : 11
r : 11
ᵑ : 11
? : 11
c : 11
∙ : 11
± : 11
_ : 11
J : 11
ũ : 10
ˡ : 10
Ţ : 10
Expand Down Expand Up @@ -96,6 +96,7 @@ f : 8
∕ : 8
£ : 8
Ø : 8
ɗ : 8
ƒ : 8
ᵗ : 8
4 : 8
Expand All @@ -104,7 +105,6 @@ f : 8
H : 7
Ä : 7
/ : 7
ɗ : 7
Ħ : 7
¦ : 7
Ĉ : 7
Expand All @@ -114,6 +114,7 @@ h : 7
ä : 7
Ř : 7
¢ : 7
ᶣ : 6
ᵏ : 6
ƃ : 6
Ď : 6
Expand Down Expand Up @@ -159,6 +160,7 @@ F : 4
ƥ : 4
D : 4
7 : 4
ʲ : 4
÷ : 4
þ : 4
§ : 4
Expand Down
46 changes: 26 additions & 20 deletions analysis/freq_2gram.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,8 @@
ˡ{ : 8
ᶠ{ : 7
ᵑ{ : 6
ᵐ{ : 6
{$ : 5
Jᵐ : 5
{: : 5
ĉᵐ : 5
Ťđ : 5
↕= : 4
*→ : 4
Expand All @@ -23,7 +20,6 @@ xŘ : 4
↕ũ : 4
Ňᵖ : 4
aş : 4
ᵐ# : 3
S= : 3
{Ƶ : 3
ŢṂ : 3
Expand Down Expand Up @@ -52,12 +48,14 @@ Rᶠ : 3
đ+ : 3
$L : 3
{C : 3
ᵐ{ : 3
{x : 3
x= : 3
R: : 3
:∙ : 3
∑= : 3
2R : 3
ĉᵐ : 3
&Þ : 3
Sđ : 3
-_ : 3
Expand Down Expand Up @@ -93,7 +91,6 @@ qŁ : 2
×Ö : 2
Öƃ : 2
Ťᵐ : 2
ᵐů : 2
ᵒ- : 2
lo : 2
Ɔᵖ : 2
Expand Down Expand Up @@ -146,7 +143,6 @@ Qƥ : 2
Ɔᵗ : 2
4+ : 2
ḞŤ : 2
Oᵐ : 2
$∑ : 2
ᵐ↔ : 2
+1 : 2
Expand All @@ -160,14 +156,15 @@ Sᵖ : 2
xq : 2
§L : 2
Ħ* : 2
ᵐ# : 2
Ë: : 2
ᵒ& : 2
Þ£ : 2
ŋ∑ : 2
ĉʲ : 2
Þ½ : 2
∩z : 2
¿ᵐ : 2
ᵐj : 2
qŤ : 2
;$ : 2
N, : 2
Expand Down Expand Up @@ -237,6 +234,7 @@ RS : 2
ɔ$ : 2
jŢ : 2
↔$ : 2
ᶣ{ : 2
ž¿ : 2
çṀ : 2
3~ : 2
Expand Down Expand Up @@ -275,6 +273,7 @@ $ᵉ : 1
{← : 1
Pᶜ : 1
ᶜ← : 1
ᶣ# : 1
#3 : 1
3< : 1
Łƀ : 1
Expand All @@ -290,6 +289,7 @@ Pᶜ : 1
½Q : 1
Ťu : 1
uŤ : 1
ᵐů : 1
ᶻᵒ : 1
¬≡ : 1
"H : 1
Expand Down Expand Up @@ -487,10 +487,9 @@ oi : 1
il : 1
→% : 1
%Z : 1
{ᵐ : 1
ᵐĝ : 1
ĝj : 1
j= : 1
{ʲ : 1
ʲĝ : 1
ĝ= : 1
C4 : 1
+> : 1
>‼ : 1
Expand All @@ -501,6 +500,7 @@ RḞ : 1
←X : 1
X< : 1
∆ƶ : 1
Oᵐ : 1
*ä : 1
äK : 1
*ĕ : 1
Expand Down Expand Up @@ -538,15 +538,15 @@ aĦ : 1
{Ł : 1
Łĉ : 1
∑ũ : 1
ᵐ∫ : 1
∫j : 1
ʲ∫ : 1
đ* : 1
*a : 1
aŢ : 1
S: : 1
:đ : 1
đ∩ : 1
z¿ : 1
ᵐj : 1
Ťq : 1
Ť= : 1
$N : 1
Expand Down Expand Up @@ -781,7 +781,8 @@ xᶻ : 1
$R : 1
~ᵃ : 1
ƃ= : 1
ĉJ : 1
ĉᶣ : 1
ᶣj : 1
JS : 1
}ş : 1
ᵐµ : 1
Expand Down Expand Up @@ -810,12 +811,11 @@ XÞ : 1
≡ĭ : 1
}Å : 1
Ɗĭ : 1
ʲ{ : 1
ᵉĜ : 1
Ĝ# : 1
#M : 1
Mĝ : 1
ĝ} : 1
}j : 1
$/ : 1
/1 : 1
%≡ : 1
Expand Down Expand Up @@ -924,7 +924,7 @@ ađ : 1
R↔ : 1
$∆ : 1
ƍ : 1
çJ : 1
çᶣ : 1
Cᵈ : 1
ᵈA : 1
Ac : 1
Expand Down Expand Up @@ -1294,7 +1294,8 @@ oᵐ : 1
ᵗž : 1
žũ : 1
oO : 1
ůj : 1
Oʲ : 1
ʲů : 1
ĉđ : 1
'B : 1
B∕ : 1
Expand Down Expand Up @@ -1369,8 +1370,8 @@ ji : 1
Sᵒ : 1
ᵒÐ : 1
Ðj : 1
J : 1
ᵐŤ : 1
: 1
ᶣŤ : 1
ŤŤ : 1
đ≡ : 1
ᵐ≡ : 1
Expand Down Expand Up @@ -1432,3 +1433,8 @@ x3 : 1
+; : 1
;ž : 1
¿Ø : 1
*∙ : 1
∙Ɗ : 1
Ɗᶣ : 1
ᶣɗ : 1
ɗ= : 1
Loading

0 comments on commit a05a37b

Please sign in to comment.