Re: How do you use Data.Text.intersperse :: Char -> Text -> Text?
Carter Schonwald <[email protected]> Tue, 29 Jun 2021 12:29:47 -0400
| Newsgroups | gmane.comp.lang.haskell.libraries |
|---|---|
| Message-ID | <CAHYVw0zF0WLOXLxMjetqedCVt=f4bhru_TX732ZpS0YkO2=Q-A@mail.gmail.com> |
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 <[email protected]> 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 < > [email protected]> wrote: > >> On Sun, 27 Jun 2021 at 12:44, Andreas Abel <[email protected]> >> 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 >>> > [email protected] >>> > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries >>> > >>> _______________________________________________ >>> Libraries mailing list >>> [email protected] >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries >>> >> >> >> -- >> Ivan Lazar Miljenovic >> [email protected] >> http://IvanMiljenovic.wordpress.com >> _______________________________________________ >> Libraries mailing list >> [email protected] >> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries >> > > _______________________________________________ > Libraries mailing [email protected]://mail.haskell.org/cgi-bin/mailman/listinfo/libraries > > -- > Hécate ✨ > 🐦: @TechnoEmpress > IRC: Hecate > WWW: https://glitchbra.in > RUN: BSD > > _______________________________________________ > Libraries mailing list > [email protected] > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries > _______________________________________________ Libraries mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries