/* Array reverse */                                   /* Array reverse, canonical version */

ArraySort ->                                          /* Reverse ->                       */
Arg Array : ^Array,                                   /* Arg A : ^Array                   */
    . : REVERSE_SORT                                  /*                                  */
                                                      /* Do First = i,                    */
Steps = Array._ % 2                                   /*    Second = ( A._ + 1 ) - i,     */
                                                      /*    A.First = A.Second = A.First  */
Do First = i,                                         /* Where i = 1 to A._ % 2           */
   Second = ( Array._ + 1 ) - i,                      /*                                  */
   Array.First = Array.Second = Array.First           /* Return                           */
Where i = 1 to Steps
                                                      /* Export Reverse                   */
Return

Export ArraySort