TIA is an ncurses-based console IDE for GCC, G++, Java, Perl, PHP, BASH, BUSH, HTML, and GNAT (Ada 95). It has integrated support for CVS, SVN, and ncurses compatible mice. Features include a ddd-style console debugger, automatic spelling correction, keyword hilighting, project statistics, automatic backups, and keyboard macros. The project window controls optimization and debug settings all in one place. TIA supports make, cook, and gnatmake project builders. For large projects, each user has a separate preference file.
RTEMS (Real-Time Executive for Multiprocessor Systems) is a commercial grade real-time operating system designed for deeply embedded systems. It is a free (as in beer and speech) open-source solution that supports multi-processor systems. RTEMS is designed to support applications with the most stringent real-time requirements while being compatible with open standards such as POSIX. It includes filesystem support as well as a port of the FreeBSD TCP/IP stack. It's been ported to numerous processor architectures including ARM, Blackfin, PowerPC, i386, M68K, Coldfire, MIPS, Mico32, M32C, M32R, NIOS2, SPARC, SH, H8, and C3x/C4x DSPs. Using the GNU tools for cross development, you can use any number of systems as development hosts including both Unix and Windows platforms. There are pre-built cross development toolsets for RPM-based GNU/Linux distributions and MS Windows.
BUSH (Business Shell) combines the capabilities of BASH, PHP, GCC, and databases into a uniform design for rapidly building secure, reliable Web sites. Based on an ISO standard, it promotes code reuse: scripts and templates can be compiled with GCC or ported to JVM or .Net using third party tools with only minor changes. It can also replace BASH as an interactive command shell with SQL support, and is a general purpose scripting language.
The Texttools packages are an ncurses-based library for the Linux console written in Ada 95. It contains more than 600 procedures and functions to create windows, draw scroll bars, handle the mouse and keyboard events, play sounds, and much more. It also provides a thick binding to Linux kernel calls. You can create a wide variety of application programs using Texttools alone.
Fuzzy sets for Ada is a library providing implementations of confidence factors with the operations not, and, or, xor, +, and *, classical fuzzy sets with the set-theoretic operations and the operations of the possibility theory, intuitionistic fuzzy sets with the operations on them, fuzzy logic based on the intuitionistic fuzzy sets and the possibility theory; fuzzy numbers, both integer and floating-point with conventional arithmetical operations, and linguistic variables and sets of linguistic variables with operations on them. String-oriented I/O is supported. A rich set of GTK+ GUI widgets is provided.
The library provides an implementation of dimensioned values for Ada. Unit checks are made at run-time, if not optimized out by the compiler. SI and irregular measurement units are supported. Shifted units like degrees Celsius are supported too. Conversions from and back to strings are provided for all various irregular units. An extensive set of GTK widgets for dealing with dimensioned values is included, though use of GTK is not mandatory for the rest of the library.
The Simple components for Ada library provides implementations of smart pointers for automatically collected objects (using reference counting), object persistence, unbounded and bounded arrays of smart pointers, generic unbounded arrays of private objects and plain pointers, generic sets, maps, directed graphs, directed weighted graphs, stacks, and storage pools. It also includes table management, string editing, IEEE 754 support, and infix expression parsing tools. Implementations of some lock-free shared data structures are provided.
Net::Z3950::SimpleServer is a Perl module which implements the server side of the Z39.50 (information retrieval) protocol. It hides the complexity of network exchanges, packet serialization, and session handling. You are required only to implement simple callbacks to support searching and record retrieval. It is the basis of the "Zoogle" project, which is a Z39.50 gateway to the Google web index.