Phone Conference P1450.1 Working Doc Subgroup

Thurs Apr 24, 10:00 am PST

 

Attendees:

Greg Maston (chair and scribe)

Bruce Kaufmann

Peter Wohl

 

Documents

  http://grouper.ieee.org/groups/1450/private/p1450.1-D15.pdf (LATEST)

  http://grouper.ieee.org/groups/1450/dot1/p1450.1-D16-review-resolution.pdf (OPEN ISSUES)

  http://grouper.ieee.org/groups/1450/dot1/paulr-lockstep.pdf

 

Agenda

(1) DM-1: Constants and Enums

- New proposal to remove IntegerEnum and SignalVariableEnum and use

only IntegerConstant and a new statement WFCConstant.

 

(2) GR-1: Fail data (Jason status update)

 

(3) CTL-1: Lockstep (see link above for proposal by Paul Reuter)

- Action Items for Tony and Greg still TBD so there may not be much

new to discuss at this meeting

 

(4) TRC-1: New statement -

        ( Header { MaxIntegerSize integer; } ) // default is 32

 


Meeting discussion

 

(1) Constants and Enums

 

The prior requests to open up access to enumerations resulted in an

environment where enumerations were pretty much identical to constants

from a scoping/access/name-resolution perspective. Therefore a new

proposal has been made to define WFCConstants (as the

SignalVariable-enum equivalent) and to remove enums from the language,

replacing them with IntegerConstant and WFCConstant types.

 

All present unanimously agreed to this proposal.

[AI1] to Tony to add WFCConstant, and remove enums from the spec.

 

(2) Fail data

 

No progress as Jason was not present. AI remains [AI2].

 

(3) LockStep

 

No progress as Greg and Tony didn't spec a proposal. AI remains [AI3].


 

(4) MaxIntegerSize construct

 

Peter raised 3 specific concerns about this construct:

(*) why just integers? why not other quantities as well?

(*) is the value 32? or 32 and a sign bit? what about signed vs

unsigned?

(*) why in the header?

 

Bruce raised two concerns

(*) why in the header?

(*) does this even belong in the language?

 

Discussion:

Bruce identified that while this might be a "nice flag", it doesn't

change the job of his STIL reader/interpreter -- which must process

any STIL that it can. A STIL interpreter must be responsible for

trapping it's own exceptions, including if it sees a number that's

"too big" (or too small, for that matter). Putting this flag into the

STIL file doesn't change the job that the interpreter already must do.

 

Peter identified that because this flag is inserted by the WRITER

(since it's part of a STIL file), the writer may need to make

ASSUMPTIONS about the behavior of a program. For instance, an integer

value may never be processed during interpretation to be larger than,

oh, say, 1 bit (because all integer values in the program are

initialized to 0). But during EXECUTION of that program, an integer

may assume much larger values. This means that the context where the

size of the integer isn't an issue during interpretation, but during

run-time. Stating a single size value may cause a program to be

identified as "not processable", overly constraining the application

of that program.

 

In the end, it is the understanding of this Working Group that the

issue of supporting values that exceed the minimum required by the

dot-zero standard, is a function of the readers and run-time

environment, which must flag overflow issues ANYWAYS, and that writers

(which may also rely on integer sizes > 32 bits to generate their

data) won't change what the readers and run-time environments must

support by adding this statement.

 

This proposal was vetoed in this Working Group.

 

Meeting adjourned at 10:32 PST.


Next meeting

Next phone meeting May 8

 

AIs

[AI1] Tony - rework Paul's doc for completeness and for AI[1] for review.

[AI2] Tony - extend Extend to support macro/proc calls.

[AI3] Tony - define DontInit/HoldValue attributes for vars.

[AI4] Tony - add WFCConstant, remove enums.
[AI5] Jason - fail feedback feedback