Arrays in AAQZ6

Table of Contents

1. Array Examples

{bind [arr = {array 10 20 30}]
     {seq {aset arr 2 100}
          {aref arr 2}}}

env

arr -> 3

Store

Swap

def swap(arr, i, j):
    tmp = arr[i]
    arr[i] = arr[j] # -> structoral mutation
    arr[j] = tmp # -> structoral mutation

{bind [swap = {(arr i j) => }]
    {bind [tmp = {aref arr i}]
         {seq {aset arr i {aref arr j}}
              {aset arr j tmp}}}}]

    {bind [my_arr = {array 10 20 30}]
         {seq {swap my_arr 0 2}
              {aref my_array 2}}}}

Env & Store

you can keep track of store length so you know where to add

Date: 2024-11-06 Wed 00:00

Author: Anthony Rossi

Created: 2024-11-06 Wed 16:54