\section{s:bigarray-access}{Syntax for Bigarray access} %HEVEA\cutname{bigarray.html} (Introduced in Objective Caml 3.00) \begin{syntax} expr: ... | expr '.{' expr { ',' expr } '}' | expr '.{' expr { ',' expr } '}' '<-' expr \end{syntax} This extension provides syntactic sugar for getting and setting elements in the arrays provided by the \stdmoduleref{Bigarray} module. The short expressions are translated into calls to functions of the "Bigarray" module as described in the following table. \begin{tableau}{|l|l|}{expression}{translation} \entree{@expr_0'.{'expr_1'}'@} {"Bigarray.Array1.get "@expr_0 expr_1@} \entree{@expr_0'.{'expr_1'}' '<-'expr@} {"Bigarray.Array1.set "@expr_0 expr_1 expr@} \entree{@expr_0'.{'expr_1',' expr_2'}'@} {"Bigarray.Array2.get "@expr_0 expr_1 expr_2@} \entree{@expr_0'.{'expr_1',' expr_2'}' '<-'expr@} {"Bigarray.Array2.set "@expr_0 expr_1 expr_2 expr@} \entree{@expr_0'.{'expr_1',' expr_2',' expr_3'}'@} {"Bigarray.Array3.get "@expr_0 expr_1 expr_2 expr_3@} \entree{@expr_0'.{'expr_1',' expr_2',' expr_3'}' '<-'expr@} {"Bigarray.Array3.set "@expr_0 expr_1 expr_2 expr_3 expr@} \entree{@expr_0'.{'expr_1',' \ldots',' expr_n'}'@} {"Bigarray.Genarray.get "@ expr_0 '[|' expr_1',' \ldots ',' expr_n '|]'@} \entree{@expr_0'.{'expr_1',' \ldots',' expr_n'}' '<-'expr@} {"Bigarray.Genarray.set "@ expr_0 '[|' expr_1',' \ldots ',' expr_n '|]' expr@} \end{tableau} The last two entries are valid for any $n > 3$.