7.1 Global Macros

The following macros are used throughout Combinat.

47global macros 47  (46)  48
I == MachineInteger;
Z == Integer;
Q == Fraction Integer;

Defines:
I, used in chunks 55, 85, 86a, 93c, 96, 101, 103, 104a, 110, 112, 113a, 120, 122, 123, 125a, 127, 132, 133, 139–43, 155a, 157–60, 162, 163a, 178, 179, 186, 189, 204, 205, 207, 242, 253a, 257–59, 266a, 268, 269, 271–76, 278b, 280, 281, 284, 285a, 289, 292–95, 307, 321a, 337, 341, 342, 346–48, 350, 352–54, 357–59, 361, 363, 369, 370, 372, 373, 380–83, 386, 389b, 397, 401b, 413, 414c, 418c, 424, 482b, 483c, 485–87, 490d, 491a, 493, 537b, 557–59, 561, 562, 564, 566, 567, 569b, 581b, 582, 589, 595–98, 601–9, 626, 628, 633b, 649, 654, 657, 660, 661a, 665, 670–89, 692b, 694, 695a, 699, 701–4, 706, 707, 709–17, 719, 721, 723–27, 733, 736–40, 745–47, 749, 751, and 753–61.
Q, used in chunks 25, 55, 86b, 93a, 101a, 104a, 111b, 112, 124c, 125a, 132b, 142b, 143b, 163a, 178, 179, 281b, 284, 307, 321a, 335, 339, 341a, 348, 350a, 354a, 361, 363, 533c, 626, 685, 695–98, 701, 705–7, 710–17, 719, 721, 723–27, 743–45, and 749–51.
Z, used in chunks 25, 86b, 93b, 101, 104a, 112, 124, 125a, 133a, 139–43, 162, 163a, 280a, 281b, 284, 337, 354a, 357, 361, 372, 373, 531c, 569b, 582, 626, 628, 633b, 635, 649, 657, 685, 695b, 699–701, 703, 706, 707, 712–17, 719, 721, 723–27, 733, 736–38, 740, 743, 749, and 750c.

Uses Integer 66 and MachineInteger 67.
ToDo 10
rhx 6 27-Jan-2007: See http://www.aldor.org/pipermail/aldor-l/2007-January/000579.html. It demonstrates a bug. The workaround was given in the same thread by Christian Aistleitner.
48global macros 47+   (46)  47
BugWorkaround(CONDITION)(CODE) == {
        assert(CONDITION);
        if CONDITION then CODE else never;
}

Defines:
BugWorkaround, used in chunks 104a, 112, 125a, 143b, 163a, 357, 358, 693–98, 701, 714, 745a, 746b, and 761b.