7.4 Axiom-Aldor compatibility

The library Aldor provides a category VersionInformationType. It is missing from the Axiom library. However, ALLPROSE generates a file cscombinatversion.as which needs that type. As a simple workaround we provide a macro that solves that problem.

53macro: VersionInformationType 53  (54)
MachineInteger == SingleInteger;
VersionInformationType == with {
        name: String;
        version: String;
        major: MachineInteger;
        minor: MachineInteger;
        patch: MachineInteger;
        credits: List String;
}

Uses MachineInteger 67, name 198, and String 65.

The following code chunk is only relevant if #assert Axiom is set.

54Axiom-Aldor-compatibility macros 54  (46)
macro {
#if DontNeedLibraryCombinat
        macro: VersionInformationType 53
#else
        LabelType == ACLabelType;
        PrimitiveType  == BasicType;
        TextWriter     == OutputForm;
        Character      == ACCharacter;
        String         == ACString;
        Integer        == ACInteger;
        MachineInteger == ACMachineInteger;
        PrimitiveArray == ACPrimitiveArray;
        Symbol         == ACSymbol;
        Fraction       == ACFraction;
        Permutation    == ACPermutation;
        TRACE(msg, val) == {} -- switch off TRACE facility
        numerator x == numer x;   -- Fraction X -- it is better to shadow
        denominator x == denom x; -- Fraction X -- numerator and denominator
#if DontShadowList
#else
        List           == ACList;
#endif
#endif
}

Defines:
DontShadowList, used in chunk 613.

Uses ACCharacter 577, ACFraction 610a, ACInteger 581a, ACLabelType 572, ACList 588b, ACMachineInteger 584, ACPrimitiveArray 592, ACString 579, ACSymbol 587a, DontNeedLibraryCombinat 51, Integer 66, LabelType 62, MachineInteger 67, Permutation 106, and String 65.