DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦58a68106a⟧ TextFile

    Length: 1390 (0x56e)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦e24fb53b7⟧ 
            └─⟦this⟧ 

TextFile

separate (Bbr_General_Bundle)
package body Pair_Ball_And_Boxes_Rule is

    function Premiss return Fact_Queries is
    begin
        return (Balls.Exist ((Size   => Define_As (S),
                              Colour => Define_As (C),
                              Place  => Is_Equal (On_Heap))),

                Boxes.Exist ((Colour => Is_Equal (C),
                              Size   => Define_As (T) and Is_Greater (S),
                              State  => Is_Equal (Free))),

                Boxes.Absent ((Colour => Is_Equal (C),
                               Size   => Is_Less (T) and Is_Greater (S),
                               State  => Is_Equal (Free))));
    end Premiss;

    procedure Action (The_Pair : Fact_Collection) is
        The_Ball : Fact_Name renames The_Pair (1);
        The_Box  : Fact_Name renames The_Pair (2);
    begin
        New_Line (Standard_Output);
        Put_Line ("----- Pair_Ball_And_Boxes -----", Standard_Output);
        New_Line (Standard_Output);
        Put ("The ball : ", Standard_Output);
        Put (The_Ball, Standard_Output);
        New_Line (Standard_Output);
        Put ("Has been paired with : ", Standard_Output);
        Put (The_Box, Standard_Output);

        Balls.Change (The_Ball, Place, To_Value => In_Box);
        Boxes.Change (The_Box, State, To_Value => Busy);
    end Action;

end Pair_Ball_And_Boxes_Rule;