Company Background

Working as Creative Software Design, Davin Church has been programming in APL steadily since 1974. He writes custom applications for companies both large and small and promotes the APL language at every opportunity. Davin particularly enjoys writing utility software, a great deal of which has been freely contributed to the APL community.

You may contact Davin by writing to him at <> or calling (972)285-0976.

Business Software

Applications, utilities, and more! Contact Creative Software Design for many kinds of software development and consulting.

Contributed Software

Davin has released a number of APL utility workspaces to the APL programming community to (hopefully) make their lives easier. These include:


ADO is Microsoft's standard way of accessing databases of all types. This workspace contains utility functions which ease the task of writing ADO-based applications in APL. It comes with extensive documentation in MS Word format. The latest changes include some ease-of-use enhancements and documentation to help you set up database access on your system.


CRW contains a handful of interface functions to talk to Seagate's Crystal Reports. Crystal Reports is a very powerful package and many people are somewhat familiar with it since an early version of it is used for reporting by Visual Basic. Applications can use it to provide easy (and even user-definable) reports from APL+Win.

It does require that you own Crystal Reports and have its "programmer" documentation to follow.


DATES contains all the tools you'll ever need to manipulate and keep track of dates. It is not only Y2K compliant, it is Y0K and Y9K compliant! These functions deal with holidays, workdays, customized time and date formatting (including internationalized versions), and many other calendar/time functions. They provide date arithmetic and other assorted algorithms, extensively researched and tested. They accept any size array and return a result of the same size and shape, performing all calculations in parallel, making them fast and easy to use.


DCTOOLS contains a collection of utilities and developer functions. Some of the items included are


This is a user command file containing an assortment of useful utilities:


The FILES workspace contains an assortment of utility functions designed to work with disk files and directories in a number of different ways.


FTP client software that runs in the background while an APL application is in use. Includes a demonstration user feedback/status reporting function.

The FTP workspace has been updated to use "passive mode FTP" so that it can run from behind a firewall. Other minor enhancements were also made, such as a simpler userid syntax, improved upload buffering, and a "debug" switch to assist in debugging protocol problems.

The latest update now:


Included in the WS are a handful of small utility functions oriented around []WI processing. One particularly useful function is "PopUp", which dynamically generates a modal popup form containing text (and simple input) fields and arbitrary buttons as you specify. Other functions obtain or process child trees, simplify data handling, focus control, error reporting, tracing, and control identification.

Copyright & Disclaimer

These are collections of tools (or utilities, if you prefer) written (over the years) by Davin Church. Any function not otherwise noted is copyright 1999-2004 by Davin Church and he reserves all rights to this code. However, he hereby releases all his code in these libraries to be freely distributed and used as desired (except for direct profit) provided that some (internal) acknowledgment is made as to the source of the code or algorithms used. Please do not modify these functions and redistribute them without some mention that they have been changed from the original code. Thank you.

These tools/utilities encompass a wide variety of purposes and solve many different kinds of needs. You may find that many of them duplicate functionality you may already have in other places and they may well have other names. However, you will be hard-pressed to find other sources of such code that are more flexible or efficient. A great deal of work has gone in to many of these tools to make them as fast, flexible, and easy to use as possible.

If you have any difficulties with any of these tools, please contact Davin Church directly. Please do not contact APL2000 on any of these as they do not support or endorse them. Davin welcomes bug reports and requests on any of his tools, but will only be able to provide fixes as time permits. Thus you should not (legally) rely on them for any particular purpose and Davin does not (legally) warrant their suitability or fitness.