I've wrapped up DRAWL by incorporating extensions like macros and strings. Also added a few Apple II functions for screen and keyboard interactivity. Dare I say it's close to a real programming language. The macros really help make the code less weird. There's one that provides a way to write functions such as this,
Code:
(DEFPRO DUMMYFUNC (ARG1, ARG2) ; ARGUMENTS
(LOCAL1, LOCAL2) ; LOCAL VARS
;
(SETQ LOCAL1 (+ ARG1 ARG2))
(SETQ LOCAL2 (* ARG1 ARG2))
(PRINT LOCAL1 LOCAL2)
(RETURN (- LOCAL2 LOCAL1))
)
by cleaning up a lot of the extra verbiage needed to get something defined. Strings and associated functions certainly makes it feel like a general purpose language.
I believe DRAWL is a pretty palatable version of
LISP 1.5 - before it got too big. It doesn't take much to understand the language, but a much greater investment to be productive in it.