The library is a list of programs. Each program has a name, a vernacular representation, and a 1# representation.
We have not settled on the way that programs are ordered in the library.
The Library should have buttons or pulldown menus called "cycle-detect" and "compile-all".
Here is how "compile-all" should work:
The action begins with "cycle-detect". So if a cycle is detected, the same modal will appear. Otherwise, action continues with a compilation of all programs in the library. (The order does not matter.) Each vernacular representation remains unchanged. (This point should be discussed.) But the 1# representations of programs may well change during the compilation step. That is, suppose that we (re-)compile a program p, and a different program in the library, say q, refers to p (in its vernacular). Then when we "compile-all", once we change p, we will later change q.
The library is a list of programs. Each program has a name, a vernacular representation, and a 1# representation.
We have not settled on the way that programs are ordered in the library. The Library should have buttons or pulldown menus called "cycle-detect" and "compile-all". Here is how "compile-all" should work:
The action begins with "cycle-detect". So if a cycle is detected, the same modal will appear. Otherwise, action continues with a compilation of all programs in the library. (The order does not matter.) Each vernacular representation remains unchanged. (This point should be discussed.) But the 1# representations of programs may well change during the compilation step. That is, suppose that we (re-)compile a program p, and a different program in the library, say q, refers to p (in its vernacular). Then when we "compile-all", once we change p, we will later change q.