APL Articles and Programs



Home

What's New?

Getting Started

APL On The Net

Articles & Programs
Other APL Sites

Miscellaneous


Articles and Programs

The following are articles and papers I've written over the years, both for printed publications and for comp.lang.apl. Many of these articles contain useful programs within them. You can use the APLASCII workspace to extract these programs.
APL-ASCII Transliteration Describes how {keywords} came to be. Why I did certain things and not others.
APL-ASCII Workspace Transfer How to move programs and data from one APL to another using {keywords}.
APL Compiler APL is usually interpreted, meaning that the APL system parses and translates each statement every time it is executed, resulting in gross inefficiency for certain types of programs. This article describes a true APL compiler, which translates APL statements to IBM 370 machine code for faster execution.
APL Compiler Example An example of how a compiler can radically alter the range of practical algorithms in APL. With benchmarks.
APL79 Back Cover Reverse-engineering a message in a bottle that was adrift for 16 years.
Ball Clock Problem The most amazing programming puzzle I've ever seen. Read it and learn what permutation vectors, cyclic representations of permutations, least common multiples, permutation powers and logs, and the Chinese Remainder Theorem have to do with a goofy clock.
Benchmarks of APL vs. Other Languages The answer is never a scalar...
Beware Selective Assignment What APL vendors don't want you to know about selective assignment! This article explains how to avoid slowdowns and excessive memory usage when using selective assignment.
Binomial Coefficient Puzzler   Another fine puzzle that lead into factoring, prime numbers, and the prime powers representation of numbers. Includes assembler-based utilities for factoring and finding primes. I'm still looking for Larry Breed's A!B algorithm...
Blob Finder   A classic image processing problem: find the connected 1s in a Boolean matrix.
Bridge Crossing Puzzler   It was a dark and stormy night, and four men had to get across a bridge. An interesting programming problem, though not as deep as some of the other puzzles here.
File Key Indexing How to efficiently build a directory to the keys in a file.
Function Comparison Utility An extremely useful program--an APL version of the Unix diff command.
Function Minimization An APL version of the Nelder-Meade downhill simplex method, with an example.
Gaussian Random Numbers A utility to generate random numbers having a Gaussian normal distribution, along with some references about APL's random number generator.
Global Variables On the uses of global variables and precautions for the safe use thereof.
Hex Dump A simple demonstration program, one step up from "Hello World".
Inverse F Distribution A statistical utility.
Large vs. Small Functions More ranting and raving.
Locking Native Files A utility function for applying DOS or Windows locks to files (something that's needed when sharing files under Windows).
MATIOTA Function A fundamental and indispensible utility function. Now with assembler source code!
MIME, uuencode, etc. Basic information, links, and translators.
Multivariate Polynomials Including the longest line of code I've written in years.
Non-Exponential Formatting How to avoid seeing E in your numbers. A useful utility function; a rather hairy piece of advanced APL programming.
Permutations and Anagrams Includes efficient subroutines for generating permutations.
Pushbutton Lock Puzzle How the right data representation can make or break an algorithm.
Rubik's Cube No, I don't solve the rude brick. This article is about efficiency, optimization, and hybrid (mixed-language) programming. It also has tutorial information about multidimensional arrays.
Set Game Puzzler My original solution as posted to comp.lang.apl. Includes a subroutine for generating combinations, and benchmarks of APL vs. J.
Set Game Tutorial A good demonstration of APL's facility at handling multidimensional arrays. Includes an explanation of the solution for APL novices.
Spelling Numbers A simple utility that would be a good introductory tutorial if I added a step-by-step trace. For now, you'll have to practice reading APL code.
StepView Debugger This is another indispensible utility that my colleagues and I rely on.
Sunrise/Sunset, Moonrise/Moonset APL versions of two utility programs from Sky & Telescope magazine.
32-bit to 64-bit Real Conversion A useful program along with some information on modelling execution time.
User Command Processor Probably my most useful tool, one that I use many times an hour when programming.
Word Wrap Puzzle Includes Bob Smith's incredible domino-based solution.


JimW's Home Page

AltStyle によって変換されたページ (->オリジナル) /