How do you use Data.Text.intersperse :: Char -> Text -> Text?

Carter Schonwald carter.schonwald at gmail.com
Tue Jun 29 16:29:47 UTC 2021


Cool!
Looks like the approach there is to not have a character type, but treat
code points as just tiny strings which can be mapped to integers?

I kind have this fuzzy idea Haskell and a lot of other languages use the
extended ascii character set in a sortah punned way that conflates binary
and textual data.  And that’s ignoring how most western / native English
software folks naively treat  chars as graphemes / atomic units of
rendering, when this falls apart when engineering for internationally
friendly software.

On Mon, Jun 28, 2021 at 3:43 AM Hécate <hecate at glitchbra.in> wrote:

> Carter, you might want to take a look at Elixir's standard library, which
> (in my experience) has a good position when it comes to graphemes
> https://hexdocs.pm/elixir/String.html
> Le 27/06/2021 à 15:58, Carter Schonwald a écrit :
>
> More deeply, it doesn’t suffice to guarantee you’re gonna have a well
> formed unicode sequence!
>
> It’d need to be grapheme -> text -> text  right?
>
> I’ve def wanted to dig into how to make programming more grapheme oriented
> for text at some point.  I think swift explcitly does this in their
> standard libraries ?
>
> On Sun, Jun 27, 2021 at 1:37 AM Ivan Lazar Miljenovic <
> ivan.miljenovic at gmail.com> wrote:
>
>> On Sun, 27 Jun 2021 at 12:44, Andreas Abel <andreas.abel at ifi.lmu.de>
>> wrote:
>>
>>>  > `intersperse :: Char -> Text -> Text`
>>>
>>> Yeah, that looks silly indeed.  Should be pruned or marked as spam.
>>>
>>
>> "Spam" is a bit harsh.  And it does indeed have some use (albeit
>> primarily with test suites and quite possibly more efficient ways to do the
>> required task anyway):
>> https://github.com/search?l=Haskell&q=Text.intersperse&type=Code
>>
>>
>>
>>>
>>> On 2021-06-27 01:33, Andrew Lelechenko wrote:
>>> > I know applications for `intercalate :: Text -> [Text] -> Text`:
>>> `unwords`, `unlines`, etc. But what is `intersperse :: Char -> Text ->
>>> Text` good for? Am I correct assuming that its sole merit is to mimic
>>> `Data.List` API? Note that `Data.List.intersperse` is polymorphic and is
>>> exceedingly rarely used for `Char -> String -> String`.
>>> >
>>> > Best regards,
>>> > Andrew
>>> > _______________________________________________
>>> > Libraries mailing list
>>> > Libraries at haskell.org
>>> > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>>> >
>>> _______________________________________________
>>> Libraries mailing list
>>> Libraries at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>>>
>>
>>
>> --
>> Ivan Lazar Miljenovic
>> Ivan.Miljenovic at gmail.com
>> http://IvanMiljenovic.wordpress.com
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>>
>
> _______________________________________________
> Libraries mailing listLibraries at haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
> --
> Hécate ✨
> 🐦: @TechnoEmpress
> IRC: Hecate
> WWW: https://glitchbra.in
> RUN: BSD
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20210629/22789bfc/attachment.html>


More information about the Libraries mailing list