JAJZ801@CALSTATE.BITNET ("Jeff Sicherman,CSU Long Beach") (09/22/90)
I think the debate between which is better for implementation, assembler or forth is really a question of where you want to put the effort and what environment you want to work in. That's largely a personal preference but there are requirements and advantages to doing it in forth. Cross development usually requires appropriate tools, perhaps at some cost, native development requires a robust (hardware wise) target system. In a given circumstance, there may be cost or configuration issues that preclude one of the options. However, native development would be vastly less difficult if basic bootstrapping principles were followed. When porting a C compiler to a new machine, you dont try to port the most extensive implementation, but just one sufficient to "compile" itself, plus a few enhancements. It is then possible to incrementally build upon this. In this view, there ought to be a minimal forth kernel defined in assembler (well, actually machine language) with the rest of the words in forth. This would permit the fastest and likely the least costly porting, though obviously not the most efficient implementation. However, that can be done as necessary in the target environment as needed and justified. There was a discussion a while ago about a minimal (canocial?) wordset to implement forth in, such that all other words could be defined in it. That was probably to obsessive but the spirit is the same. Does any have any thoughts as to a proper wordset AND builtin tools (such as a byte editor to substitute for an assembler) for such a minimal portable implementation. Jeff Sicherman