Re: final draft

Steve Huss-Lederman (lederman@cs.wisc.edu)
Tue, 24 Jun 1997 14:47:52 -0500 (CDT)

Eric has proposed changing the datatype decoding functions to return a
count and remove the array_size arguments. David Taylor gave a good
description of how this change occurred and some reasons for it. They
both support this change.

I am not sure that I would like to see it. Frist, Eric argues that
array_sizes are harder for the implemenation to return because they
are not input argument. This is one very good reason to keep them.
If they are not returned by GET_ENVELOPE then the user must do the
calculation. There was concern that errors in doing this would lead
to mistakes in array sizes passed to GET_CONTENTS. Second, the issue
of generality was real. As David pointed out, you needed two counts
for one of the new datatypes. If we return a single count and then
add a constructor in the future (did I say that, really, aahhh!) it
may mean changing these calls too. Third, not all calls have a count
or it is called something else. For example, DUP would return count=0
I assume? Fourth, the user can get the count from the combiner and
other array sizes returned if they need it without calling
GET_CONTENTS (and needing it is less likely then the array sizes in my
opinion). Finally, one gets the count as the first returned value in
the integer array from GET_CONTENTS so not giving it in GET_ENVELOPE
does not seem a big deal to me.

All that said, I am currently thinking that leaving it alone is best
right now.

Steve