Richard Gibson
Richard Gibson
The `Location` header field value is specified by [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html#field.location) to be an [RFC 3986 URI-reference](https://www.rfc-editor.org/rfc/rfc3986.html#section-4.1) (_which does not allow characters outside the ASCII range or quirks such as [tab...
Right, it's currently just under the undefined behavior umbrella of [RFC 9110 Error Handling](https://www.rfc-editor.org/rfc/rfc9110.html#section-2.4): > Unless noted otherwise, a recipient **MAY** attempt to recover a usable protocol element from an...
> This was a lot to review, and the similarity was pretty much only in that they change the same sections. I'd really prefer these get split into separate PRs....
> if you just opened some PRs that re-ordered some AOs, that could get 2 stamps within the hour and be out of our hair. #3632
Without diving into this PR just yet, I'd like to draw your attention to #2285 (emphasis mine): > I think we'd be better off replacing `(cond: boolean, details?: Details |...
Possibly relevant: https://github.com/endojs/endo/pull/2851#issuecomment-2960167182 (cf. #2285)
I am in general much more inclined towards making decisions based on Hyrum's Law than the Postel Principle, because the latter frequently leads to regret such as probably-permanent commitment to...
> handling `_` is a well defined operation that does not need to complicate a grammar I disagree that it would not complicate any grammar, because UTS 35 deviates from...
A successful experiment that leverages const annotation for raw primitives: [TypeScript Playground](https://www.typescriptlang.org/play/?filetype=js&useJavaScript=truee=4#code/PQ0gEAqCaAKCi4Ai8BiBJAcuy6DymAygFDHABU54AAgC4CeADgKYAmzAZuAN4B2ArgBtB4AD7h+vdhwCWvNgF9whOQHNBzWgHtesAE4yAtjNoyAbs3DlgZSjQYtpPFb3Wad+oyfOXxAIxlVOVoxcD8tLQ0AQ15QgUM-Zj1QgGdaA1dU+gTIpU9jUwsrGwpyYit7ZkNGQSjaS0hyqjomNk4eSQBrXi0Ad1jmAA96qRSocAB+cHT+SwAucA4owRTmJXQUgEFeejw9AFVebr7eJpLKJsrq2vqoS5bHdu4AbUgAXXAhkdYx5-zvCwfKYzeaLZardYpf6FZhnWxlCp0Ko1OoNe4ONpcbjwQYAY0E-HYAB4cekorjaEToT4ADRQAB8dJcbm0ugMBR89M+w2Yo3A8gsySmG2pFiJkC5CyWKzW4A2ABkTEllnD4ejkTc0YiMU5uNxaFFVAsAAaGOq4gAWcwAJNw0hlVApjXTGFF6IItFFWAsABSQUJdHr9ACUSgAZDxXe7Pd6JEcg7wFHk6vU9Lw8H4AFbMClw0rq66ou7a1q6jbbXYHeMncVcr68n7TPSzSbgUWgn0KpV6Za17nfMYg1v+hYCpKh5TMQQcWAppKnYpq7UaouvAC8gZOb3RpaehCnM7nab74lntFT6azOcpEuT5-neYuy8Lt24Z4veR3jyxIvZAOYVJ1jyfJDlMsDgAs4H1ny77zkScgcEkDLDhB-LMIKSiQK0qB6FohiwWmqpgGA4AABLwPKCAAErgKg+yYAAwrgBAkEuzSuj2hgdNW-RKGYyyzPceiaPwaZjNw-EEpYMhjFoV4UgoebAPYKQALSBD0wmqUkuF6MQuI6Gk4AyRm2YUuAa7gJJLZrlypnXj61nMMGFlrpZTkANykBAdBqUMLAUtpei6fphkhMJjDJO5AmWLZPDlMZXA+hiWhcE5rmWQA5AEQS8LQmUucJtCibExq2k5Ci8MaXngIl4DJa0qVWTFGXgJlKTZOEggFeARUlco6RqI5MXBjVdUNSwTXpW5WWSNIchsD1fVpm1c2cAtrCZWNy2xAAUoQBAAHT2moMgcPQw1SaNxAKF5ZDERAsCbJAkDwFRmDgPK6AAEJUZsVHQKQBm8EZACyFnxbV+a1c+KKvu2mEJYiHFRFx3CQHxMVI80O3iQRvC1opMPWAlQzkrQCzTVyPrcNMhoLJlZq0JacxkxSmUum6HpepTLUKMGNKkFDdjULjPD40S8SJHo9JKCTtVS0kvouXFNN00abVMyzit6Bz4BRtzsZrbI8isOA-OCwlpQ0GLb5HgTJ2uLLi61Y7Gs+ir1O0waGuM+aVpu3rBsxgsxsbebAtC+A0O1c09QvpY3BUTmWh6KwVK4SwegMAA0sw9B0hLMT0PSzuNMTNAo2jGPgAZwnYzbIlieL9tEi8OfGbEnT5017wLFhLA4XhEuQM8OdvLLsvYzYtXQT8yd17GdexV76sM1rVpzykC+p5tnPRjztep5YFtRzHsOai395ps8byfhX1BV+LSiuueKQN6LTcg1fF5t886Cd3AN3egTVYBvH7thXC+FW6wH-hPBQzwdbwOnglVOvpDoYNfrQFInt6re3pprf2cxU5By5iHfWKYxin1ut5J8ccVy3HLuxKInFuLHF4uAFIAUjC8nuE-O218Ca3goeeISX9xJRBSKsbOYwuE5h4bEGSUAiYk2BkZQw-A0ig39hDH0cjcQKM5ueXB3AEpqJCP5a8OJyYQwAIQmXkrQH0WDgxI1bFgtxCwsGHR9q1P2zNN6DHJplNxtUpjeODl6UJqFvG+JmoQgJcwBDCEymIcQsTDR+I3nMMOpsQkwwKa2NWyTBCjiEIIOkuS2ChykOtU2EdngZNUMdQQMhcTMB9P4lmmVDoaFcLQC0wZtyFJhgsbgNDapnXqvYlI9kKTOJTC5UQ4gZlzKcZYik1iKTBhcqYgpUy9HcMMLyVqGzaBbNoIVL+Y1aoDNwr0cA8Bgqpx9MaM5bBwC2hSlwfRCilC2ginoQ58jjm8AnNoMIlgAXMEij6M5FzQzGmurVImnDegmEtPVJpuy3G4kkZYLpVocrBEynMXF+KEks3CJEZgMRSXktWJSq0Ot6UFLxYywlcxA5krZRSzlHUcjdTGdE8xnCjm8gHrFaYjUfnit4DcmGor3msElRDJpLS2kdM5T0vpqgBnIsKQc35oLVXxOVZKq5xU0wKtuRae5jznlAreYMAK9QzZfJlWKkFvJ-ncEBcCgxoLwVaEheAKInzuDmtaE6A1KKGUEuyVvHeadSWQ0KaK2mkSl7H3NmqlMNrxqrMcT6ZeOy00jLuX0B1ulXlyEkjIM2ibgLzxTmnChB93V+phUC0tMaC2ov2Ulb5XrA0nNsW5NqckzL5TSSOhRrUSk4pGba+1Tya3OtdR86FsLjW8mDaGmI4Ap3XiRf26JHBU71VFcAo9XBk4cA0BSQ6Jw870BSCW4+Za9nLoObY+9j7aCHQtJIgNhigH5zLZWh5a6XkbuvB8m926gXAInDoCN-rd1gr7dEqGylfLqVUJpZgQUQrLvABorR-tQOgueMAt4dJl60fzm8WNMMB3mwSopGh90Hptmeq9d6n0fp-QBuABiLF9ig1gMxTAtCETMNYdwTcHCohwiVS6j0wl2wQ3DXFb9UQfFaBxIwHQvJTDLA9h5aOyk0h1DaZ8R1R7YgYlWjxXgISEoUdoNogJPooh0lBodHWHsDUGe0MZ0zeUZAWdGtZ-kIbbOmFxA50jYafHsks3FxL9mdKXrQy5zKLKbp3VFaDZgUjDTMFQDIKcPwABqABGCGtNBQpBkDoBY1sHiJ3MXLZSPoGsCyPnlMzKQFiBbdh7c2XlSvlZSJVwgwGWCNYhoFpNrbWA+jKxV1QVWauCHq4NmbYVwDbfm7txbURlsACZVuHXW4vGmCUMGHTO5V6rtWUiNcFrVVr7XeCdZFi57gvXij1Wu5HV2Gk6iiWYON46g1XAe0FvzY7IMQhvYu0tqVgWXkJUx8wS7y2Gs-dO3Nhb2O6vXcFtdOTfCWGox4JKoe0DBFEmHQTonzBnaGDUydtQ5XvPk92xDLienPOHT+zoKzEAeicINEllLqcJdtcIzD4SMubMK5y45-LrQ2otaSG1jr4ASfgEAGQEubxCG70MbgH4BqcW-Nvk8jmjvNUcMAF4XhPsexYgM2KLxzmqtNYHZnQCUDmGEl0b-7rVBvlvI8daHVrmCa-l3Z5LuXkh65YAbqyMeTdm8twoF3SgpyMsj9H23sf4kQ4T1H1XvB1ep7i3L7LmfHWcc+DKBPUHq2wckMJckwG-AaFPZxm6QA) I'm near the current limits of my knowledge, but this looks very promising as a step beyond even...
And a version with recursive types (which must be actual TypeScript AFAIK) for recognizing e.g. `{ version: /** @type {const} */ (1), contents: M.string() }` as a Pattern without the...