April 20, 2010
Regarding the proposition to require "the filing of a computer program of the contractual cash flow provisions expressed as downloadable source code in Python", i.e., the "waterfall computer program":
As a teacher of computer science and student of programming-language research, I appreciate the acknowledgement of programming languages as a potentially useful vehicle for expressing unambiguously the contractual provisions of the securities in question. Having said that, I urge you to adopt a less-specific language requirement. Python, while a respectable open-source tool, is not specifically designed with such requirements in mind, and its design decisions admittedly are subject to the whim of a single language developer, its primary author. Further, I strongly suspect that expressing characteristics of financial contracts in machine-readable form will be a rich area of future development we may very well see much better tools available in the next few years.
I suggest instead that you require the filing of a program expressing the necessary provisions in any declarative programming language that (a) is specified by a published grammar and formal semantics that have undergone some reasonable duration, perhaps two years, of public scrutiny, (b) has multiple implementations whose source code is available under an Open Source license, and whose use has been demonstrated in publicly visible projects for a similar duration, and (c) follows a design that is the product of transparent community processes (such as published, peer-reviewed research, or broad agreement in publicly archived discussion among a community of designers).
If the Commission finds it necessary to adopt a specific programming language, I suggest the above criteria be used in evaluating candidate languages.