From cd62770ab91790233d49fe440d8e9f88abfa8b1e Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sun, 18 Apr 2021 14:34:34 -0400 Subject: Add script for SBCS encoding, for code golf --- commentary/sbcs.bqn | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 commentary/sbcs.bqn (limited to 'commentary') 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 -- cgit v1.2.3