Building a platform to support a language that may be the original source of the subroutine concept, upon a platform that has its own native subroutine concept, obscures the original insights. It abstracts mechanism which we want to illuminate. I contemplated writing a version for the 701 instruction set which provided no direct support for subroutines, but that seemed extreme.

The version which uses the native stack illuminates other aspects of the language, especially how it differs from today’s dominant stack discipline which frees the stack upon return. Its brevity is instructive in itself.


This is also discussed here.