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, ⊑⟩