Слайсов в АО нет. Но есть тип RANGE, который можно передавать вместе с массивом. К значениям типа RANGE можно применять операторы FIRST, LAST, STEP; STEP - это шаг с которым будут обрабатываться элементы массива. RANGE можно использовать везде, где допустимо использовать индекс.
## Код:
```
MODULE Test;
IMPORT Commands;
VAR range: RANGE;
VAR a, b: ARRAY [ * ] OF LONGINT;

PROCEDURE Print( CONST array: ARRAY [ * ] OF LONGINT );
VAR i: SIZE;
VAR context: Commands.Context;
BEGIN
   context := Commands.GetContext( );
   FOR i := 0 TO LEN( array, 0 ) - 1 DO
      context.out.Int( array[ i ],0 ); context.out.Char( " " );
   END;
   context.out.Ln;
END Print;

PROCEDURE Do*;
BEGIN
   a := [ 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 ];
   range := 0 .. LEN( a, 0 ) - 1 BY 1;
   b := a[ range ];
   Print( b );
   range := 0 .. LEN( a, 0 ) - 1 BY 2;
   b := a[ range ];
   Print( b );
   b := a[ 0.. BY 2 ];
   Print( b );
   b := a[ .. BY 2 ];
   Print( b );   
   b := a[ .. BY 2 ] * 10;
   Print( b );
   b := a[ .. ] * 10;
  Print( b );
END Do;

END Test.Do~

System.Free Test~
```

Вывод:
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
10 10 10 10 10 10 10 10 10 10
10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20