http://www.adaconcept.com/programs/kartyacsomag.adb
package body kartyacsomag is

   procedure rendez (kp: in out kartyapakli) is                      --a rendezo eljaras
      

    --beagyazas + "enkapszulacio" (fizikai/logikai tartalmazas)
     
    ---------[specifikacio]------- 
      
      generic                                                        --| beagyazott generikus eljaras, ami valamilyen csere-re lesz jo, egy "majd" kapott tipusra  
                                                                     --| (azert "majd" mert meg nem tudjuk milyen tipus, es azert kapott, multido!!!, mert most gondoltunk ra, sokkal elobb, mit ahogy hasznalnank a sablont) ez a hasznalonak mar a mult...
         type tipus is private;                                      --| a kapott/kapando :) valamilyen tipus...
      
      procedure csere(A:in out tipus; B:in out tipus);               --| es erre a tipusra a csere
    
    -----[specifikacio vege]------
    
    ------[torzs]------  
              
     procedure csere(A:in out tipus; B:in out tipus) is
       c:tipus ;                                                        
     begin
        c:=a;
        a:=b;
        b:=c;
     end csere;
     
    ---[torzs vege]----
   
   
    procedure cserelo is new csere(lap);                             --peldanyositas, a "kulso"/tartalmazo kartyacsomag csomag lap tipusaval. azaz lapok cserelesere hasznalhatjuk ezekutan

   begin
      for i in kp'first..kp'last-1 loop                              --| A maximumkivalasztasos rendezes, ami az eljaras parameterekent kapott kp tombot rendezi
         for j in i+1..kp'last loop                                  --| figyeljuk meg, hogy az attributumokat hasznalva ( 'attributum... :) ) barmilyen indexhataru tombbon mukodik az algoritmus
           if kp(i)<kp(j) then cserelo(kp(i),kp(j)); end if;         --| itt hasznaljuk a generikus/sablonparameterkent kapott "<" fuggvenyt ("rendezesi elvet")...             
         end loop;                                                   --| ...valamint a specialisan lap-ok cserelesere szolgalo, lapokat cserelo cserelo eljarasunkat
      end loop;                                                      --|
   end rendez;

end kartyacsomag;