Skip to content

Commit

Permalink
🦴
Browse files Browse the repository at this point in the history
  • Loading branch information
AlephAlpha committed Jul 30, 2024
1 parent 6ccbc04 commit f96c434
Show file tree
Hide file tree
Showing 13 changed files with 408 additions and 106 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
* Some modules in the library are no longer exposed.
* The built-in function `\normalForm` is removed, because it is never used, and its semantics are not well-defined.
* `\divisors` now returns a sorted list of divisors.
* `\intersect` and `\union` are now multiset intersection and union.

## 0.6.1.0 -- 2024-06-07

Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
# Nekomata

Trying to make an experimental [non-deterministic](https://en.wikipedia.org/wiki/Nondeterministic_programming) [concatenative](https://en.wikipedia.org/wiki/Concatenative_programming_language) [golfing](https://en.wikipedia.org/wiki/Code_golf) language.
**Nekomata** is an experimental [non-deterministic](https://en.wikipedia.org/wiki/Nondeterministic_programming) [concatenative](https://en.wikipedia.org/wiki/Concatenative_programming_language) [golfing](https://en.wikipedia.org/wiki/Code_golf) language.

The implementation of non-determinism is based on the paper [*KiCS2: A New Compiler from Curry to Haskell*](https://www.informatik.uni-kiel.de/~mh/papers/WFLP11_KiCS2.pdf).

The language is still in an early stage of development. The custom code page is incomplete. The semantics of some built-ins are not clear. The syntax is still subject to change.

## Name

[***Nekomata***](https://en.wikipedia.org/wiki/Nekomata) (猫又) are a kind of cat monster in Japanese folklore that have forked tails. I think it's a good name for a con**cat**enative language that chooses between forking paths of computation.
[***Nekomata***](https://en.wikipedia.org/wiki/Nekomata) (猫又) are a kind of cat monster in Japanese folklore that have two tails. Just consider a non-deterministic [cons list](https://en.wikipedia.org/wiki/Cons) where the head is deterministic but the tail has two possible values. Doesn't it look like a nekomata?

This name is also inspired by [Cat](https://concatenative.org/wiki/view/Cat) and [Kitten](https://kittenlang.org/). Both are con**cat**enative languages.

## Documentation

Expand Down
6 changes: 6 additions & 0 deletions analysis/corpus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -339,3 +339,9 @@ Z:Ť‼Ť$ḟ
Ňr26%→Ɔ64+$∑→řH
7R¢ɔ∙11¦
ᵃ#*R↕v#Š:ᵐ∑ᵈv=¿:∑ᵈ§=¿
JxËᶻL
Sđ∙Z
ᵒ∙jZ‼*
pƆᵗ≤ᵗ≥
o$2ᵑ{Jĭᵃjᵈ↔,}=
+:#ᵑ{CU$x3+þç++;ž¿
82 changes: 41 additions & 41 deletions analysis/freq_1gram.txt
Original file line number Diff line number Diff line change
@@ -1,90 +1,93 @@
{ : 78
$ : 55
= : 52
: : 50
{ : 80
$ : 57
= : 53
: : 51
+ : 46
ᵐ : 44
+ : 42
∑ : 40
→ : 33
R : 32
* : 31
← : 30
* : 30
} : 29
j : 27
x : 27
} : 30
j : 29
x : 29
1 : 25
- : 25
o : 23
ç : 23
o : 24
ç : 24
, : 23
# : 23
2 : 23
ᵉ : 22
, : 22
# : 22
↕ : 22
2 : 22
Ť : 21
ᵒ : 20
a : 20
: 19
: 19
: 20
đ : 19
u : 18
đ : 18
ᵖ : 18
~ : 18
3 : 16
S : 16
ĭ : 16
3 : 17
S : 17
ĭ : 17
p : 17
J : 16
l : 16
p : 16
ĉ : 16
Ɔ : 15
Z : 15
t : 15
Ṁ : 15
Ð : 15
" : 14
J : 14
Ƃ : 14
Ɔ : 14
: 14
Ň : 14
; : 14
L : 14
ᶦ : 13
ᵃ : 13
ᶻ : 13
≡ : 13
∫ : 13
Z : 13
Ɗ : 13
; : 13
L : 13
< : 12
q : 12
½ : 12
ᵃ : 12
ᶻ : 12
ᵑ : 12
Ë : 12
∆ : 12
ʷ : 11
Q : 11
r : 11
c : 11
Ë : 11
N : 11
∙ : 11
± : 11
_ : 11
ũ : 10
ˡ : 10
Ţ : 10
E : 10
ž : 10
ŋ : 10
? : 10
% : 10
ᶠ : 10
∏ : 10
O : 10
C : 10
z : 10
ᵈ : 10
ᶜ : 9
ž : 9
≥ : 9
‼ : 9
ŗ : 9
ᵗ : 9
≈ : 9
∙ : 9
i : 9
C : 9
@ : 9
ᵈ : 9
P : 8
f : 8
ᵚ : 8
Expand All @@ -93,10 +96,9 @@ f : 8
¬ : 8
∕ : 8
£ : 8
≥ : 8
‼ : 8
ƒ : 8
4 : 8
¿ : 8
Ƶ : 7
H : 7
Ä : 7
Expand All @@ -105,18 +107,17 @@ H : 7
Ħ : 7
¦ : 7
Ĉ : 7
ᵗ : 7
ṁ : 7
Ĩ : 7
h : 7
ä : 7
> : 7
¿ : 7
Ř : 7
¢ : 7
ᵏ : 6
ƃ : 6
Ď : 6
≤ : 6
Ø : 6
ŧ : 6
Ĭ : 6
Expand All @@ -134,7 +135,6 @@ I : 5
y : 5
Ö : 5
d : 5
≤ : 5
Ç : 5
ř : 5
ʳ : 5
Expand All @@ -160,22 +160,22 @@ F : 4
D : 4
7 : 4
÷ : 4
þ : 4
& : 4
6 : 4
ˣ : 4
ň : 4
Ṗ : 4
U : 4
õ : 4
Ṃ : 3
Y : 3
T : 3
X : 3
ƶ : 3
þ : 3
≠ : 3
ï : 3
å : 3
U : 3
m : 3
Š : 3
' : 3
Expand Down
Loading

0 comments on commit f96c434

Please sign in to comment.