Maple 12 Advanced Programming Guide