[comp.lang.modula2] OSSI names and portability

jimomura@lsuc.UUCP (11/29/86)

     I've looked at the OSSI definition modules and they mainly make the
claim of OS independence, however, many people use systems which cannot
cope with the module names.  CP/M, MS-DOS and some others are limited
to 8 character names.  This is a fairly large chunk of the Modula-2 user
community.  In fact, it may be that more users of Modula-2 cannot use the
current module names than those who can.  I hope you will reconsider this
for the sake of portability.  It's not a major problem, but it puts a
damper on my enthusiasm.

Cheers! -- Jim O.

biagioni@unc.UUCP (Edoardo Biagioni) (12/02/86)

In article <1405@lsuc.UUCP> jimomura@lsuc.UUCP (Jim Omura) writes:
>
>     I've looked at the OSSI definition modules and they mainly make the
>claim of OS independence, however, many people use systems which cannot
>cope with the module names.  CP/M, MS-DOS and some others are limited
>to 8 character names.  This is a fairly large chunk of the Modula-2 user
>community.  In fact, it may be that more users of Modula-2 cannot use the
>current module names than those who can.  I hope you will reconsider this
>for the sake of portability.  It's not a major problem, but it puts a
>damper on my enthusiasm.
>
>Cheers! -- Jim O.

We considered this problem in the design of OSSI. Our examination of
various systems showed that most systems have a maximum file name
length, while none (of the ones we examined) have restrictions on
module name length.  The compiler simply takes the first n characters
of the module name and uses them as the file name. As a result, the
only requirement on module names is that they can be uniquely
identified by their first few characters, so they will correspond to
different files.  All OSSI modules are uniquely identified by their
first 6 characters, and the SI prefix helps distinguish them from
unrelated modules.

On a system with maximum file name length of 8, plus a 3-character
extension, SITerminal would for instance become SITermin.def and
SITermin.mod, where depending on compiler conventions the .def and
.mod may be in upper- or lowercase.

Hope that helps.

			Ed Biagioni
	seismo!mcnc!unc!biagioni	decvax!mcnc!unc!biagioni
    	biagioni@cs.unc.edu