range->vector
Marc Nieper-Wißkirchen
(01 Sep 2020 11:29 UTC)
|
Re: range->vector
John Cowan
(01 Sep 2020 15:29 UTC)
|
Re: range->vector
Marc Nieper-Wißkirchen
(01 Sep 2020 15:45 UTC)
|
Re: range->vector
Wolfgang Corcoran-Mathe
(01 Sep 2020 16:33 UTC)
|
Re: range->vector
John Cowan
(01 Sep 2020 17:12 UTC)
|
Re: range->vector
Marc Nieper-Wißkirchen
(01 Sep 2020 17:27 UTC)
|
Re: range->vector
Wolfgang Corcoran-Mathe
(01 Sep 2020 17:34 UTC)
|
Re: range->vector
Marc Nieper-Wißkirchen
(01 Sep 2020 17:36 UTC)
|
Re: range->vector
Arthur A. Gleckler
(01 Sep 2020 17:37 UTC)
|
Re: range->vector
Marc Nieper-Wißkirchen
(01 Sep 2020 17:38 UTC)
|
Re: range->vector
Wolfgang Corcoran-Mathe
(01 Sep 2020 17:46 UTC)
|
Re: range->vector
John Cowan
(01 Sep 2020 18:23 UTC)
|
Re: range->vector
Arthur A. Gleckler
(01 Sep 2020 18:40 UTC)
|
Re: range->vector
John Cowan
(01 Sep 2020 18:42 UTC)
|
Re: range->vector
Marc Nieper-Wißkirchen
(01 Sep 2020 18:52 UTC)
|
Re: range->vector
Marc Nieper-Wißkirchen
(01 Sep 2020 19:22 UTC)
|
Re: range->vector
John Cowan
(03 Sep 2020 00:15 UTC)
|
Re: range->vector
Wolfgang Corcoran-Mathe
(03 Sep 2020 02:27 UTC)
|
Re: range->vector
John Cowan
(03 Sep 2020 03:35 UTC)
|
Re: range->vector
Marc Nieper-Wißkirchen
(03 Sep 2020 06:47 UTC)
|
Re: range->vector
Wolfgang Corcoran-Mathe
(03 Sep 2020 18:04 UTC)
|
Re: range->vector
Wolfgang Corcoran-Mathe
(03 Sep 2020 18:27 UTC)
|
Re: range->vector
Marc Nieper-Wißkirchen
(03 Sep 2020 19:10 UTC)
|
Re: range->vector
Wolfgang Corcoran-Mathe
(03 Sep 2020 20:32 UTC)
|
Re: range->vector Wolfgang Corcoran-Mathe (03 Sep 2020 07:11 UTC)
|
Re: range->vector
Marc Nieper-Wißkirchen
(03 Sep 2020 07:14 UTC)
|
On 2020-09-02 23:35 -0400, John Cowan wrote: > Range-reverse is safe unless you reverse the range over and over (which is > unlikely), because the reverser part is trivially O(1). OK. A thought: What do you think about keeping the indexer-composing version in the two-range case of range-append? e.g. (define range-append (case-lambda ; ... ((ra rb) ; two-range fast path (let ((la (range-length ra)) (lb (range-length rb))) (raw-range 0 (+ la lb) (lambda (i) (if (< i la) (range-ref ra i) (range-ref rb (- i la))))))) ; ... )) This indexer is O(1) on its own, and successive two-range appends would, in essence, build a binary search tree associating indices with ranges. The variadic case would still return a vector-style range. -- Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz> "The usual way in which we plan today for tomorrow is in yesterday's vocabulary." --Edsger W. Dijkstra