В последните няколко статии прегледахме различните типове низове в Haskell и споменах няколко пъти „ефективност“. Но какво означава това? Трябва да е малко по-ясно с Bytestrings. Като използваме по-компактно представяне на данните и оперираме с тип от по-ниско ниво като Word8, нашите низове ще заемат по-малко място в паметта и ще имат повече непрекъснатост. Това прави операциите върху тях по-ефективни. Но какво точно е в Text, което го прави по-ефективен от използването на String?

Една част от отговора на това е концепцията за синтеза. През…