JacquesC

Prof. Jacques Carette

2401 Reputation

17 Badges

20 years, 85 days
McMaster University
Professor or university staff
Hamilton, Ontario, Canada

Social Networks and Content at Maplesoft.com

From a Maple perspective: I first started using it in 1985 (it was Maple 4.0, but I still have a Maple 3.3 manual!). Worked as a Maple tutor in 1987. Joined the company in 1991 as the sole GUI developer and wrote the first Windows version of Maple (for Windows 3.0). Founded the Math group in 1992. Worked remotely from France (still in Math, hosted by the ALGO project) from fall 1993 to summer 1996 where I did my PhD in complex dynamics in Orsay. Soon after I returned to Ontario, I became the Manager of the Math Group, which I grew from 2 people to 12 in 2.5 years. Got "promoted" into project management (for Maple 6, the last of the releases which allowed a lot of backward incompatibilities, aka the last time that design mistakes from the past were allowed to be fixed), and then moved on to an ill-fated web project (it was 1999 after all). After that, worked on coordinating the output from the (many!) research labs Maplesoft then worked with, as well as some Maple design and coding (inert form, the box model for Maplets, some aspects of MathML, context menus, a prototype compiler, and more), as well as some of the initial work on MapleNet. In 2002, an opportunity came up for a faculty position, which I took. After many years of being confronted with Maple weaknesses, I got a number of ideas of how I would go about 'doing better' -- but these ideas required a radical change of architecture, which I could not do within Maplesoft. I have been working on producing a 'better' system ever since.

MaplePrimes Activity


These are replies submitted by JacquesC

I would not worry too much about old code -- once you get used to having your comments typeset, then style changes and adapts quickly. So I am quite happy with having my comment blocks linewrapped for me. Also, I then use a different mechanism (like $ifdef for example) for commenting out. Somewhere I have a hacked up ocamllex and ocamlyacc (not so far from flex and bison) grammars for parts of Maple. If they might help with the pretzel debugging, I can dig them out.
That comment of yours had you at 512 (and that will likely change very quickly...). But what a nice round number that is!
That comment of yours had you at 512 (and that will likely change very quickly...). But what a nice round number that is!
Producing a new module that is a modification of the old one is relatively straightforward. Then you might be able to rebind the name -- though, like with procedures, that is not failsafe. I know I have used ToInert/FromInert to fiddle around with modules before. Fiddling around with module members of an anonymous module, well that does seem to be impossible (or more exactly, current tools do not let one do that; it's a fun way to crash maple).
Producing a new module that is a modification of the old one is relatively straightforward. Then you might be able to rebind the name -- though, like with procedures, that is not failsafe. I know I have used ToInert/FromInert to fiddle around with modules before. Fiddling around with module members of an anonymous module, well that does seem to be impossible (or more exactly, current tools do not let one do that; it's a fun way to crash maple).
While some of my time on here is because I genuinely enjoy responding to Maple questions, some of it is procrastination. And all of this is making that procrastination just a little too obvious. Rather like those current post :} However, this prettyprinter sounds very cool. BTW, what is "pretzel" in this context? I too would go overboard with symbols instead of operators, but as I have said before, I am a Haskell fan. Literate Haskell can be scary in its use of symbols in programs, especially for those from the Squiggol community. The classic text there is Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire. Please don't strip comments! In fact, why not allow arbitrary LaTeX in the comments? Rather like what literate Haskell allows (link to the official language specification; drool, drool, an official language specification!).
Come on Will, you're so close now, I am sure you can find an excuse to get yourself 15 more points. Blog some, respond to queries, etc. It would be nice to see someone else at the top of the list!
Come on Will, you're so close now, I am sure you can find an excuse to get yourself 15 more points. Blog some, respond to queries, etc. It would be nice to see someone else at the top of the list!
This is not a drawback, it is an explicit design decision. Modules are supposed to be 'static' objects, not 'dynamic' like tables. This means that, for example, member extraction can be optimized. It is rare that you really want a package to change under dynamic control. And if you really want that, then you still have tables. So modules were designed to cover the most common situation in a more robust manner. In some ways, it is a bit different than other pieces of Maple design, which tend to emphasize utmost dynamic flexibility. But all that flexibility does come at a cost, so it is useful to have other features that are more idiot-proof.
This is not a drawback, it is an explicit design decision. Modules are supposed to be 'static' objects, not 'dynamic' like tables. This means that, for example, member extraction can be optimized. It is rare that you really want a package to change under dynamic control. And if you really want that, then you still have tables. So modules were designed to cover the most common situation in a more robust manner. In some ways, it is a bit different than other pieces of Maple design, which tend to emphasize utmost dynamic flexibility. But all that flexibility does come at a cost, so it is useful to have other features that are more idiot-proof.
It means that you're making quality blog posts. I know I have enjoyed reading them.
Yep, that Wiki sure would be nice.
Yep, that Wiki sure would be nice.
Very helpfully, all the "What's New" pages dating back for ages are in the help pages. These are called "updates" in the help system. You can do a full-text search for keywords (like overload) and look at the hits in those updates pages to find out when particular features were introduced (or modified). Some of the most useful information about Maple can only be found there -- for example, the only known example (to me!) for using some of the profiling tools introduced in Maple 6 is in the What's New for Maple 6. Sometimes there is better information in the What's New than in the actual help pages for the feature(s)!
Very helpfully, all the "What's New" pages dating back for ages are in the help pages. These are called "updates" in the help system. You can do a full-text search for keywords (like overload) and look at the hits in those updates pages to find out when particular features were introduced (or modified). Some of the most useful information about Maple can only be found there -- for example, the only known example (to me!) for using some of the profiling tools introduced in Maple 6 is in the What's New for Maple 6. Sometimes there is better information in the What's New than in the actual help pages for the feature(s)!
First 83 84 85 86 87 88 89 Last Page 85 of 119