memory64 icon indicating copy to clipboard operation
memory64 copied to clipboard

Rename `Index Type` to something else, perhaps `Offset Type`

Open sbc100 opened this issue 1 year ago • 7 comments

sbc100 avatar Jun 24 '24 20:06 sbc100

What's wrong with "index type"? I haven't been following #50 very closely, but I struggle to think of a better term generally. If it were only memories, you could call it an "address type", but since tables are in the mix I think "index" is the better general term.

bvisness avatar Jun 24 '24 23:06 bvisness

Context: https://github.com/WebAssembly/memory64/pull/50#discussion_r1647204142

sbc100 avatar Jun 25 '24 00:06 sbc100

If I'm understanding correctly, the spec today currently doesn't choose an official name like "index" for the parameter to table.get, but I think "index" is clearly implied - the execution instructions use i for the parameter name, and the structure section uses "index" to refer to one of the parameters of table.copy.

Anyway, unless there's something I'm missing, I think "index type" is a perfectly good term that I'd vote to keep.

bvisness avatar Jun 25 '24 00:06 bvisness

I'm basically neutral on this. I've gotten used to calling it index type, so there is some inertia there I suppose.

sbc100 avatar Jun 25 '24 00:06 sbc100

@bvisnuss, i is universally used for integers.

I'd prefer avoiding overloading terminology in potentially confusing ways. We already use the term "index" for all the index spaces, and in particular, "memory index" and "table index" already have a different meaning. Moreover, while "index" is natural for tables, it is less so for memories. Hence I suggested "offset" as a more neutral and unclobbered name, but perhaps there are better suggestions.

rossberg avatar Jun 25 '24 12:06 rossberg

I agree that "index" is the most natural term in isolation, but I do agree that avoiding overloading it is a good idea. I would prefer "address" over "offset," even for tables, and it would be an even less overloaded term. It would be weird to explain the offsets in memargs as being "offsets from an address/index that has an offset type."

tlively avatar Jun 25 '24 16:06 tlively

Address type (addrtype) sounds good to me.

rossberg avatar Jun 25 '24 18:06 rossberg

I've been making a variety of spec updates in #71, and would be happy to change "index type" to "address type" as part of that PR if people agree. Any objections?

bvisness avatar Aug 01 '24 15:08 bvisness

@bvisness just FYI I've been doing all my recent spec work on the wasm-3.0 branch of this fork, not the main branch. This is so that all our work here can be merged into the wasm-3.0 branch in the upstream spec repo.

sbc100 avatar Aug 01 '24 17:08 sbc100

I'm working on a PR for this issue. This is an almost invisible change to users except for one thing: the index parameter on table and memory descriptors, used in the Table and Memory constructors.

Presumably this parameter should be renamed. Should it be renamed to addressType or address?

bvisness avatar Aug 14 '24 12:08 bvisness