December, 1983 to the present:
September, 1982 to December, 1983
September, 1978 to June, 1982
September, 1976 to June, 1977
B.S. Mathematics, Stanford University, 1964
M.A. Creative Writing, San Francisco State University, 1969
Ph.D. English Literature, University of California, San Diego, 1978
Additional courses in programming languages (C, C++, Prolog, Lisp) and artificial intelligence programming at UCSD Extension
Forth Interest Group
Association for Computing Machinery
"Yet Another Recursive Decompiler," 1985 FORML Conference Proceedings. Describes a Forth decompiler, written in Forth.
"Forth and the Rest of the (DOS) World," Forth Dimensions, Volume XV, Number 4 (November-December, 1993). This paper also appeared in the 1993 FORML Conference Proceedings. Describes a technique for turning an executable Forth image into a standard object file (.OBJ format) so that it can be made into a standard executable (.EXE format) with a standard linker (e.g., Borland's TLINK). Also describes how to use this technique to link foreign functions to the Forth dictionary, making C (and other) libraries available to Forth programmers.
At FORML this paper received an award for "Featured Paper on Forth with Benefit to the non-Forth Community." Its publication in Forth Dimensions earned second place in a contest on the topic of "Forth Development Environments."
"Forth in 32-Bit Protected Mode," 1993 FORML Conference Proceedings. Describes a straightforward technique for implementing a 32-bit flat model Forth launched from DOS using DPMI.
"DPMI Forth Revisited," 1994 FORML Conference Proceedings. Further discussion of the relationship between 16-bit and 32-bit Forth code connected through the DOS Protected Mode Interface.
"Forth in 32-bit Protected Mode," Forth Dimensions, Volume XVI, Number 5 (January-February, 1995). Revision and combination of the two previous papers.
"Switch Suggestions," Forth Dimensions, Volume XVI, Number 4 (November-December, 1994). Letter on a method of implementing a C-like "switch" in Forth.
"RETRY, EXIT, and Word-Level Factoring," Forth Dimensions, Volume XVII, Number 4 (November-December, 1995).
For the past several years I've been maintaining, re-developing, and extending a large DOS-based database management system in Forth, including re-writing the compiler, developing multi-user database access, implementing context sensitive help, etc.: up and down the environment from user-interface to system calls, 15-20 megabytes of source code in blocks in a 16-bit environment necessarily optimized for space. All this is interesting, but a little repetitious.
Unlike many Forth programmers, I'm more interested in languages and systems than in hardware. I've been exposed to Windows programming with Win32Forth and, to a lesser extent, LMI WinForth. I'm familiar with a number of other programming languages and their paradigmatic differences, and been most fascinated by Java, Delphi, and Prolog, and by C++ when it was straightforward and new.
I would prefer to work in Forth, particulary a 32-bit ANS compliant object-oriented Forth on a Windows platform. I would be almost as happy (perhaps happier in the long run) with Java, which I see as a programming language, not just an applet generator. As a Forth programmer I'm impressed with Java's simplicity and power, which rival Forth's, and with its popularity, which means so many things, including the possibility of supplanting C++ as the dominant development language. My third environmental choice would be Delphi, for its ease of use and native-code power.
I have, at this point, only home-based, recreational familiarity with Java and Delphi, enough to convince me of their power and to give me a toehold on the learning-curve. I count on the fact that I am a fast learner, particularly with things I enjoy.
September 29, 1996