[Cuis-dev] UTF-8 Unicode editors

ken.dickey at whidbey.com ken.dickey at whidbey.com
Mon May 2 06:58:29 PDT 2022


On 2022-05-02 06:10, Juan Vuletich via Cuis-dev wrote:
> On 5/1/2022 1:59 AM, Douglas Brebner via Cuis-dev wrote:
..
>> What about using Ken's Ropes?
> 
> I think this is independent of Ropes. Ropes are great for very large
> text. Rope fragments should be sequences of UTF-8 bytes. So Ropes
> should be a third representation, and should be completely compatible
> with StringUTF8. Applications should be able to pick their preferred
> representation.

Quick note.  As Ropes are immutable, changes/updates return a new Rope.

This is great for multicore (no locking required), and great for "undo" 
(just go back to the previous rope), but no mutation means no mutation 
in place.

So updates look like
   textStr := textStr at: 37 put: $%.
or some such.

An application can choose which style to use, but must be aware to use 
the proper style.  Undo is easier, but different.

Cedar Mesa is an example of a significant IDE/system which only used 
Ropes, never Strings.

HTH,
-KenD


More information about the Cuis-dev mailing list