Joe Riel

9660 Reputation

23 Badges

20 years, 2 days

MaplePrimes Activity


These are replies submitted by Joe Riel

@ns523 What, precisely, do you want to display? Show us the literal string that you want to see. For example, do you want 3030?  3030.15? 3030.1501? 3.0301501e3? Previously you complained that the result was not a whole number, which doesn't make sense.

Actually, given that the number you reported seems completely wrong, why not simply upload your worksheet.  Use the green arrow.

@ns523 What do you want to display?

@nm Carl asked what programming feature I'd like to see, so that's why I suggested object inheritance. Your suggestions are library improvements rather than programming features.  I've written several packages that use Maple objects and they could be better written if inheritance were available.

@janhardo I don't understand what you are asking. What is "this" (which you suggest has something to do with object inheritance)? 

By object inheritance I mean the ability to create a new object class from an existing one. The new class inherits the methods of the old, though it may specialize (redefine) them; it can also add new methods.

@Carl Love Changing operator precedence is tricky as it effects the parsing.  Something I'd like to see is object inheritance.

@janhardo It's not clear how a toolbox would be used to support programming in Maple; Maple has a decent programming language. I do recall at one time there was a package of somewhat low-level Maple procedures from an external party for that purpose, however, I didn't find them to be particularly useful and they were written for much older versions of Maple (before modules were available).

It's helpful to upload the worksheet (green up arrow) so that the input doesn't have to manually entered to reproduce the bug.

@emendes It's mostly a memory issue.  Converting from a list to an Array will naturally double the memory consumption (i.e. same data now in two locations). If it is feasible, working entirely with an Array might be the most efficient. 

@Carl Love I'm not saying you have to declare them as static, but it doesn't hurt and seems a good idea since they are effectively static. The code I suggested works fine without the static declarations in big_car.

@acer (lost my previous reply, if this is a duplicate I apologize).  Alas, that doesn't generalize. It works only because 'name' was declared as static, which means all objects of that class have the same value for 'name'.  For a Maple object's method to access non-static locals, the object must be passed as an argument to the method.

@itsme The position of the object in the parameter list is not a requirement. I usually make the object the first parameter, but for some methods have used a different slot.

@acer Am guessing MWE = minimal working example.

@itsme From the Maple source, created in external text files, I use a shell-script, mload, also available at my github site, that loads the file into a Maple archive (mla file).  Actually, I never directly call the shell-script, rather I use a Makefile that calls mload and also installs the mla into the appropriate directory. Most of the time I don't directly call make, but rather use a hotkey in Emacs that executes the compile command which has been configured to build and install the mla (by invoking make). That configuration is achieved by a project specific .maplev file which the maplev-mode for Emacs reads whenever a Maple source file is opened.

This sounds more complicated than it is. The project Makefile is simple because most of it is common to all projects and is included into the Makefile:

# Makefile - for Bark

pkg := Bark

VERSION := 1.0.7
CLOUD-VERSION := 3
CLOUD-ID  := 6273820789833728
CLOUD-DESCRIPTION := A package for creating Maple shell scripts

# Activate selected make sections
BOOK := true
TEST := true

include Maple-Makefile

The .maplev file (an elisp file) is also short

(let ((proj-root "/home/joe/maple/Bark"))
  (maplev-config
   :maple-options "-B -A2 -e2"  ; configure libname and error/warning levels of Maple 
   :mint-options "-l -v -D MINTONLY"        ; -l: ignore leading underscore; -V: verbose (in smint)
   :include-path (list "/home/joe" proj-root)      ; add proj-root to the include path for Maple and Mint 
   :compile (format "make -C %s mla-install" proj-root)))

@wswain There are native distributions of GNU Emacs for Windows, that's what I use when I have to use Windows.

@acer To clarify, I've written, use, and continue to develop an Emacs-based debugger (mdcs) for Maple that does use the maplev-mode for Emacs, which I also wrote and maintain.  The debugger is a huge improvement (my biased opinion) over the interface available  in Maple in that it allows full screen debugging, stepping through the actual source code. Am currently in the process of making it easier to install.  While I almost exclusively use it in Linux, it also works with a Mac and on Windows. I've used it quite a bit with the latter, though not recently. The long pole in the tent for typical users is dealing with Emacs. Both are available at https://github.com/JoeRiel/mdcs, however, neither are current there.  If anyone is interested, send me an email.

First 13 14 15 16 17 18 19 Last Page 15 of 195