Re: RfD: IEEE-FP
- From: Andrew Haley <andrew29@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Sat, 06 Jun 2009 10:39:11 -0500
Aleksej Saushev <asau@xxxxxxxx> wrote:
Andrew Haley <andrew29@xxxxxxxxxxxxxxxxxxxxxxx> writes:
Aleksej Saushev <asau@xxxxxxxx> wrote:
"David N. Williams" <williams@xxxxxxxxx> writes:
Please have a look, and offer criticisms, both general and
specific, and suggestions.
What I don't understand in all recent proposals is why they exist at
all. Where's the practice large enough to have all those in
standard?
Many Forth floating-point extensions support IEEE arithmetic
I don't see those "many," what are they?
Certainly gforth does, and AFAIK SwiftForth and iforth. None of these
are complete implementations of IEEE arithmetic, and we're exploring
what it might take to do a decent job of completing it.
Even when they use underlying IEEE FPN operations, what do they
support in particular?
IEEE 754, in its 1985 form, standardizes basic arithmetic and a bunch
of conversion operations, along with some standard number formats.
The Wikipedia page is quite nice if you don't have access to the
specification: http://en.wikipedia.org/wiki/IEEE_754-1985. Forths on
IEEE-compatible hardware support all the standard basic arithmetic and
many of the recommended functions and predicates. To the best of my
knowledge no Forth completes the full set.
IEEE 754 also requires directed roundings, which to the best of my
knowledge Forths do not support, and we're discussing wordsets that
might be useful to support them. If we can come up with something
reasonably sane we'll propose it to implementors. The same goes for
exceptions.
Can I see an overview? Where are those problems that arise from
difference between implementations? Inconsistency between them?
What is the purpose of standard?
The same as any language standard: it clarifies what is common, and
makes useful features available to developers to use portably. In the
case of floating-point arithmetic, it's hard to do a good job of
writing libraries without any knowledge of the properties of the
underlying floating-point model. This was made pretty clear to me
recently when I was writing approximations for erf.
What I see is that you're blocking future implementors from entering
the field, even when they are more sane and have more clear view of
what they are doing.
I don't really understand how codifying the very well-established
industry standard model of IEEE floating-point arithmetic is going to
be a barrier to entry. After all, whatever comes out of this process
will be an optional wordset.
The point of discussing this optional extension is to figure out a
useful common wordset. By the time we get to the end of the
discussion I think we'll have a reasonably small set of words that
will be not too difficult to implement on IEEE hardware, and will
be useful. It'll provide a common set of names for functions that
some Forth systems already support.
I think you confuse design and standartization. What you're doing is
effectively the design of a new, academic Forth, in contrast to
standardizing the practical one.
Well, you're welcome to that opinion, but I think you are wrong. IEEE
arithmetic has proved itself over the last twenty or so years to be
superbly practical, and Forth is a superbly practical language.
You'd better standardized practical things, like search order stack.
Let they who care about search order stacks write the proposal.
At the moment there is a bunch of wacky proposals being thrown around,
many of which may be abandoned. But there's no way to do without the
discussion process.
There _is_ a way to go without any discussion. You write a library,
make it the best in the field, win user acceptance, then the library
becomes standard without any doubt.
I can't think of any practical way to write this as a library. it
requires access to the underlying hardware, with interfaces not
provided by standard Forth. Most, if not all, of what we've been
discussing involves fairly small additions to existing floating-point
wordsets.
All this talk about rounding modes and exceptions is interesting, but
not key. It might well turn out that there's nothing that can be done
with them. The key part is standardizing the basic operations and
data formats, and this is common to may Forths already.
Andrew.
.
- Follow-Ups:
- Re: RfD: IEEE-FP
- From: Aleksej Saushev
- Re: RfD: IEEE-FP
- References:
- Re: RfD: IEEE-FP
- From: Aleksej Saushev
- Re: RfD: IEEE-FP
- From: Andrew Haley
- Re: RfD: IEEE-FP
- From: Aleksej Saushev
- Re: RfD: IEEE-FP
- Prev by Date: Re: Code you're proud of
- Next by Date: Re: Has Forth a punctuation?
- Previous by thread: Re: RfD: IEEE-FP
- Next by thread: Re: RfD: IEEE-FP
- Index(es):
Relevant Pages
|