Dear Maude (ab-)users A new alpha release, ~eker/AlphaRelease62/ is available. For people on this list who don't have a CSL account it's ftp-able from ftp.csl.sri.com in pub/users/eker/MaudeAbusers/alphaRelease62.tar.gz This version has a first approximation to the Maude 2.0 syntax, semantics and metalevel. Some Caveats: ============= Rewrite conditions still are not implemented (though they parse). The new rewrite semantics for unbound variables is not implemented. The compiler does not work in this version. meta-apply/meta-xapply/meta-match/meta-xmatch are not implemented. specials in the meta level are not implemented (those that worked in the old metalevel *might* work since I left this code in). meta-pretty-print has problems with kinds. meta-replace and meta-substitute are not implemented - but they could easily be written in Maude. I have made several changes to Narciso's spec for the Maude 2.0 meta level: (1) the sorts_. constructor is eliminated - the syntax now goes into the mod/fmod construtors. (2) sortInKind and sameComponent have been replaced by the more general sameKind operator. (3) completeName is lifted to types for simplicity. (4) the metalevel is now split into 3 modules for metaterms, metamodules and descent functions. I have only built a version for Linux. Some example reductions in the new metalevel: select META-LEVEL . red meta-reduce( fmod 'FOO is protecting 'MACHINE-INT . sorts none . none op 'fact : 'MachineInt -> 'MachineInt [none] . none eq 'fact['0.MachineInt] = '1.NzMachineInt . ceq 'fact['X:MachineInt] = '_*_['X:MachineInt, 'fact['_-_['X:MachineInt,'1.NzMachineInt]]] if '_>=_['X:MachineInt, '0.MachineInt] = 'true.Bool /\ '_<_['X:MachineInt, '20.MachineInt] = 'true.Bool . endfm, 'fact['21.NzMachineInt]) . red meta-reduce( fmod 'FOO is protecting 'STRING . sorts none . none none none none endfm, '"this is\na string".String) . red meta-reduce( fmod 'FOO is protecting 'FLOAT . sorts none . none none none none endfm, '_+_['1.0.Float,'1.0.Float]) . red completeName( fmod 'FOO is protecting 'BOOL . sorts 'NzNat ; 'Nat ; 'NzInt . subsort 'NzNat < 'Nat . subsort 'NzNat < 'NzInt . none none none endfm, '`[NzInt`]) . red meta-rewrite( mod 'FOO is nil sorts 'Foo . none op 'a : nil -> 'Foo [none] . op 'b : nil -> 'Foo [none] . none none rl ['c]: 'a.Foo => 'b.Foo . rl ['c]: 'b.Foo => 'a.Foo . endm, 'a.Foo, 2) . Steven