Frequently Asked Questions
Q.What is this PL/I anyhow?
A.PL/I (pronounced Pee Ell One) is possibly the most powerful compiled programming language. Other languages with more features are interpreted, at a cost in speed, or depend on non-standard libraries to implement features that are integrated in PL/I.

Q.What standards does Iron Spring PL/I implement?
A.ANSI standard X3.53-1976 (ISO 6160:1979) specifies the "full" PL/I language. ANSI standard X3.74-1987 (ISO/IEC 6522:1992) specifies the "PL/I General-Purpose Subset", better known as "Subset G". Iron Spring PL/I beta does not yet completely implement either standard, but the release version should implement the Subset G standard with extensions from IBM and other popular PL/I compilers.

Q.On what systems does Iron Spring PL/I run?
A.The current version of Iron Spring PL/I runs on Linux, and OS/2 Warp and eComStation.

Q.Is Iron Spring PL/I open source?
A.The compiler is closed-source. The source for the library has been released under the Gnu "Lesser General Public License" (LGPL). The library is licensed this way to allow unrestricted distribution of programs linked with it, to allow users to modify and extend the facilities provided, to assist developers of other PL/I compilers provide compatibility, and to supply examples of PL/I coding.

Q.Does PL/I work with <my favorite language>?
A.The current version of Iron Spring PL/I implements the OS/2 "system" calling sequence, so PL/I programs can call functions coded in C or other languages that support that calling sequence. It also supports an option to allow callbacks from C and other language functions to PL/I, as long as the main program is PL/I. PL/I supports a much wider variety of data types than C; PL/I support for other languages is limited to data types those languages support. Calling PL/I procedures from main programs coded in other languages is not supported.

Q.Will Iron Spring PL/I compile my mainframe programs?
A.One of the design goals was to provide source compatibility with IBM "PL/I for MVS and VM", one of the most popular mainframe compilers. File declarations and OPEN statements will probably require changes. Major features not implemented by the current version include the PL/I preprocessor, and the DL/I and CICS preprocessors. That being said, the compiler has successfully compiled programs written for PL/I for MVS and VM, the Optimizer, and PL/I(F) with only minimal changes. Many features of IBM's newer "Enterprise" PL/I compilers are not supported.

The object code produced by Iron Spring PL/I is not compatible with that produced by any of IBM's compilers.

Q.Can I use my mainframe data with Iron Spring PL/I?
A.Sure, but just downloading the data may not give you the results you want. Iron Spring PL/I uses the ASCII character set and native x86 data formats. There is native support for IBM packed decimal data. In general you will probably need to buy or write a program to transfer the data. If there is enough demand I may code a program which will read a PL/I record-description structure and perform the appropriate data conversions. If you write something of general usefulness, I'd be happy to host it under "Free Stuff" and give you credit.

Q.Sounds good, how much does the compiler cost?
A.The current beta version is a free download. The price of the release version has not yet been determined, but will be approximately two orders of magnitude less than IBM's compiler for Windows. Academic, Government, and Volume licenses will be available. A CD of the release version will be available at additional cost.

The run-time library carries no separate license charge, so programs compiled with Iron Spring PL/I can be distributed under whatever terms their authors specify.

[Home]  [News]  [About]  [Download]  [Links]  [Documentation]  [Frequently Asked Questions]  [Free Stuff]