diff options
| -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 |
