Relations, that is, mathematical relations, define tcharacteristics between computer languages. Such relations have only passing connection with the appearance and syntax of each language.
For example, the differences between C and Python lies fundamentally in the different kinds of relations that each language provides. C has a close set of relations between statements, objects and machine language. Python has more general relations between objects. Such differences would remain even if one removed all braces from C. Leo defines, and clarifies, the containment relations between modules, classes and methods. Leo's scripting features exploit those relations in novel ways. My thinking recently has mainly focused on creating and exploiting new relations between programming objects. Unit testing creates an excellent kind of "double-entry accounting": the code in each unit test is quite different from the code being tested, both in form (the code) and the content (the relations being verified). So unit tests provide a model or template for scripts that define or verify arbitrary assertions (relations) about programs. Furthermore, any script can become a unit tests, so in one sense the "project" becomes one of expanding the scope and vision of unit tests. The fundamental intuition, perhaps deeply flawed, is that we programmers know very similar kinds of things about our programs, whether we are programming in C or in Python. Such "occult knowledge" isn't typically dealt with explicitly. t may be fundamentally important to the design and implementation of code, but it does not lie *in* the code itself, except perhaps as easily ignored comments. So the project is to create explicit, verifiable constraints on programs, the verification of which can improve the safety and speed of our programs. The goal is to make Python as fast as C, and C as safe as Python. The goal need not be met perfectly in order to be useful. Edward -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to leo-editor@googlegroups.com. To unsubscribe from this group, send email to leo-editor+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en.