- = case break isSep src
- of (last , [] ) → [last]
- (first, _sep:rest) → first : splitBy isSep rest
-
--- |> joinWith ":" ["ab", "c", "def"]
--- > ==> "ab:c:def"
-joinWith ∷ Ascii → [AsciiBuilder] → AsciiBuilder
-{-# INLINEABLE joinWith #-}
-joinWith sep = flip go (∅)
- where
- go ∷ [AsciiBuilder] → AsciiBuilder → AsciiBuilder
- {-# INLINE go #-}
- go [] ab = ab
- go (x:[]) ab = ab ⊕ x
- go (x:xs) ab = go xs (ab ⊕ A.toAsciiBuilder sep ⊕ x)
+ = case break isSep src of
+ (last , [] ) → [last]
+ (first, _sep:rest) → first : splitBy isSep rest