Description
Regex type and overview
- TODO: Draft/PR/Thread
Presents basic Regex type and gives an overview of how everything fits into the overall story
TODO: Should we pull more into this topic, perhaps either typed captures or more run-time creation aspects?
Run-time Regex construction
- Pitch thread: Regex Syntax
- Brief: Syntactic superset of PCRE2, Oniguruma, ICU, UTS#18, etc.
- TODO: Pull in discussion of initializers, extended syntaxes, and
AnyRegexOutput
into this thread
Covers the "interior" syntax, extended syntaxes, run-time construction of a regex from a string, and details of AnyRegexOutput
.
Regex literals
- TODO: Thread
- Draft: delimiters
- (Old) original pitch:
Covers the choice of regex delimiter and integration into the Swift programming language.
TODO: Should we pull more into this topic? E.g. introducing typed captures here?
Regex builder DSL
Covers the result builder approach and basic API.
String processing algorithms
Proposes a slew of Regex-powered algorithms.
Introduces CustomMatchingRegexComponent
, which is a monadic-parser style interface for external parsers to be used as components of a regex.
Unicode for String Processing
TODO: Where is this at @natecook1000?
Covers three topics:
- Proposes literal and DSL API for library-defined character classes, Unicode scripts and properties, and custom character classes.
- Proposes literal and DSL API for options that affect matching behavior.
- Defines how Unicode scalar-based classes are extended to grapheme clusters in the different semantic and other matching modes.
TODO:
- Pitch API for character classes/scripts/etc. (by 2/25)
- Pitch option API (by 2/25)
- Verify grapheme-break semantics (by 2/28)
Target date: Proposal ready for review by 3/7
⏳ SE-0348: buildPartialBlock
for result builders
(Old) Overview
Introduces our general approach: regex literals and result builders together.
(Old) Pitch: Regular expression literals
(Old) Pitch: Strongly typed regex captures
Presents the basic result builder approach of putting type arity and kind of capture in generic type parameter position.
The pitch proposes that the whole match ("capture 0") also be a generic parameter, pending a deeper look into details concerning variadic generics and/or additional result builder API.
TODO: Probably makes sense to slurp this up into one of the other pitches.