Hi 4tH-ers!
I'd added David A. Beers quadruple library - because I needed it. I forgot. I added a lot of support libraries to have a somewhat complete set of functionalities.
And then Ed released his DX-Forth 4.65 compiler -- with a quadruple set. Now, a lot of words were in assembly, so I had to cast them out. All words dependent on those words -- same thing. And then I had a nice, compact API for quadruple arithmetic. Of which some words overlapped with Beers library..
Now, you could argue "Let's discard one or the other". It's not that simple. Beers' library is quite extensive. And complex. Just replacing a few top words is not the way to go. On the other hand, I can imagine situations where Ed's library will do. And it carries some nice and compact words.
So, what do we do?
I decided NOT to touch Beers' library. Not at all. There was also a QUADPLUS library which held some additional words. I moved most of these to QUADBASE -- which is now Ed's library. The only word remaining is a mixed multiplication which depends on Beers' library.
Now, Ed's library can be used both "stand alone" as well as an additional library to Beers' library. The only thing is -- you have to include Beers' library first - and explicitly. QUADBASE won't pull it in automatically, as other quadruple libraries would. Of course, if you refer to words from Beers' library, it will bomb. If you don't need words from Beers' library, it'll do fine.
The point is, the moment a definition from Beers' library would be redefined, there is some conditional compilation code which determines what has to be done. So, in short:
- You can use Ed's library standalone -- or as an addition to Beers' library;
- If you decide to do the latter, the definitions in Ed's library which would conflict with Beers' library are ignored;
- If you decide to use Ed's library as an addition to Beers' library, you ALWAYS have to include Beers' library first -- and explicitly;
- All other quadruple libraries require Beers' library, and won't work with Ed's library in isolation.
Gee, this reminds me of the ANSFLOAT library.. ;-)
Hans Bezemer