On Apr 1, 12:00 am, "Ed" <nos...@[EMAIL PROTECTED]
> wrote:
> "Bruce McFarling" <agil...@[EMAIL PROTECTED]
> wrote in message
>
news:e5b38da9-e193-4b4a-9fb3-0363cbb29cbf@[EMAIL PROTECTED]
> > On Mar 30, 9:02 pm, "Ed" <nos...@[EMAIL PROTECTED]
> wrote:
> > > It requires apps allocate a minimum buffer size of
MAX-FLOAT-DIGITS.
> > > In practice most apps and forths already meet that. Apps that
dynamically
> > > ALLOCATE the buffer should ask for ( n ) MAX-FLOAT-DIGITS MAX
chars.
> > OK, so the main pitfall is an application that assumes that MAX-FLOAT-
> > DIGITS is smaller than it actually is for the system it is running on,
> > normally because the actual MAX-FLOAT-DIGITS was smaller in the
> > testbed system, so that REPRESENT overflows the buffer.
> MAX-FLOAT-DIGITS is a system constant and it's there to let
> applications know how much buffer space to allocate. If an app
> assumes a value then it isn't portable and suffers the consequences.
I think there is static on the line here. I meant, the main pitfall
in the existing _status quo_, without the value of MAX-FLOAT-DIGITS
available as an environment query.
The argument of the proposal being, I took it, that lacking
``MAX-FLOAT-DIGITS'' and with the range of permitted Forth-94
semantics for ``REPRESENT'', the effort to write a portable app
is subject to a range of pitfalls.
> The sample apps in the document show how to write a function
> using REPRESENT portably.
> > And given an environment query for MAX-FLOAT-DIGITS, that can be
> > patched, pending a rewrite of the source, by performing the REPRESENT
> > in a local buffer and then copying the appropriate contents into the
> > buffer handed by the application.
> Patching MAX-FLOAT-DIGITS is outside the scope of spec,
> however implementers who understand the consequences and
> ensure REPRESENT takes into account any changes, are free
> to do so.
That was not from an implementers perspective, and not referring
to patching MAX-FLOAT-DIGITS. It was referring to source that
is written without the proposed system, and applying a patch with
a prelude file that is written using the information provided by
the proposal, including the information returned by
MAX-FLOAT-DIGITS.


|