another polynomial operation query



I was a Reduce/PSL addict until I retired from professional life. To help people I am still in contact with and who cannot afford the developer version (and neither can I now !) I am trying to convert my former Reduce/PSL programs to Maxima.

Recently there was a request for an operation on polynomials which begs for the following generalisation:

Given a multivariate polynomial (perhaps in indeterminates on the form of an array x of dimension n and non-commutative as well) return the list of its homogeneous components. 

Simply return the homogeneous components of degree k if there is no more efficient way to generate the required list than collecting the results from k=0 up to the degree of the polynomial. (In fact I could not even find a function returning the degree of a multivariate polynomial.)

Are such functions already hidden in some polynomial package ?  

Many thanks for any suggestion.

R J-M Grognard