The IDE includes powerful tools to edit and compile Soy Templates, work with Closure Compiler and Closure Stylesheets,
manage web projects which use Google Closure Tools.
Maple IDE team is launching a Tester Program that will allow us to incorporate more input in the product design and development process.
We are looking for regular testers for Maple IDE. Your testing complements our in-team testing of new software versions. By enlisting a diverse group of beta testers, we can see how the software performs when it's being used for normal, ordinary tasks. This lets us provide a more stable Maple IDE with better user experience. As a member of the program you will receive the latest version of the tool.
If you would like to participate in the Maple IDE testing, please send us an email at info@digi-area.com and we will provide you with the information needed to get started.
For those of you who have been waiting to try the Maple IDE, today’s your lucky day. Updated Maple IDE became available for purchase through the DigiArea website, and you can now download a 30-day free trial of the tool just to play around with the amazing features for Maple programming.
This tutorial shows how to setup a dual-language project such as Maple/Java or Maple/C in Maple IDE. In the end of the article you can find some links for further reading.
Maple Connectivity
The integration of Maple projects with other Eclipse projects is designed for seamless development and building processes of your C, Fortran, or Java code for Maple using External Calling package.
In this tutorial we develop a Java/Maple project consisting of:
A Java class, GeometryUtils, with methods circleArea() and rectangleArea(). The class calculates area for the shapes (circle, rectangle). In the tutorial we use super simple Java class to concentrate on the subject.
A Maple module, GeometryModule, with public variables circleArea and rectangleArea which call corresponding Java methods directly from the compiled Java class GeometryUtils using define_external Maple command.
Create mapleide.extcall.java Java project and GeometryUtils Java class.
GeometryUtils is a simple Java class that uses java.lang.Math class.
package mapleide.extcall.java;
public class MathUtil {
public static double circleArea(double radius) {
return Math.PI * Math.pow(radius, 2);
}
public static double rectangleArea(double a, double b) {
return a * b;
}
}
From the project's pop-up menu (right-click), select Maple > Add Maple Nature.
The project becomes a dual Maple Project (Maple/Java) with the default Libname/Build Path.
Create a new Maple source folder named modules and add GeometryModule Maple file with the following module:
Do not forget to replace CLASSPATH value with the actual output folder path of your Java project where compiled Java classes are located (by default is bin folder of your project).
From a project's pop-up menu (right-click), select Run as > Maple.
Maple runs in the Eclipse console and we can use our Java methods as normal Maple procedures defined in the module.
Future enhancements
For the next update for the Maple IDE, we plan to add three export wizards for Java, C and Fortran projects. The wizards automatically generate a Maple module with external calling commands based on the selected Java class, C or Fortran shared library.
Possible issues
java.lang.UnsupportedClassVersionError: ... : Unsupported major.minor version 51.0
The error means you compiled the Java class with a newer version of Java and are trying to run with an older version, such as compiling with Java 7 but trying to run in Java 5 environment. Currently Maple uses Java 5 environment.
To fix the error, do the following:
From a project's pop-up menu (right-click), select Properties > Java Build Path. Select Libraries tab.
Select JRE System Library and click Edit button.
From the execution environment drop-down menu choose J2SE-1.5. Click OK
java.lang.ClassNotFoundException: GeometryUtils
The error means the Java class cannot be found because of an incorrect name or a wrong path in the command.
To fix the error, check CLASS and CLASSPATH options of the define_external command.
CLASS must contain fully qualified name of the Java class, such as mapleide.extcall.java.GeometryUtils, but not GeometryUtils.
CLASSPATH must contain the directory where the classes reside.
The Maple IDE project team is pleased to announce the release of the standalone version of the Maple programming toolkit. Now Maple IDE is available for Windows, Unix and Mac OS as standalone tool.
For the information about new versions, please see Maple IDE page.
For the complete installation instructions see the following video:
Open Maple element (e.g.: a module, an procedure) without clicking through "infinite" list of source folders with Maple symbols and time-wasting manual search: Ctrl + Shift + F3. If you are looking for Maple elements such as modules, procedures, variables etc. which defined in your workspace, this shortcut will do it for you.
Go to a type declaration: F3. Alternatively, you can hold Ctrl down and click the hyperlinked variable or module.
Go directly to an element (module, variable) of a huge Maple file: Ctrl + O. Use Ctrl + O to get live list of matched elements and press Enter when you have finished.
Go to closing brace: Ctrl + Shift + P. If you have a big module or procedure, use this shortcut which brings you right to the end of the element (closing brace).
Find references: Ctrl + Shift + G. This shortcut helps you find all references of the selected Maple element in the workspace.
Go to a line in the Maple file: Ctrl + L. Enter line number and click Ok to go to the selected line.
We are proud to announce you about the new feature in the Maple IDE - Importing existing MPL files into a Maple Project.
You can update Maple IDE using Update Manager mechanism in the Eclipse.
The following article briefly introduces the migrating process using the new import wizard, and then provides the video for users who are considering to use MPE for theirs existing Maple applications.
What about MPL files?
Maple files with code can be very huge. Some Maple modules have more then 10000 lines of code. For instance, RegularChains module from RegularChains.mla library has more then 450 lines for locals and exports definitions only (without the module body). The standard solution for such a situation is the Maple preprocessor. The preprocessor implements some subset of the C preprocessor's capabilities such as include, define, ifdef and so on. A Maple programmer can split a module code into parts and use include directive to "compile" the pieces together.
It was hard decision for us to not support the preprocessor directives. On the one hand, we understand that Maple programmers has a lot of code with preprocessor directives, but on the other hand, we also understand that to go to the future we need to reject supporting such old technology as preprocessor directives.
We made the decision not to support the preprocessor directives but make an importing tool to import from *.mpl files to *.maple files.
Import MPL file into a Maple project
MPL import wizard provides fast and super easy way to translate your existing MPL files into a Maple Project.
The main concepts of the MPL import wizard are:
migrating process and transition curve must to be smooth.
you need not more than 3-4 steps before you can resume working with your existing Maple applications in MPE.
Explore the following video to know how to import existing .mpl files:
Conclusion
The wizard was tested on a bunch of huge modules, and I can say that modules with up to 2500 lines of code can be imported and used without any problems. But what if you want to import more lines of code? Do we need to use preprocessor directives in that case? The answer is no! You still can import your code to *.maple files but the resulting files will be too huge to work with the code effectively in the editor.
It is obvious that we need some sort of further refactoring in general case of an importing. The main idea is do not do such a refactoring by hands, but use special wizard for that.