22. A computer system comprising: a byte-code compiler in a memory for translating source code representing functions into byte-codes representing functions; a virtual machine including an analysis unit in the memory, the analysis unit performing a first analysis of the byte codes to select a subsequence of the byte codes based on at least one property of at least one variable referenced by the subsequence of byte codes, the analysis unit further performing a second analysis of the subsequence to analyze a usage pattern of the at least one variable used by the subsequence, the second analysis examining at least one dynamic run-time property of the at least one variable used in the subsequence to determine whether the usage pattern of the at least one variable indicates that the at least one variable is suitable for processing by a compiler and shortening the subsequence based on the second analysis to exclude at least one byte-code referencing a variable identified as unsuitable for processing by the compiler; the virtual machine building a symbol table in memory of a general type and shape for each variable in the subsequence; a compiler, executed by a processor, for generating processor instructions from the byte-codes in the subsequence; and a second compiler, executed by a processor, for converting byte-codes not resident in the subsequence to alternate byte-codes.
25. The system of claim 22 wherein the analysis unit generates an indicator of a user programming error.