Dear Maude Abusers, A new alpha release can be accessed at SRI-CSL in: ~eker/public_html/Maude/Alpha90a/ or downloaded from: http://www.csl.sri.com/~eker/Maude/Alpha90a/ Alpha release site authentication: User Name: maudeabuser Password: bughunter The version reports itself as Maude 2.4 and will be release as such to coincide with WRLA 2008 unless show stoppers are reported. Changes -------- (1) The GNU libsigsegv library is used to distinguigh between true segmentation faults and stack overflows and so stack overflows are now reported with an informative message. Previous behavior was to catch true segmentation faults but not install an alternative signal stack so stack overflows would go uncaught, with the OS terminating the process. This would often confuse users. This library contains low level platform specific code to heuristically distinguish between the two conditions for many platforms. It has been added to the list of prerequisites for building Maude from source. (2) The semi-compilation of huge righthand sides has been optimized. Consider an equation of the form eq lhs = l(a1, l(a2, l(a3, ... l(a10000, a10001) ... ))) . Here there were 3 issues that caused quadratic semi-compilation time due to the optimization of slots in the substitution for storing partly built instances. (i) Left to right compilation in this case produced quadratically many conflicts between slots. This is now resolved by compiled largest subterms first. (ii) The conflict detect used to compare the lifetime of every slot to every other slot to detect conflicts. Now a shortlist of potential conflict slots is maintained. (iii) The graph colorer used an adjacency matrix. It now uses adjacency sets. These changes mean that examples such as the one above can be semi-compiled in linear rather than quadratic time. This was motivated by a pathological example from Manuel, that had 20001 subterms needing to be assigned slots. (3) The construction of free theory discrimination nets has been optimized. Although is it still worst case exponential, a number of subalgorithms which were best case O(n^2) are now O(n log n) where n is the number of equations with a given top symbol. These optimizations were motivated by a pathological from Manuel that had 10000 equations for one symbol. (4) A lot of redundant code and some redundant classes are deleted. Steven