Proposal: Revise Rationale of Buffer:

Formal

This proposal has been moved into this section. Its former address was: /standard/core/BUFFERColon

This page is dedicated to discussing this specific proposal

ContributeContributions

AntonErtlavatar of AntonErtl [90] Revise Rationale of Buffer:Proposal2019-07-06 15:45:25

AntonErtlavatar of AntonErtlNew Version: Revise Rationale of Buffer:

Hide differences

Here's a possible text for the revised Rationale:

As a programmer, if your usage complies with the restrictions of BUFFER: (in particular, no adjacent initialized data that you want to treat as contiguous with the BUFFER: data), use BUFFER: instead of CREATE ALLOT, for image size reduction on some systems.

As a system implementor, you can put the BUFFER: data in uninitialized memory.

ruvavatar of ruv

Just for reference, see also the discussion concerning addresses between different runs from the same saved image. Probably, this issue should be discussed further and reflected in the rationale too.

AntonErtlavatar of AntonErtlNew Version: Revise Rationale of Buffer:

Hide differences

Here's a possible text for the revised Rationale:

As a programmer, if your usage complies with the restrictions of BUFFER: (in particular, no adjacent initialized data that you want to treat as contiguous with the BUFFER: data), use BUFFER: instead of CREATE ALLOT, for image size reduction on some systems.

BUFFER: provides a means of defining an uninitialized buffer. Embedded systems can take advantage of the lack of initialization and lack of contiguity of the memory area while hosted systems are permitted to ALLOCATE a buffer.

As a system implementor, you can put the BUFFER: data in uninitialized memory.

As a programmer, you can use BUFFER: instead of CREATE ALLOT for image size reduction on some systems, if continuity is required.

As a system implementer, you can put the BUFFER: data in uninitialized memory. You may put this data in any writable region of memory that you deem appropriate.

AntonErtlavatar of AntonErtlNew Version: Revise Rationale of Buffer:

Hide differences

Here's a possible text for the revised Rationale:

Replace A.6.2.0825 Buffer: with the following text:

BUFFER: provides a means of defining an uninitialized buffer. Embedded systems can take advantage of the lack of initialization and lack of contiguity of the memory area while hosted systems are permitted to ALLOCATE a buffer.

As a programmer, you can use BUFFER: instead of CREATE ALLOT for image size reduction on some systems, if continuity is required.

As a programmer, you can use BUFFER: instead of CREATE ALLOT for image size reduction on some systems, if contiguity with other allocations is not required.

As a system implementer, you can put the BUFFER: data in uninitialized memory. You may put this data in any writable region of memory that you deem appropriate.

AntonErtlavatar of AntonErtl

This is just a wording change.

Formal
Reply New Version