Prof. Jacques Carette

2381 Reputation

17 Badges

18 years, 206 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 questions asked by JacquesC

I have a gensym routine (gensym = generate symbol) which appends Chinese characters to some base symbols to create 'new' symbols.  This works well on Windows, Mac and tty maple.  But I get all square boxes in the linux GUI.

I know the fonts exist as, on the same machine, it works in tty.  But I have no idea how to tell the GUI to go and use those fonts.  Nor why it isn't.

Amusingly, if I try to paste something from the GUI as MapleMath here on Primes, in the 'paste' box, it shows just fine, but then it says it is invalid Maple.

For example, from the GUI I see

but the same thing in TTY is

(x三0不 + x三1下)^(-M)

and I just did cut-and-paste of the same thing.  By this I mean that I took that output with boxes above, put it into a terminal window, re-copied that, pasted it in here, and voila!

So clearly the issue is with the GUI, and only on linux (Ubuntu 16.04).

This might be a mis-understanding on my part, so I figured I would ask a question first.  Narrowing down my code to something minimalistic, suppose I have 2 functions, each of which take a 'context' (abbreviated ctx) as a keyword parameter.  Now, suppose that the first one calls the second, like so:

foo := proc({ctx :: list := []}) bar(ctx = ctx) end proc:
bar := proc({ctx :: list := []}) nops(ctx) end proc:

and then a call "foo(ctx = [a,b,c])" returns the (completely unexpected) value 0.  See if you can puzzle out why.  If I change my code to use different names, like

foo1 := proc({ctx :: list := []}) bar1(_ctx = ctx) end proc:
bar1 := proc({_ctx :: list := []}) nops(_ctx) end proc:

Then the call "foo1(ctx = [a,b,c])" returns the expected 3.

I have tried a number of variants, like changing the call to bar('ctx' = ctx) in foo, but that does not work.  The completely un-intuitive :-ctx does work.

Is this documented anywhere?  Is this really the intended design?  Not being to re-use a name for a keyword parameter without going through some contortions seems, a little, shall I say, odd?

My Maple is apparently getting rusty!  Question: how do I recognize a finite constant?

type(Pi, finite) is false (by design, apparently), while type(infinity, constant) is true.  So now I don't know quite what to 'ask' maple!

Some years ago (on the old primes when there was a 'book' section), I had posted about Maple 401, a list of advanced functionality that someone serious about writing code in Maple ought to know.  But that list is not particularly current (it probably was not completely current when I created it), as I did not keep up my in-depth knowledge of more recent releases of Maple.  So my question is: what is this list

I have tried MaplePrimes at various times of the day, and every time I have tried it, it has been bordering on unusably slow.  I have an extremely fast connection, and other like sites are snappy.  So why not primes?  This slowness might drive me away again.

1 2 3 4 Page 1 of 4