Part of my job is to keep terminology consistent.  "Byte" is already defined as 0-255 in R6/R7RS.  Symmetry is good, but clarity is better.

I stll like "ASCII codepoint" in the text and "codepoint" in the procedure name.

On Fri, Sep 20, 2019 at 3:54 PM Lassi Kortela <xxxxxx@lassi.io> wrote:
> Yes to all three.

Works for me too.

> SRFI 13 (and its successors) are much more heavyweight than SRFI 175.  If
> you know that strings are ASCII strings, you can use SRFI 175; this
> predicate serves as a dynamic type check.
>
> Now that I think of it, ascii-bytevector? is good too (are all the elements
> ASCII codepoints?)

I still find it hard to see specific use cases, but the procedures are
also very simple and match existing procedures such as `string?` and
`bytevector?`, so I don't want to be a stickler. Let's just add them.

How about:

ascii-byte? -- is an integer 0..127
ascii-char? -- is a character representing ASCII 0..127

ascii-bytevector? -- is a bytevector, has no bytes outside 0..127
ascii-string? -- is a string, has no chars outside ASCII 0..127

I like the word `byte` because it matches `bytevector` (and would also
match `read-byte` is Scheme had it under that common namd; `ascii-u8?`
doesn't quite have the same punch as `ascii-byte?`)