Re: [Scheme-reports] fresh empty strings
Ray Dillinger
(24 Jan 2012 16:53 UTC)
|
Re: [Scheme-reports] fresh empty strings
John Cowan
(24 Jan 2012 19:05 UTC)
|
Re: [Scheme-reports] fresh empty strings
Per Bothner
(24 Jan 2012 19:25 UTC)
|
Re: [Scheme-reports] fresh empty strings
John Cowan
(24 Jan 2012 20:26 UTC)
|
Re: [Scheme-reports] fresh empty strings
Per Bothner
(24 Jan 2012 20:46 UTC)
|
Re: [Scheme-reports] fresh empty strings
John Cowan
(24 Jan 2012 21:20 UTC)
|
Re: [Scheme-reports] fresh empty strings
Alex Shinn
(25 Jan 2012 00:26 UTC)
|
Re: [Scheme-reports] fresh empty strings
Per Bothner
(25 Jan 2012 01:09 UTC)
|
Re: [Scheme-reports] fresh empty strings
Alex Shinn
(25 Jan 2012 02:08 UTC)
|
Re: [Scheme-reports] fresh empty strings
John Cowan
(25 Jan 2012 02:31 UTC)
|
Re: [Scheme-reports] fresh empty strings
Alex Shinn
(25 Jan 2012 02:35 UTC)
|
Re: [Scheme-reports] fresh empty strings
John Cowan
(25 Jan 2012 02:44 UTC)
|
Re: [Scheme-reports] fresh empty strings
Alex Shinn
(25 Jan 2012 03:26 UTC)
|
Re: [Scheme-reports] fresh empty strings
Per Bothner
(25 Jan 2012 03:43 UTC)
|
Re: [Scheme-reports] fresh empty strings
Alex Shinn
(25 Jan 2012 12:58 UTC)
|
Re: [Scheme-reports] fresh empty strings Per Bothner (25 Jan 2012 19:59 UTC)
|
Re: [Scheme-reports] fresh empty strings
Alex Shinn
(25 Jan 2012 23:49 UTC)
|
Re: [Scheme-reports] fresh empty strings
John Cowan
(25 Jan 2012 21:00 UTC)
|
Re: [Scheme-reports] fresh empty strings
Ray Dillinger
(25 Jan 2012 18:57 UTC)
|
Re: [Scheme-reports] fresh empty strings
John Cowan
(25 Jan 2012 01:38 UTC)
|
On 01/25/2012 04:57 AM, Alex Shinn wrote: > Oh, by all means use a gap buffer (or whatever you want) > for the reference implementation! But I still fail to see why > that has to be exposed in the API... or even _can_ be in > most cases. I don't I've suggested "exposing" the implementation in the API. > Perhaps you're just referring to the fact that there will > be an implicit cursor, No, that's not a factor. My point is simple: (1) Scheme has mutable fixed-length strings. The "implied" implementation is a simple array,though that doesn't mean the implementation is "exposed". (2) Mutable fixed-length strings don't really make sense in the Unicode world. (3) A conservative extension to the Scheme string API would be to support variable-length strings, with append/insert/delete/replace operations. (4) Buffer-gap is a reasonable implementation of (3); if works well as a conservative extension of the traditional simple array in (1). (5) Buffer-gap obviously has some performance problems: Substring operations and copying come to mind. But it shares those with the simple array-based implementation implied by (1). (6) Neither the traditional Scheme string API or one enhanced to variable-length strings *preclude* a more sophisticated string implementation, but such an implementation may be overkill for the default string implementation of a general-purpose Scheme implementation. >but there are a number of data > structures that make the same assumption. A good > survey is here: > > http://www.cs.unm.edu/~crowley/papers/sds/sds.html Thanks - I'll read it. Do you have a reference that actually includes the figures? -- --Per Bothner per@bothner.com http://per.bothner.com/ _______________________________________________ Scheme-reports mailing list Scheme-reports@scheme-reports.org http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports