Ошибка парсинга в модуле Maple 2023: "unable to parse", подсвечивается "local"
Столкнулся с проблемой при попытке определить модуль Geometry3D в Maple 2023. При выполнении кода Maple выдает ошибку "Error, unable to parse", и при этом слово local в процедуре angleBetween подсвечивается красным.
with(LinearAlgebra):
Geometry3D := module()
export distance3D, vectorLength, angleBetween;
option builtin = 123, encrypted, cache, operator, lock, shared;
distance3D := proc(p1::Vector, p2::Vector)
if Dimension(p1) <> 3 or Dimension(p2) <> 3 then
error "Точки должны быть в 3D пространстве";
end if;
return sqrt(add((p1[i] - p2[i])^2, i=1..3));
end proc;
vectorLength := proc(v::Vector)
if Dimension(v) <> 3 then
error "Вектор должен быть в 3D";
end if;
return sqrt(add(v[i]^2, i=1..3));
end proc;
angleBetween := proc(v1::Vector, v2::Vector)
if Dimension(v1) <> 3 or Dimension(v2) <> 3 then
error "Оба вектора должны быть в 3D";
end if;
local dot, len1, len2, angle;
dot := DotProduct(v1, v2);
len1 := sqrt(add(v1[i]^2, i=1..3));
len2 := sqrt(add(v2[i]^2, i=1..3));
angle := arccos(dot / (len1 * len2));
return angle;
end proc;
end module: