diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-04-18 14:34:34 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-04-18 14:34:34 -0400 |
| commit | cd62770ab91790233d49fe440d8e9f88abfa8b1e (patch) | |
| tree | a0fcaec585cbd2c932ab58814deff9ba62975dfa /commentary/sbcs.bqn | |
| parent | 225a30537acfeb3efe2a7730e5d1a063cc537047 (diff) | |
Add script for SBCS encoding, for code golf
Diffstat (limited to 'commentary/sbcs.bqn')
| -rw-r--r-- | commentary/sbcs.bqn | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/commentary/sbcs.bqn b/commentary/sbcs.bqn new file mode 100644 index 00000000..1217d919 --- /dev/null +++ b/commentary/sbcs.bqn @@ -0,0 +1,26 @@ +# Single-Byte Character System (SBCS) for BQN +# This file implements an alternative character encoding for BQN, in +# which each character uses one byte. +# It must exist in order to count BQN characters as bytes for code golf, +# but never needs to be used. +# +# To use: +# $ bqn sbcs.bqn -ef infile.bqn outfile.bqn # Encode with SBCS +# $ bqn sbcs.bqn outfile.bqn # Run with SBCS + +cs←"×÷⋆√⌊⌈¬∧∨≠≤≥≡≢⊣⊢⥊∾≍↑↓↕«»⌽⍉⍋⍒⊏⊑⊐⊒∊⍷⊔˙˜˘¨⌜⁼´˝∘○⊸⟜⌾⊘◶⎉⚇⍟⎊⋄⇐←↩⟨⟩‿·𝕊𝕏𝕎𝔽𝔾𝕤𝕩𝕨𝕗𝕘π∞¯•" +base←@+128 +off←0∾˜cs-base+↕≠cs + +Decode ← (off(⊣⊏˜¯1⌈≠⊸⌊)-⟜base)⊸+ +Encode ← -⟜(cs⊸⊐⊏off˙) + +WriteFile ← •FBytes⟜Encode +RunFile ← •BQN Decode∘•FBytes + +(⊑"-e"‿"-ef"‿"--"⊐⊏)◶⟨ + •Out∘Encode 1⊸⊑ + WriteFile⟜•FChars˜´ 1⊸↓ + RunFile 1⊸⊑ + RunFile ⊑ +⟩ •args |
