home .. forth .. colorforth mail list archive ..

[colorforth] Unused character encodings available in Colorforth


I'm an old-time Forther who just bumped into
Colorforth about three months ago and think it is
marvelous.  One thing has me wondering about the
Hoffman encoding scheme being used.  Please excuse me
if I am missing something basic or if this topic was
already dealt with years ago.

It seems like the 'space' encoding of 0 000 is only
used to fill out the unused portion of packed words. 
If that is true, it seems like 'space' should be an
inefficient 7 bit character rather than one of the
premium 4 bit characters.

The, newly freed, 0 000 encoding could then be used to
introduce another octet of characters.  The net gain
would be seven characters because one of these eight
new encodings would replace the character displaced
when 'space' was moved.

Probably the easiest example is to move 'space' to the
encoding currently held by '?' (1111 111).  The unused
portion of the 28 bit field could therefore be padded
with '1's (rather than '0's) to be recognized as
unused.  Then you could add a new octet something
like:

0000 000  >
0000 001  <
0000 010  ~
0000 011  &
0000 100  |
0000 101  ^
0000 110  #
0000 111  ?

The '?' still packs as a 7-bit character so there is
no loss of efficiency from traditional Colorforth but
you have now increased the character set from 48 to 55
available elements.  I don't believe this would affect
run-time but there is some increased complexity at
edit time to pack/unpack the new octet.

Does this idea have any value or am I missing
something basic?

__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com