Skip to content

Commit 338c634

Browse files
authored
Added Jack-Works as co-champion, and link to prior proposal
1 parent 5bcc6d2 commit 338c634

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ A TC39 proposal for immutable ArrayBuffers.
88

99
**Stage**: 0
1010

11-
**Champion**: Mark S. Miller (@erights), Peter Hoddie (@phoddie), Richard Gibson (@gibson042)
11+
**Champions**:
12+
- Mark S. Miller (@erights)
13+
- Peter Hoddie (@phoddie)
14+
- Richard Gibson (@gibson042)
15+
- Jack-Works (@Jack-Works)
1216

1317
**Specification**: https://papers.agoric.com/tc39-proposal-immutable-arraybuffer/
1418

@@ -40,6 +44,10 @@ APIs that accept ArrayBuffers and/or objects backed by them could also benefit f
4044

4145
The [OCapN](https://ocapn.org/) network protocol treats strings and byte-arrays as distinct forms of bulk data to be transmitted by copy. At JavaScript endpoints speaking OCapN such as [@endo/pass-style](https://www.npmjs.com/package/@endo/pass-style) + [@endo/marshal](https://www.npmjs.com/package/@endo/marshal), JavaScript strings represent OCapN strings. The immutability of strings in the JavaScript language reflects their by-copy nature in the protocol. Likewise, to reflect an OCapN byte-array well into the JavaScript language, an immutable container of bulk binary data is required. There currently are none, but an Immutable `ArrayBuffer` would provide exactly the necessary low-level machinery.
4246

47+
## Prior proposals with overlapping goals
48+
49+
[Limited ArrayBuffer](https://github.com/tc39/proposal-limited-arraybuffer)
50+
4351
## Solution
4452

4553
This proposal introduces additional methods and read-only accessor properties to `ArrayBuffer.prototype` that fit naturally into those explained above. Just as a buffer can be resizable or not, and detached or not, this proposal enables buffers to be immutable or not. Just as `transferToFixedSize` moves the contents of a original buffer into a newly created non-resizable buffer, this proposal provides a transfer operation that moves the contents of an original original buffer into a newly created immutable buffer. Altogether, this proposal only adds to `ArrayBuffer.prototype` one method

0 commit comments

Comments
 (0)