Skip to content

Commit

Permalink
🔖 v0.5.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
AlephAlpha committed Sep 27, 2023
1 parent 84eac39 commit 89f2f86
Show file tree
Hide file tree
Showing 17 changed files with 274 additions and 183 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
ghc: ['9.0.1', '9.2.8', '9.4.7', '9.6.2']
ghc: ['9.0.1', '9.2.8', '9.4.7', '9.6.3']
steps:
- uses: actions/checkout@v4
- uses: haskell/actions/setup@v2
Expand Down
9 changes: 7 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
# Revision history for Nekomata

## 0.5.1.0 -- Unreleased
## 0.5.1.0 -- 2023-09-27

* New built-in functions: `\bifurcate`, `\divMod`, `\over`, `\popCount`, `\rle`, `\unrle`.
* New built-in functions: `\bifurcate`, `\divMod`, `\flatten`, `\histogram`, `\isBig`, `\isSmall`, `\over`, `\popCount`, `\rle`, `\unrle`.
* New particle: `\zipWithTrunc`.

### Breaking changes

* `\nonzero` is renamed to `\isNonzero`.
* `\nonempty` is renamed to `\isNonempty`.

## 0.5.0.0 -- 2023-09-02

* The interpreter can now limit the number of results to show using the `-l` option.
Expand Down
2 changes: 1 addition & 1 deletion Nekomata.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ name: Nekomata
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.5.0.0
version: 0.5.1.0

-- A short (one-line) description of the package.
synopsis:
Expand Down
4 changes: 2 additions & 2 deletions analysis/Ideas.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
此处总结一下 Code Page 中已有但还没有用上的字符:

```
.VW`w
.W`w
```

如果 CodePage 中的 256 个字符都用完了,可以考虑用像 05AB1E 那样,用 `.` 开头的字符来表示双字节的内置函数。现在的 CodePage 还远远没有用完,先不考虑这个问题,但 `.` 也先不要用掉。
Expand All @@ -26,7 +26,7 @@ LiberationMono 字体所支持的字符列举于[此文件](analysis/LiberationM
* `ç``\cons0`)能排到第十六。这个完全出乎我的意料,因为很多别的 golfing 语言中根本没有这个操作。它的作用是给列表加一个 0,通常是配合 `\head``\last``\minimum``\maximum` 等函数使用,来处理空列表的特殊情况。需要看一看其它语言是怎么处理空列表的。
* 在两个字符的组合中,排前五的分别是 `ᶦ{``ᵖ{``ʷ{``ᵑ{``ᶠ{``ˡ{` 排第七。也许可以像 Vyxal 等语言一样,让这些助词自动开启 block,省去一个 `{`。不过另外一些助词通常只修饰单个 built-in,自动开启 block 反而会额外需要一个 `}`。尤其是 ``````,两种用法都很常见,不好取舍。详见 [`analysis/particles.txt`](particles.txt)
* `{$` 在两个字符的组合中排第六,`{:` 排第九。这两个组合没有特别的意义,只是因为 `\dup``\swap` 是最常用的两个操作,因此它们的组合也很常用。
* `1>` 在两个字符的组合中排第八。可以考虑增加一个 `\significant` 函数,用来检查一个数的绝对值是否大于 1。Jelly 中有与之相反的函数 `insignificant`。到底是添加 `\significant` 还是 `\insignificant`,还要考虑一下。
* `1>` 在两个字符的组合中排第八。可以考虑增加一个 `\significant` 函数,用来检查一个数的绝对值是否大于 1。Jelly 中有与之相反的函数 `insignificant`。到底是添加 `\significant` 还是 `\insignificant`,还要考虑一下。可能两个都要加。名字也可以再改改,比如说叫 `\nontrivial``\trivial`,甚至叫 `\isBig``\isSmall`
* `Ňᵖ{` 在三个字符的组合中排第一,也许值得为它增加一个助词。
* 统计结果与其它语言的差异,除了考虑到语言本身的特点之外,还要考虑到语言的使用者的偏好。目前 Nekomata 的使用者基本上只有我自己,解答的也主要是我感兴趣的题目类型,string 相关的题目较少,ascii-art 更是完全没有。

Expand Down
23 changes: 12 additions & 11 deletions analysis/corpus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Jᵐ#3<
qNᵗzƀ=ũ
↕=
S=
ˡ{1>ᵉ½3*→I
ˡ{Ƶᵉ½3*→I
ĭᵐĜy
ᵏf
ŢṂ
Expand Down Expand Up @@ -60,7 +60,7 @@ R~Q
ĉ~ĭ+↔aj
sNP
çĉl∑
Ṁ←ɔ:ṁĨËƂ+
Ṁ←ɔ:ṁĨĦ+
ᵒ%ᵐ∏¬x∙
ᶠ{$~¦}∑
→rF:E∑
Expand All @@ -70,6 +70,7 @@ rG1Ĩ
ƂYṀ
oᶜ↔=
ᵑᵉř^
NZ
1M
ĭZĬ‼
¬∫½ᶻ¿‼
Expand All @@ -95,8 +96,7 @@ poil
Ď∑
←Ƃ≡
←X<
∆A2<
∆:±=
∆ƶ
*äK
R:∙
*ĕ$∑=
Expand All @@ -117,7 +117,7 @@ xŘ↔
ç-P‼∑
çM-_∑
u∕u#
Ţ~1>
Ţ~Ƶ
Ž-Q
Ň6*ƊajĭÐɗ$Ĩ
Ţ≡2=
Expand All @@ -138,7 +138,7 @@ oĉ~z
Ť_=
ïƊj1Ĉ
ƒz
ËƂ∑±
Ħ±
ᵉᵑ{ˣ∙ɔᵈç}T
ᵐĈ
Ṁ→ᵒÇ∏ƃ
Expand All @@ -164,6 +164,7 @@ S∑a:u∕u
Ë→Ƃʳ×2m2Ĩ
ʷ{£d
į→ŋ
V
Øᶦ{Sa
ᶠ{+ä∩z
O2ᵚL
Expand Down Expand Up @@ -214,7 +215,7 @@ R↔$∆çJᵐ{CᵈAc}-ň
∑½$ṁ±*$:#←c≥
ʷ{P↕1:Ð-:Cž¿?}žz
O↕ᶠz$L
į3ƂÐ3~ᵑᵐç3~ᵑçaᵐᶜ{0*}∑2<
į3ƂÐ3~ᵑᵐç3~ᵑçaᵐᶜ{0*}∑ƶ
ᵒ{ᵃƂv≈Ä+ç4ŗd
0UU$ᵑ{4*4ᵐ+↔3Ř;ᶻᶻ,j
∑ᵚ+xqNᵖ{ᵚ@ů}aşᵉhl→Ð
Expand All @@ -225,7 +226,7 @@ O↕ᶠz$L
RF£b
Ṗ↕rj@ũ
ᵚpj§Lũ
↕∆A1>
↕∆Ƶ
≈Z‼2M≡
ᵏᵚ{ᵑ{įŋ+}f
ˡ{ŗ←£þ+_
Expand All @@ -247,10 +248,10 @@ Oᵖᵐ{Ťđṁ<}aş
x:ᵒ-¬*
Ðᵒ÷u#←
3Ňŧ←1cƀ_=3b
Ňƒ$ƥ←ËƂ∙ŋ
Ňƒ$ƥ←$yĦŋ
+ᵚ%-±ç1Ĩ
Ë:ᵒ&Þ←A±
ƒ1>
ƒƵ
Ťᵐ↕∫Ɔž∑≤
~ᵉ{$#ᵑ{ˣ@j,u}}∕~
xᵒĈ:§#ᵑ{ˣᵐ∙+}±≈j∑
Expand All @@ -268,5 +269,5 @@ pNᵉ#ĉ#*
±đZ≠nŘA
ᶾ-¥b±
←ᶠ{ᵈqEů∑=
←ᶠ{1>B:o±=
←ᶠ{ƵBƶ:o=
ˡ{N→v∩
38 changes: 21 additions & 17 deletions analysis/freq_1gram.txt
Original file line number Diff line number Diff line change
@@ -1,62 +1,60 @@
{ : 61
: : 45
$ : 42
= : 37
: : 44
$ : 43
= : 36
+ : 35
∑ : 34
∑ : 33
← : 28
ᵐ : 28
R : 28
1 : 26
* : 26
→ : 25
} : 25
- : 23
a : 22
1 : 21
ç : 20
j : 20
ᵉ : 18
, : 18
o : 18
2 : 18
x : 18
↔ : 18
u : 17
# : 16
Ƃ : 16
ᵒ : 16
p : 16
2 : 16
3 : 15
l : 15
~ : 15
↕ : 14
ĭ : 14
ᵖ : 14
Ṁ : 14
Ƃ : 13
∫ : 13
Ë : 13
Ň : 13
Ð : 13
½ : 12
t : 12
ᶦ : 11
N : 11
S : 11
Q : 11
≡ : 11
đ : 11
Z : 11
ᵑ : 11
Ɗ : 11
ĉ : 11
_ : 11
" : 10
< : 10
N : 10
Ť : 10
Ɔ : 10
Z : 10
Ë : 10
; : 10
∏ : 10
± : 10
z : 9
Ţ : 9
ᵃ : 9
Expand All @@ -69,8 +67,8 @@ L : 9
ʷ : 8
P : 8
ᶜ : 8
< : 8
ũ : 8
> : 8
× : 8
¬ : 8
r : 8
Expand All @@ -83,7 +81,7 @@ c : 8
ƒ : 8
ṁ : 8
C : 8
: 8
± : 8
J : 7
q : 7
ᵗ : 7
Expand All @@ -93,8 +91,8 @@ f : 7
ɗ : 7
Ĉ : 7
Ĩ : 7
∙ : 7
4 : 7
∆ : 7
@ : 7
ᵏ : 6
ů : 6
Expand All @@ -103,14 +101,16 @@ f : 7
/ : 6
Ø : 6
ŗ : 6
∙ : 6
ä : 6
O : 6
A : 6
∩ : 6
Ř : 6
į : 6
¢ : 6
ƀ : 5
Ƶ : 5
y : 5
Ö : 5
ƃ : 5
d : 5
Expand All @@ -125,7 +125,6 @@ d : 5
≈ : 5
B : 5
I : 4
y : 4
H : 4
Ď : 4
Ç : 4
Expand All @@ -146,6 +145,7 @@ i : 4
0 : 4
ᵋ : 4
b : 4
A : 4
ĝ : 3
Ṃ : 3
ř : 3
Expand All @@ -154,8 +154,11 @@ Y : 3
T : 3
s : 3
ɔ : 3
Ħ : 3
M : 3
7 : 3
> : 3
ƶ : 3
ĕ : 3
& : 3
ï : 3
Expand All @@ -181,6 +184,7 @@ W : 1
| : 1
Ž : 1
ṃ : 1
V : 1
¡ : 1
Ŭ : 1
Ļ : 1
Expand Down
Loading

0 comments on commit 89f2f86

Please sign in to comment.