Frequently Asked Questions
Q.What is PL/I?
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 goal is to 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 later distributions.

Q.Is Iron Spring PL/I open source?
A.The compiler is currently 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 DL/I and CICS preprocessors. 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.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 we may supply a program which will read a PL/I record-description structure and perform the appropriate data conversions. If you write something of general usefulness, we will be happy to host it under "Free Stuff" and give you credit.

Q.How much does the compiler cost?
A.Iron Spring PL/I is free for non-commercial and hobbyiest use. The price of the commercial 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 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]