Compatibility
Operating systems
Nominal operation
|
|
Degraded operations:
some functions are unavailable.
|
|
Good presumption of good operation:
all functions
are available, but I do not have any workstation
to test.
|
|
No opinion. Unsupported architecture but some old
releases worked fine.
|
|
Unsupported architecture
|
|
Compilation failure, work in progress.
|
|
RPL/2 is provided as sources files that is compatible with all
POSIX-2001 compliant operating systems. I can propose on
download page several patches required to build RPL/2 on unsupported
systems. These modifications shall not be included in official
RPL/2 sources.
This patches policy is not done to start a discussion on benefits
of your favorit operating system. It comes from RPL/2 internal
design (signals, threads, process, etc.) and some constatations
about strange dysfunctions on non POSIX systems (deadlocks,
memory leaks...).
AIX |
• | | | | | |
FreeBSD 7.x |
• | | | | | |
FreeBSD 8.x |
• | | | | | |
HP/UX 10.20 |
• | | | | | |
HP/UX 11.x |
• | | | | | |
Hurd |
• | | | | | |
Linux Debian 5.x |
• | | | | | |
MacOS X (Xcode 3.1.4 + gfortran 4.5) |
• | | | | | |
NetBSD 4.x |
| • 1 | | | | |
NetBSD 5.x |
• | | | | | |
OpenBSD 4.8 (minimal) |
• | | | | | |
OpenVMS 8.x |
| | | | • | |
OpenVMS 8.x with GNV (2.1) |
| | | | | • 2 |
OS/2 Warp 4.x, eComStation 1.x/2.x |
| | | | • | |
OS/2 Warp 4.x, eComStation 1.x/2.x with EMX (0.9d) |
| • 3 | | | | |
SunOS 8 |
• | | | | | |
SunOS 9 |
• | | | | | |
SunOS 10 |
• | | | | | |
SunOS 11 (OpenSolaris Nexenta) |
• | | | | | |
Windows |
| | | | • | |
Windows with Cygwin (1.7.5) |
| • 4 | | | | |
Windows with Interix (3.5) |
| | • 5 | | | |
- 1 : Process and threads management unavailable due to a bug in sigpending() system call.
- 2 : OpenVMS 8.3 with GNV 2.1-3 and porting library do not provide semaphore access. These functions should be available in future. All utilities in tools directories shall be patched or replaced too. See HP OpenVMS official web site. RPL/2's OpenVMS port has to wait for OpenVMS 8.4.
- 3 : Some intrinsic functions are unavailable, mainly multithreading and multitasking capabilities, as signal handlers do not work as expected on a Posix or SystemV compliant system.
- 4 : RPL/2 seems to perfectly work under XP/Cygwin but I have seen some issues under Seven/Cygwin, specially in process management functions. Please don't fill bug reports as these bugs come from Cygwin functions (kill() and some others return unexpected values).
- 5 : Gnu sed 4.1.2 must replace buggy sed provided by SFU. With GNU sed, automake, autoconf, libtool, gcc-4.4.3 and its dependencies can be built but Interix 3.5 does not provide real POSIX emulation.
Required tools
Compilers
Although the RPL/2 is entirely written out of C and FORTRAN,
certain embarked tools require a C++ compiler. The compilers
necessary are as follows:
- gcc 4.3 or greater
- g++ 4.3 or greater
- gfortran 4.3 or greater
Source files do not contain any specificity related to gcc compiler.
Thus, it is not impossible to build RPL/2 with any other compiler.
awk, gmake
Awk and gmake are required to build RPL/2. RPL/2 cannot be build
with regular Unix make tool.
LaTeX 2e, dvips et gv (options)
LaTeX 2e, dvips and gv are optinal but required if you want use
printer commands.
MySQL/PostgreSQL (options)
The support of the databases is optional. In the current version,
only MySQL type and PostgreSQL databases are accessible through
RPL/2.
Reliability
All RPL/2 intrinsic functions are individually tested. In spite of
these precautions, the author could not be held responsible for
any dysfunction.
Stable versions
All functionalities were carefully tested. These releases
should not have particular problems.
Development versions
Development versions are versions whose certain functionalities
are either incomplete, or prone to changes. Innovations being able
to lead to an instability are accessible only by forcing the
configuration using the option --enable-experimental.
Daily tarballs
No guarantee is provided as for the good usability or even
compilation of these versions.
Data types
Scalar data
- Integers
- Reals
- Complexes
- Binary integers
Vectorial data
- Integer vectors
- Real vectors
- Complex vectors
- Integer matrices
- Real matrices
- Complex matrices
Compound data
- Names
- Character strings
- Lists
- Tables
- Algebraic expressions
- Programs
Fonctionalities
- Control structures
- Error recovery
- Loops
- Input/output
- Debugging
- Stack operation
- Global, local, static and shared variables
- Real and complex computation
- Binary computation
- Trigonometric functions
- Logarithmic functions
- Special functions
- Statistics
- Lists, tables, vectors and matrices operations
- Characters strings manipulation
- Expressions and programs manipulation
- Sockets and files managment
- Libraries management
- Threads ans process management
Roadmap
This information is purely indicative.
- 4.1 : expression simplifications
- 4.2 : unformatted file support
- 4.3 : direct access file
- 4.4 : keyed access file
- 5.0 : cluster management
References
They use RPL/2 language: