Programming Facilities Changes in Maple 13
Maple 13 includes the following changes to programming facilities.
Task Programming Model
Launch External Processes
The Threads[Task] subpackage provides a new multithreaded programming model. Using the Task Programming Model, scalable multithreaded code can be written in Maple. This model simplifies the process of writing multithreaded code, often removing the need to use synchronization routines. Going forward, most parallel code should be written using the Task Programming Model instead of calling Threads[Create].
New commands have been added to the OpenMaple[C] package.
MaplePushErrorProc and MaplePopErrorProc allow external code to register callback functions that are executed when errors occur.
The MapleGetInterruptValue function returns true if an interrupt has been received by the kernel and false otherwise. This can be used to check if an interrupt has occurred, but the external code needs to perform some cleanup before calling MapleCheckInterrupt.
The new MaplePushGMPAllocators and MaplePopGMPAllocators functions allow external code to register and unregister GMP memory allocation functions in a thread safe way.
Maple language files that contain preprocessor directives may now be read using the read statement. This enables the use of directives such as $include and $define in a more flexible manner than was previously possible.
You can now add multiline comments to your code. Multiline comments are delimited by (* and *) characters. Multiline comments are not available in 2-D math. See comment for more about comments in Maple.
The system command has a new option that lets you execute an external application in a new process. Maple does not block, waiting for this process to finish, but continues immediately after it was launched.
Index of New Maple 13 Features
Language and System Updates in Maple 13
Download Help Document
What kind of issue would you like to report? (Optional)