I wrote this arbitrary precision arithmetic utility on BSD in my postgraduate days, then after graduating ported it to DOS using TurboC. Was proud that it would do the same thing with 16bit word limits as it had done with 32. Later got a staff account for a university CMS IBM mainframe and started to port it there but had all sorts of compiler/runtime failures until a seasoned IBMer advised I change my function call symbols. "The function call names are clashing with your VM name space" I was told, so rename them or prefix them with an underscore or something else. The VM "D:" drive, its "filenames", and the "executive text" files all lived in the same flat namespace.

That was the end of portability to CMS, sadly, after I had carefully handled all the ASCII / EBCDIC mappings for the interpreter's scanner.

Is CMS still alive and well, and is it still illegal to have a "C" function name identical to a file name?

  • 3
    PS: For non-insiders, CMS stood for Conversational Mode System, an interactive version of IBM's time share environments that was to be a response to DEC's interactive command line interface. – MKhomo Jul 30 at 13:53
  • 2
    Weird. It seems like a simple extension to "auto-prefix" application ID's, thus putting them into their own "namespace", would be an essential addition. – Brian H Jul 30 at 14:16
  • I think it was more pervasive than just the main entry point. The same namespace issue applied with relocatable "subroutines". I remember my application had modules funcN,c which defined function funcN(), and I had to change those names too. – MKhomo Jul 30 at 18:00
  • There are VM/CMS C compilers that claim ANSI C conformance, so presumably they don't have this problem. – Ross Ridge Jul 31 at 0:51
  • 1
    On reading the link @manassehkatz provided I should also correct my first comment about a "response to DEC's terminal processors". The proper chronology is the evolution of mainframe peripheral processing heavily invested into by CMS to that spin-off company that came up with "Peripheral Data Processors", better known as DEC PDP's and their (dumb in IBM-speak) virtual terminals VTXXX – MKhomo Jul 31 at 19:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.