gforth
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gforth] Gforth's fsl-util.*


From: Charles Montgomery
Subject: Re: [gforth] Gforth's fsl-util.*
Date: Sun, 25 Nov 2012 10:35:22 -0500

On Nov 25, 2012, at 7:01 AM, David Kuehling wrote:
...

* Gforth CVS contains two files, fsl-util.4th and fsl-util.fs where
  fsl-util.fs seems to be the more recent version, however only only
  fs-util.4th is installed.  Is that by mistake?

The auxiliary files provided by the FSL include a version specifically intended for use with Gforth:
http://www.taygeta.com/fsl/library/fsl-utilg.fth
I would recommend to the distributors of Gforth that they use that file, or a modification of it, to distribute with Gforth. But that's up to them.

It's not at all unusual for FSL users (like me) to use a personalized fsl-util file adjusted for personal convenience. Of course the same results can be obtained with some additional files loaded before or after fsl-util, for the sake of "purity" if that matters. ;-)

* Both files suffer from printing out text to stdout during loading,
  even with WARNINGS OFF, which makes them somewhat unusable from
  scripts that need well-defined (machine-readable) output.  (Though
  there's a workaround [1])

My personal opinion is that such emissions are a bad idea, not just in the case of script usage. They were included in many of the early FSL files, and the practice has tended to continue for historical reasons. Bernd's idea of a way to remove them with conditional compilation is one reasonable approach.

* The Vector/Matrix indexing operators '}' and '}}' have quite some
  overhead when implemented in Forth.  What about adding them as
  primitives?  (I volunteer for the job unless there're objections).

The admittedly slow high-level versions of } and }} are provided for the sake of portability that comes from being Standard. If you should come up with improvements for a specific architecture, or other things as suggested by Bernd, they could be made available to other FSL users by adding them in an auxiliary file on the taygeta site. (Such files don't need to go through the reviewing process used for the Library Algorithms.)

regards   cgm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]