@@ -145,7 +145,7 @@ instance : Std.Iterators.Iterator (SplitIterator pat s) Id Slice where
145145 | ⟨.operating currPos searcher⟩ =>
146146 match h : searcher.step with
147147 | ⟨.yield searcher' (.matched startPos endPos), hps⟩ =>
148- let slice := s.replaceStartEnd ! currPos startPos
148+ let slice := s.slice ! currPos startPos
149149 let nextIt := ⟨.operating endPos searcher'⟩
150150 pure (.deflate ⟨.yield nextIt slice, by simp [nextIt, hps.isPlausibleSuccessor_of_yield]⟩)
151151 | ⟨.yield searcher' (.rejected ..), hps⟩ =>
@@ -155,7 +155,7 @@ instance : Std.Iterators.Iterator (SplitIterator pat s) Id Slice where
155155 pure (.deflate ⟨.skip ⟨.operating currPos searcher'⟩,
156156 by simp [hps.isPlausibleSuccessor_of_skip]⟩)
157157 | ⟨.done, _⟩ =>
158- let slice := s.replaceStart currPos
158+ let slice := s.sliceFrom currPos
159159 pure (.deflate ⟨.yield ⟨.atEnd⟩ slice, by simp⟩)
160160 | ⟨.atEnd⟩ => pure (.deflate ⟨.done, by simp⟩)
161161
@@ -241,7 +241,7 @@ instance : Std.Iterators.Iterator (SplitInclusiveIterator pat s) Id Slice where
241241 | ⟨.operating currPos searcher⟩ =>
242242 match h : searcher.step with
243243 | ⟨.yield searcher' (.matched _ endPos), hps⟩ =>
244- let slice := s.replaceStartEnd ! currPos endPos
244+ let slice := s.slice ! currPos endPos
245245 let nextIt := ⟨.operating endPos searcher'⟩
246246 pure (.deflate ⟨.yield nextIt slice,
247247 by simp [nextIt, hps.isPlausibleSuccessor_of_yield]⟩)
@@ -253,7 +253,7 @@ instance : Std.Iterators.Iterator (SplitInclusiveIterator pat s) Id Slice where
253253 by simp [hps.isPlausibleSuccessor_of_skip]⟩)
254254 | ⟨.done, _⟩ =>
255255 if currPos != s.endPos then
256- let slice := s.replaceStart currPos
256+ let slice := s.sliceFrom currPos
257257 pure (.deflate ⟨.yield ⟨.atEnd⟩ slice, by simp⟩)
258258 else
259259 pure (.deflate ⟨.done, by simp⟩)
@@ -337,7 +337,7 @@ Examples:
337337 -/
338338@[inline]
339339def dropPrefix? (s : Slice) (pat : ρ) [ForwardPattern pat] : Option Slice :=
340- (ForwardPattern.dropPrefix? pat s).map s.replaceStart
340+ (ForwardPattern.dropPrefix? pat s).map s.sliceFrom
341341
342342/--
343343If {name}`pat` matches a prefix of {name}`s`, returns the remainder. Returns {name}`s` unmodified
@@ -377,7 +377,7 @@ def replace [ToSlice α] (s : Slice) (pattern : ρ) [ToForwardSearcher pattern
377377 String :=
378378 (ToForwardSearcher.toSearcher pattern s).fold (init := "" ) (fun
379379 | sofar, .matched .. => sofar ++ ToSlice.toSlice replacement
380- | sofar, .rejected start stop => sofar ++ s.replaceStartEnd ! start stop )
380+ | sofar, .rejected start stop => sofar ++ s.slice ! start stop )
381381
382382/--
383383Removes the specified number of characters (Unicode code points) from the start of the slice.
@@ -391,7 +391,7 @@ Examples:
391391 -/
392392@[inline]
393393def drop (s : Slice) (n : Nat) : Slice :=
394- s.replaceStart (s.startPos.nextn n)
394+ s.sliceFrom (s.startPos.nextn n)
395395
396396/--
397397Creates a new slice that contains the longest prefix of {name}`s` for which {name}`pat` matched
@@ -409,13 +409,13 @@ def dropWhile (s : Slice) (pat : ρ) [ForwardPattern pat] : Slice :=
409409where
410410 @[specialize pat]
411411 go (curr : s.Pos) : Slice :=
412- if let some nextCurr := ForwardPattern.dropPrefix? pat (s.replaceStart curr) then
413- if curr < Pos.ofReplaceStart nextCurr then
414- go (Pos.ofReplaceStart nextCurr)
412+ if let some nextCurr := ForwardPattern.dropPrefix? pat (s.sliceFrom curr) then
413+ if curr < Pos.ofSliceFrom nextCurr then
414+ go (Pos.ofSliceFrom nextCurr)
415415 else
416- s.replaceStart curr
416+ s.sliceFrom curr
417417 else
418- s.replaceStart curr
418+ s.sliceFrom curr
419419 termination_by curr
420420
421421/--
@@ -449,7 +449,7 @@ Examples:
449449 -/
450450@[inline]
451451def take (s : Slice) (n : Nat) : Slice :=
452- s.replaceEnd (s.startPos.nextn n)
452+ s.sliceTo (s.startPos.nextn n)
453453
454454/--
455455Creates a new slice that contains the longest prefix of {name}`s` for which {name}`pat` matched
@@ -469,13 +469,13 @@ def takeWhile (s : Slice) (pat : ρ) [ForwardPattern pat] : Slice :=
469469where
470470 @[specialize pat]
471471 go (curr : s.Pos) : Slice :=
472- if let some nextCurr := ForwardPattern.dropPrefix? pat (s.replaceStart curr) then
473- if curr < Pos.ofReplaceStart nextCurr then
474- go (Pos.ofReplaceStart nextCurr)
472+ if let some nextCurr := ForwardPattern.dropPrefix? pat (s.sliceFrom curr) then
473+ if curr < Pos.ofSliceFrom nextCurr then
474+ go (Pos.ofSliceFrom nextCurr)
475475 else
476- s.replaceEnd curr
476+ s.sliceTo curr
477477 else
478- s.replaceEnd curr
478+ s.sliceTo curr
479479 termination_by curr
480480
481481/--
@@ -579,7 +579,7 @@ instance [Pure m] : Std.Iterators.Iterator (RevSplitIterator ρ s) m Slice where
579579 | ⟨.operating currPos searcher⟩ =>
580580 match h : searcher.step with
581581 | ⟨.yield searcher' (.matched startPos endPos), hps⟩ =>
582- let slice := s.replaceStartEnd ! endPos currPos
582+ let slice := s.slice ! endPos currPos
583583 let nextIt := ⟨.operating startPos searcher'⟩
584584 pure (.deflate ⟨.yield nextIt slice, by simp [nextIt, hps.isPlausibleSuccessor_of_yield]⟩)
585585 | ⟨.yield searcher' (.rejected ..), hps⟩ =>
@@ -590,7 +590,7 @@ instance [Pure m] : Std.Iterators.Iterator (RevSplitIterator ρ s) m Slice where
590590 by simp [hps.isPlausibleSuccessor_of_skip]⟩)
591591 | ⟨.done, _⟩ =>
592592 if currPos ≠ s.startPos then
593- let slice := s.replaceEnd currPos
593+ let slice := s.sliceTo currPos
594594 pure (.deflate ⟨.yield ⟨.atEnd⟩ slice, by simp⟩)
595595 else
596596 pure (.deflate ⟨.done, by simp⟩)
@@ -672,7 +672,7 @@ Examples:
672672 -/
673673@[inline]
674674def dropSuffix? (s : Slice) (pat : ρ) [BackwardPattern pat] : Option Slice :=
675- (BackwardPattern.dropSuffix? pat s).map s.replaceEnd
675+ (BackwardPattern.dropSuffix? pat s).map s.sliceTo
676676
677677/--
678678If {name}`pat` matches a suffix of {name}`s`, returns the remainder. Returns {name}`s` unmodified
@@ -705,7 +705,7 @@ Examples:
705705 -/
706706@[inline]
707707def dropEnd (s : Slice) (n : Nat) : Slice :=
708- s.replaceEnd (s.endPos.prevn n)
708+ s.sliceTo (s.endPos.prevn n)
709709
710710/--
711711Creates a new slice that contains the longest suffix of {name}`s` for which {name}`pat` matched
@@ -722,13 +722,13 @@ def dropEndWhile (s : Slice) (pat : ρ) [BackwardPattern pat] : Slice :=
722722where
723723 @[specialize pat]
724724 go (curr : s.Pos) : Slice :=
725- if let some nextCurr := BackwardPattern.dropSuffix? pat (s.replaceEnd curr) then
726- if Pos.ofReplaceEnd nextCurr < curr then
727- go (Pos.ofReplaceEnd nextCurr)
725+ if let some nextCurr := BackwardPattern.dropSuffix? pat (s.sliceTo curr) then
726+ if Pos.ofSliceTo nextCurr < curr then
727+ go (Pos.ofSliceTo nextCurr)
728728 else
729- s.replaceEnd curr
729+ s.sliceTo curr
730730 else
731- s.replaceEnd curr
731+ s.sliceTo curr
732732 termination_by curr.down
733733
734734/--
@@ -762,7 +762,7 @@ Examples:
762762 -/
763763@[inline]
764764def takeEnd (s : Slice) (n : Nat) : Slice :=
765- s.replaceStart (s.endPos.prevn n)
765+ s.sliceFrom (s.endPos.prevn n)
766766
767767/--
768768Creates a new slice that contains the suffix prefix of {name}`s` for which {name}`pat` matched
@@ -781,13 +781,13 @@ def takeEndWhile (s : Slice) (pat : ρ) [BackwardPattern pat] : Slice :=
781781where
782782 @[specialize pat]
783783 go (curr : s.Pos) : Slice :=
784- if let some nextCurr := BackwardPattern.dropSuffix? pat (s.replaceEnd curr) then
785- if Pos.ofReplaceEnd nextCurr < curr then
786- go (Pos.ofReplaceEnd nextCurr)
784+ if let some nextCurr := BackwardPattern.dropSuffix? pat (s.sliceTo curr) then
785+ if Pos.ofSliceTo nextCurr < curr then
786+ go (Pos.ofSliceTo nextCurr)
787787 else
788- s.replaceStart curr
788+ s.sliceFrom curr
789789 else
790- s.replaceStart curr
790+ s.sliceFrom curr
791791 termination_by curr.down
792792
793793/--
0 commit comments