05AB1E icon indicating copy to clipboard operation
05AB1E copied to clipboard

05AB1E Corpus

Open ghost opened this issue 3 years ago • 1 comments

Similar to this issue opened in the Jelly repo and this issue opened in the Husk repo, I decided to run Lynn's method on 05AB1E answers (with a few modifications).

SEDE query used to get all 05AB1E answers on CGCC. Code used to analyze the data. Final corpus.

 Digraphs: Trigraphs: Quadgraphs:
   261 vy     57 34ç     38 qqqq 
   113 })     40 qqq     32 "D34 
   100 Dg     32 "D3     32 D34ç 
    96 2ô     32 D34     30 34çý 
    91 .•     31  =      25 "34ç 
    85 .V     30 4çý     23 AAAA 
    84 Qi     29 AAA     19 ) =  
    81 ðý     25 "34     18 34çì 
    79 sè     22 γ€g     16 4çìD 
    76 2ä     20 ∞.Δ     12 0"D3 
    74 €g     19 vyN     10 çìD« 
    73 Q}     19 ˆ}¯      9 {γ€g 
    71 .Δ     19 ) =      9 ‚•„í 
    71 .ø     18 4çì      9 •„í† 
    67 12     18 øvy      9 „í†ì 
    66 34     17 vy`      9 í†ìˆ 
    61 '-     17 è.V      9 †ìˆÈ 
    59 '.     16 vDy      9 ìˆÈŒ 
    57 4ç     16 çìD      9 ˆÈŒš 
    56 Nè     15 }})      9 ÈŒšï 
    55 }}     14 nOt      9 Œšï¿ 
    55  ÿ     14 XXX      9 šï¿Ÿ 
    54 }J     14 ƶ0K      9 ï¿Ÿ¯ 
    52 .c     13 Sðý      9 ¿Ÿ¯¥ 
    51 0K     13 '-×      9 Ÿ¯¥Š 
    50 SO     13 ÂQ}      8 DÙQ} 
    48 D3     13 2ä`      8 ºS₂+ 
    47 ,      13 #vy      8 ƒËŠˆ 
    47 εD     12 yåi      8 ʒÂQ} 
    47 3ô     12 DÙQ      8 €µ‚• 

Remarks:

Digraphs:

I think pretty much everything here should be added as a one-byte builtin. If these were all 1 byte builtins, there will be a dramatic improvement in 05AB1E's golfiness.

  • vy is the most common digraph here. So we need an enumerated map command that auto-pushes the current iterated variable.
  • For }), a one-byte built-in should be made that 1) closes the current if statement/loop and 2) Wraps entire stack into a list.
  • .• and .V are very common in this list. 1-byte alternatives should definitely be made for those.
  • Apparently, Dg (Duplicate + length) is pretty common, so a one-byte built-in should be made for this.
  • 05AB1E doesn't have a built-in for (split into chunks of length 2). So we also need a builtin for this.
  • Qi: We probably need to make an if that compares equality in advance.
  • ðý: Command that joins by spaces.
  • : Indexing command with swapped arguments.
  • : Apparently, splitting something into two halves is quite common as well.
  • €g: Map every item by length.
  • : Make it a one-byte built-in, the other option is explained below.
  • : We need a one-byte command for surround.
  • '. and '-: Apparently, these get used pretty often.
  • : Guess it's caused by the lack of a quote (34ç) builtin
  • : Index by iteration variable - sounds good for a one byte builtin
  • ÿ: Implicit prepending space can be useful in string interpolation.
  • }J: Looks like people want to join after looping

Trigraphs:

  • 34ç is the most common trigraph. So this should just be a one or two byte built-in.
  • ∞.Δ: A command that does over [1 .. ∞]. I think making a one-byte built-in is better than making this a two-byte built-in, since appears much more frequently.

Quadgraphs:

I think all of the quadgraphs here are either 1) overly specific; 2) covered by Digraphs/Trigraphs; or 3) inside a string.

ghost avatar Apr 05 '21 09:04 ghost

A list of most common 1-byte builtins:

1862 .
1805 }
1683 D
1271 s
1195 O
1076 I
1045 €
1003 '
1002 y
 998 2
 922 g
 887 J
 871 0
 867 •
 859 *
 833 1
 832 ε
 819 Q
 809 i
 798 N
 786 3
 775 "
 757 +
 735 è
 710 L
 697 S
 694 «
 690 ®
 679 ¹
 658 -
 635 R
 633 <
 633  
 624 >
 621 ø
 609 v
 592 `
 586 4
 582 ‚
 570 )
 568 Å
 562 P
 531 X
 521 ×
 519 ©
 513 _
 499 ð
 495 ʒ
 491 F
 489 #
 475 ž
 467 „
 466 ,
 454 /
 444 »
 417 ¦
 415 ˜
 408 å
 375 5
 367 6
 361 K
 356 ô
 353 A
 341 Ý
 339 U
 336 :
 332 n
 331 ¨
 330 [
 329 {
 328 ¡
 326 ]
 323 £
 320 …
 320 T
 317 ì
 316 (
 316 k
 312 %
 308 ý
 303 θ
 302 н
 291 ë
 289 Â
 284 ¢
 282 ·
 282 \
 281 b
 279 9
 278 ;
 271 ‹
 269 Ù
 266 |
 265 m
 265 Ð
 264 o
 263 à
 263 =
 262 œ
 261 δ
 258 r
 257 ÿ
 257 “
 256 ‡
 255 ?
 254 V
 250 š
 246 7
 246 ā
 243 ¥
 243 Δ
 242 ²
 240 p
 233 ˆ
 232 ã
 223 í
 222 ć
 220 t
 218 u
 216 ¬
 215 l
 215 в
 210 Œ
 210 8
 208 Ë
 206 Z
 205 Ï
 204 ÷
 204 B
 203 α
 202 Ÿ
 201 ª
 199 Ç
 197 a
 196 ›
 195 ç
 195 d
 195 ∞
 191 ”
 189 ¾
 189 ï
 187 ¯
 186 ü
 185 @
 185 Š
 185 ä
 184 γ
 180 ¤
 178 !
 177 Y
 177 c
 171 e
 169 ¸
 167 Ä
 166 É
 164 Ā
 164 η
 163 Ž
 162 æ
 154 Ö
 154 ’
 153 ú
 150 т
 149 C
 147 À
 147 x
 146 M
 146 Á
 146 õ
 143 Æ
 143 ß
 142 q
 142 û
 141 ™
 141 h
 141 È
 140 ζ
 140 G
 139 °
 138 W
 136 ƒ
 134 Ã
 133 Ω
 132 â
 131 ǝ
 131 Σ
 130 f
 123 ¼
 123 ¿
 122 ‰
 122 ^
 121 Í
 120 ≠
 118 ¶
 116 $
 115 Ñ
 115 и
 112 Ì
 112 Ê
 112 ∍
 111 ι
 110 z
 110 ê
 109 º
 109 µ
 105 þ
 103 î
 103 &
 103 Ƶ
 101 Î
 101 é
  97 á
  97 Ò
  97 E
  93 ù
  93 ƶ
  93 ₂
  92 ~
  91 β
  91 Ć
  87 Ø
  87 ³
  85 ₄
  85 †
  84 Θ
  81 H
  81 w
  80 Ü
  80 j
  75 м
  73 ±
  73 λ
  70 ₁
  70 Ó
  69 ½
  66 Λ
  66 —
  64 ‘
  63 ö
  63 –
  61 ´
  55 ò
  54 Û
  53 Ô
  51 Þ
  46 Γ
  44 §
  42 ₅
  41 ∊
  40 Ú
  38 ₆
  37 ₃
  35 Õ
  32 ó
  23 ñ
   2 Ё

jfioasd avatar Apr 13 '23 08:04 jfioasd