Ошибка парсинга в модуле 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:

Ответы (0 шт):