Functies toepassen op een element uit een geneste lijst

Ook de functie 'map' kan gebruikt worden, zij het met enige voorzichtigheid, immers:

> Lijst := [[a,b,c],[d,e,f]];

[Maple Math]

> map(sqrt,Lijst);

Error, sqrt expects its 1st argument, x, to be of type algebraic, but received [a, b, c]

Dit is duidelijk niet het gewenste resultaat. De functie 'sqrt' krijgt een lijst als argument, maar is enkel gedefinieerd voor scalars. 'sqrt' moet eigenlijk toegepast worden op elk element van elke rij. Een functie 'map' moet toegepast worden op elke rij zodat deze 'sqrt' laat inwerken op elk element uit die rij. Dit kan eenvoudig met een lambda functie 'x -> map(sqrt,x)'.

> map(x -> map(sqrt,x),Lijst);

[Maple Math]

Om een functie te laten inwerken op een specifiek onderdeel van een lijst is 'applyop' weer nuttig.

> applyop(sqrt,[1,2],Lijst);

[Maple Math]

> Lijst := 'Lijst':