On 9/23/2015 11:17 AM, Jon Elson wrote:
On 09/23/2015 03:39 AM, ANDY HOLT wrote:
From:
"Chuck Guzis" <cclist at sydex.com>
?
After all, languages are supposed to expose
features
of the underlying machine to the programmer.
Many believe that the purpose of
languages is to HIDE (abstract) the
underlying
machine.
Well, as far as I know, the 1401 series does NOT have binary data types,
or floating point. Just decimal integers, where an implied decimal
point can be placed. I think this would make a POSIX compliant C rather
difficult to do. But, of course, you could just implement what came
naturally to the machine. For a POSIX compliant implementation, you'd
just about have to generate some kind of code interpreted by an
interpreter that ran on the 1401 directly.
Jon
POSIX is not, in its origins, was not a language standard. It was an OS
interface standard. Really not relevant to the discussion, I think. I
do agree that trying to provide a POSIX compliant operating system
interface on such a machine would be impractical. Even if you could do
it, there would not be enough memory.
Naturally, C programs that depended upon, say, a numerically encoded
character might fail, but one could still provide functions that
converted from a number to a character and vice/versa (as in PASCAL).
The 1410 (which is what I originally mentioned, not a 1401) does have a
floating point - normally implemented in software, but also available in
hardware (standard on a 7010). I have to believe the 1401 had to have
something similar, since there were FORTRANs for it. ;)
The series would be more properly referred to as the 1400 series. The
1410 is not like, say, a 1440 which offers 1401 compatibility, aside
from a switch which quite literally caused the machine
to become a 1401
instead of a 1410.
JRJ