-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAGL.dyalog
73 lines (73 loc) · 3.56 KB
/
AGL.dyalog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
:Namespace AGL
a←⎕C ⎕A ⍝ lower abc
w←⎕C W←'AEIOU' ⍝ voWels
k←⎕C K←⎕A~W ⍝ Consonants
h←⎕C H←16↑⎕D,⎕A ⍝ Hex digits
_←{11::t⊣(∊t)←((~0⌈ø)⎕C⊢)¨∊t←⍵ ⋄ ⍺←⊢ ⋄ ⍺-⍵} ⍝ swap case
Ä←{⍵ ⍺⍺ ⍵⍵ ⍵} ⍝ fork
á←{⍎'⍵[⍋↑⍣(|≡⍵)⊢⍵',']',⍨';'⍴⍨¯1+≢⍴⍵} ⍝ 0⍋⍵ sorts ⍵ up - even nested
à←{⍎'⍵[⍒↑⍣(|≡⍵)⊢⍵',']',⍨';'⍴⍨¯1+≢⍴⍵} ⍝ 0⍒⍵ sorts ⍵ down - even nested
ä←{⍺←⊢ ⋄ ⍺⍺ ⍺ ⍵⍵ ⍵} ⍝ atop
A←⎕NAPPEND
ç←{(⊂⍺),⊆⍵} ⍝ link (connect)
Ç←{⍺←⊢ ⋄ 11::⍺{⍺←' ' ⋄ ''≡⍺:⍵ ⋄ (1↓⍺)∘∇¨⍵⊆⍨⍵≠⊃⍺}⍵ ⋄ r←⍺÷⍵} ⍝ char: cut at ⍺[1] (default=space) then cut each at ⍺[2] ...
C←⎕NCREATE
⍝Ð
⍝ð
D←⎕NDELETE
é←{⍺/⍵}
è←{⍺\⍵}
É←{⍺⌿⍵}
È←{⍺⍀⍵}
⍝ë
ê←{⊃0⍴⊂⍵} ⍝ monad:type
E←⎕NERASE
F←{⍺←⊢ ⋄ ⊃⌽⍺ ⎕VFI ⍵}
G←⎕NGET
G←⎕NREAD
ï←{⍎⍺,'←⍵'} ⍝ 'name'← returns ⍵ but assign to the name in ⍺
⍝î
í←{11::1⎕C⍵ ⋄ ⍺←⊢ ⋄ ⍺⌈⍵} ⍝ uppercase chars
ì←{11::¯1⎕C⍵ ⋄ ⍺←⊢ ⋄ ⍺⌊⍵} ⍝ lowercase chars
Î←{⍺←⊢ ⋄ ⍺ (⍺⍺⍣¯1) ⍵} ⍝ Inverse
Í←{⍺←⊢ ⋄ ⍺ (⍺⍺⍣⍣≡) ⍵} ⍝ power-Infinity
Ì←{⍺←⊢ ⋄ ⍺ (⍺⍺⍣⍣≢) ⍵} ⍝ until Indifferent
Ï←{⍺←⊢ ⋄ ⍺ (⍺⍺⍣⍣2) ⍵} ⍝ twIce
I←⎕NINFO
M←⎕MKDIR
⎕FX'r←N' 'r←⎕NS⍬'
Ñ←{⍺←2 ⋄ ×≡⍺:⍉⍺⊤⍵ ⋄ ⍉⍵⊤⍨⍺/⍨1⌈⌈⍺⍟⌈/⍵} ⍝ default is base 2 + no transpose
ñ←{⍺←2 ⋄ ⍺⊥⍉⍵} ⍝ default is base 2 + no transpose
⍝ö
Ö←{⍺←⊢ ⋄ ⍺ ⍺⍺⍣(⍵⍵ ⍵)⊢⍵} ⍝ repeat g(⍵) times
ò←{⍺←⍵ ⋄ ⍺∘.⍺⍺ ⍵} ⍝ normal monadic operator for ∘.
Ø←{⍺←0 ⋄ s←⍺⊣⍵} ⍝ shy
ø←{11::((⊢=1∘⎕C)-⊢=⎕C)⍵ ⋄ ⍺←⊢ ⋄ ⍺×⍵} ⍝ case: ¯1=lower 0=\W 1=upper
P←⎕NPUT
Ps←⎕NPARTS
R←⎕NREPLACE
Rn←⎕NRENAME
Rs←⎕NRESIZE
S←⎕SIGNAL
ß←⎕TSYNC
Sz←⎕NSIZE
T←⎕NTIE
Tg←⎕TGET
þ←{⎕IO←0 ⋄ Char←0 2∊⍨10|⎕DR ⋄ end←⊃⍵ ⋄ tail←1↓⍵ ⋄ charend←Char end ⋄ default←⎕UCS⍣charend⊢0 ⋄ ⍺←default ⋄ charbegins←Char¨¯2↑⍺ ⋄ lead←-(2-charend)⌊(≢⍺)⌊+/charend=charbegins ⋄ head←lead↓⍺ ⋄ begin←(¯1⌊lead)↑¯2↑default,lead↑⍺ ⋄ charend:head,tail,⍨⎕UCS(⎕UCS begin)∇ ⎕UCS end ⋄ from step←-⍨\2↑begin,begin+×end-begin ⋄ head,tail,⍨from+step×⍳0⌈1+⌊(end-from)÷step+step=0}
Ti←⎕TID
Tk←⎕TKILL
Tl←⎕TPOOL
Tn←⎕TNAME
Tp←⎕TPUT
Tr←⎕TREQ
Ts←⎕TNUMS
Ü←{0=⎕NC'⍺':⍵⍵{11::⍺⍺ ⍵ ⋄ ⍺⍺⍣¯1⊢⍵}⍺⍺ ⍵⍵ ⍵ ⋄ ⍵⍵{11::⍺⍺ ⍵ ⋄ ⍺⍺⍣¯1⊢⍵}(⍵⍵ ⍺)⍺⍺ ⍵⍵ ⍵} ⍝ under
U←⎕UCS
Ut←⎕NUNTIE
V←⊃⎕VFI
Vf←//⎕VFI
X←⎕XML
Xs←⎕NEXISTS
Ý←{⍺←2 ⋄ ⍵*÷⍺} ⍝ sqrt
y←{⍺⍺ ⍵} ⍝ ignore left
:EndNamespace