RosettaCodeData/Task/Stack/PARI-GP/stack.parigp

19 lines
222 B
Plaintext

push(x)=v=concat(v,[x]);;
pop()={
if(#v,
my(x=v[#v]);
v=vecextract(v,1<<(#v-1)-1);
x
,
error("Stack underflow")
)
};
empty()=v==[];
peek()={
if(#v,
v[#v]
,
error("Stack underflow")
)
};