From cab354265bc76a69125240a66fab4cca0e8f176e Mon Sep 17 00:00:00 2001 From: dzaima Date: Thu, 18 Aug 2022 09:50:45 +0300 Subject: [PATCH] compact strings --- cc.bqn | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cc.bqn b/cc.bqn index 993fb9cd..28b8af0d 100755 --- a/cc.bqn +++ b/cc.bqn @@ -23,7 +23,10 @@ Esc←{ } U32Len ← (≠ - ·+´ ≥⟜55296 ∧ ≤⟜56319)-⟜@ # for dzaima/BQN; shouldn't break things in proper BQN impls, as surrogate values don't map to valid codepoints -OStr ← {∾⟨"m_c32vec","(U""",Esc𝕩,""",",•Repr U32Len 𝕩,")"⟩} # A BQN string +OStr ← { # A BQN string + a←∧´𝕩<128+@ + ∾⟨a⊑"m_c32vec"‿"m_c8vec","(",a¬⊸⥊"U","""",Esc𝕩,""",",•Repr U32Len 𝕩,")"⟩ +} OChr ← {"m_c32(U'"∾(Esc⥊𝕩)∾"')"} # A BQN character ONum ← {s←"-"/˜𝕩<0 ⋄ ∞⊸=∘|◶⟨"m_f64("∾")"∾˜s∾F∘| ⋄ "m_f64("∾s∾"1.0/0.0)"⟩𝕩} # Format number OAny ← ≡◶⟨@⊸≤◶ONum‿OChr, OStr, ⊑⟩