Supported Systems

DICE currently runs on all Windows systems from Windows 95 forward. DynArray is committed to provide support to future versions of these systems.

DLL Interface

Despite the generality and flexibility of Microsoft's "Object Linking and Embedding", most programmers find it much easier to work with a simple "Dynamic Link Library" interface. DICE maintains the simplicity of a DLL call, while providing much of the generality and flexibility of OLE.

Database Access

DICE includes an interface to ODBC, allowing DICE applications to access databases in a wide variety of formats, without regard to which database manager is being used or what kind of system it is running on.

Network Access

DICE applications have a simple yet full-functioned TCP/IP Socket interface available to them. The interface has been optimized for use by APL algorithms, and is built on proven technology from IBM APL2.

Unicode Enabled

Because the APL language does not use machine-dependent data types, no language changes were required to provide multi-byte character support. DICE supports single-byte, two-byte (Unicode) and four-byte (Extended character) representations, permitting arbitrary mixtures of character sets, including Asian character sets. All APL character operations, such as searching for substrings, partitioning on specific characters, sorting, restructuring, and formatting, work with any combination of character sets.

Rapid Application Development

DICE provides an industrial strength array-oriented base on which a variety of applications can be built by creating personalities. The language for creating the personalities is powerful, mature, and interactive. Like any good Rapid Application Development environment, it allows the designer to work rapidly at a very high level. The difference is that most RAD environments focus on user interfaces or databases, but DICE focuses on algorithms and computation. A visual programming language is normally used to create the user interface, or "front end". The front end will make calls to the personality for services defined by using the DICE language.

Components off the Shelf

For nearly thirty years accountants, scientists, engineers, and businessmen (among many others) have been using the APL language for both ad hoc analysis and rapid implementation of highly complex algorithms. They have created thousands of programs that are in the public domain. Those APL programs can be converted easily, and largely automatically, to DICE personalities. After the conversion the drawbacks of APL will have disappeared, and only the power of its algorithms will remain, encapsulated within a callable program that can be run on a desktop or server machine.

It is quite possible that somewhere in your company there are people dependent on APL programs; if your company is in the finance or insurance industries this is almost a certainty. Many of those programs are still running on mainframe systems and using clumsy user interfaces. Users of those programs will be amazed by how quickly they can be converted to DICE, how fast they run on personal computers, and how much easier they are to use with a graphical user interface.

Personalities from DynArray

DynArray employs or has access to a number of the top APL programmers in the world. We are committed to provide quality personalities for DICE.

Talk to us - we think you will be surprised how quickly and inexpensively we can solve your problems.


What is a DICE personality?

A DICE personality is a file created by the DICE SDK which encapsulates the application algorithms in machine-readable format. It is not directly executable, but is executed under control of the DICE application system. We call it a "personality" because it makes DICE look like some specific application. A DICE personality can logically be thought of as executable code which contains a set of entry points (or methods and properties, to use object oriented terminology) to implement the main part of the application. The personality is not a complete application, since it must be augmented by code (normally written in a visual programming language) which provides the user interface.