From: Rocky B. <ro...@gn...> - 2017-09-07 15:36:31
|
I started looking at dbl.el, sshell.el and so on with an eye to integrating it into realgud <https://github.com/realgud/realgud> The copyright in the files hasn't changed from 1998 and is maintained by William F. Schelter who unfortunately has passed on. Has the elisp code changed since then? Emacs definitely has. I imagine people are still using dbl.el, right? Could sshell which it requires be replaced by comint, or could sshell be modified to use comint? A problem with using sshell in realgud is that realgud requires some callback hooks; sshell, as far as I can tell, doesn't provide these. See https://emacs.stackexchange.com/questions/34868/how-can-i- emulate-eshell-comint-output-filter-functions-in-term where the same thing is asked with respect to term. |
From: Peter T. <pto...@gm...> - 2017-09-07 15:53:58
|
Where can I find instructions for setting up maxima with emacs: i.e., what do I need to install, how do I set it up, some simple tips for getting started? Thanks. --Pete From: Rocky Bernstein [mailto:ro...@gn...] Sent: Thursday, September 7, 2017 9:36 AM To: max...@li... Subject: [Maxima-discuss] Who is maintaining the emacs lisp code, e.g. dbl.el? I started looking at dbl.el, sshell.el and so on with an eye to integrating it into realgud <https://github.com/realgud/realgud> The copyright in the files hasn't changed from 1998 and is maintained by William F. Schelter who unfortunately has passed on. Has the elisp code changed since then? Emacs definitely has. I imagine people are still using dbl.el, right? Could sshell which it requires be replaced by comint, or could sshell be modified to use comint? A problem with using sshell in realgud is that realgud requires some callback hooks; sshell, as far as I can tell, doesn't provide these. See https://emacs.stackexchange.com/questions/34868/how-can-i-emulate-eshell-comint-output-filter-functions-in-term where the same thing is asked with respect to term. |
From: Rocky B. <ro...@gn...> - 2017-09-07 16:35:15
|
I am definitely not a good person to ask, since you probably know more about maxima than I. But I'll share the little that I have been able to figure out until someone more knowledgeable responds. Mention of dbl.el is listed in the debugging section of the Maxima manual <http://maxima.sourceforge.net/docs/manual/maxima_38.html>. dbl.el really seem to be part of GCL (GNU Common Lisp) which William Shelter also worked on. So I suspect what one should do is get GCL set up for Emacs or look there for instructions. (I happen to have recently subscribed to this mailing list and so I asked here. By the way, I probably won't be following the mailing list that closely so things that are directed to me, should be cc'd to me.) I pulled down the git sources for maxima and it does distribute a dbl.el, sshell.el, and so on. And looking at the git history, in fact wfs (who I assume is William F Shelter) was indeed the last person to modify these. For dbl, the date is circa April 2001 not long before he died. In an ideal world, what should happen is that this get added to one of the current Emacs package distribution channels like ELPA or MELPA and this presumably duplicate code with GCL would get removed. Of course it would need someone to maintain it. On Thu, Sep 7, 2017 at 11:53 AM, Peter Torpey <pto...@gm...> wrote: > Where can I find instructions for setting up maxima with emacs: i.e., what > do I need to install, how do I set it up, some simple tips for getting > started? > > > > Thanks. > > > > --Pete > > > > *From:* Rocky Bernstein [mailto:ro...@gn...] > *Sent:* Thursday, September 7, 2017 9:36 AM > *To:* max...@li... > *Subject:* [Maxima-discuss] Who is maintaining the emacs lisp code, e.g. > dbl.el? > > > > I started looking at dbl.el, sshell.el and so on with an eye to > integrating it into realgud <https://github.com/realgud/realgud> The > copyright in the files hasn't changed from 1998 and is maintained by > William F. Schelter who unfortunately has passed on. > > Has the elisp code changed since then? Emacs definitely has. I imagine > people are still using dbl.el, right? Could sshell which it requires be > replaced by comint, or could sshell be modified to use comint? > > A problem with using sshell in realgud is that realgud requires some > callback hooks; sshell, as far as I can tell, doesn't provide these. See > https://emacs.stackexchange.com/questions/34868/how-can-i- > emulate-eshell-comint-output-filter-functions-in-term where the same > thing is asked with respect to term. > |
From: Richard F. <fa...@be...> - 2017-09-07 20:25:33
|
If you are willing to use emacs, then the very simplest interface -- the one I use sometimes -- entirely without special emacs macros etc, can be run in windows/emacs. This is useful to me if I want to record the total interaction, including interspersed lisp or debugging etc, without any "user interface" that requires the use of menus, or tries to display images. I start up emacs I start a windows shell command buffer by typing esc x shell c:\maxima-5.40.0\bin\maxima.bat that's all. oh, commands look like x+y; <newline> I suppose that I could spend time learning extra commands specific to Maxima, but I don't care to invest that time. (and I would probably forget the details between uses.) The big advantage in using emacs for me is that I can keep my fingers on the keyboard, and not reach for a mouse, or poke at the F1-F12 keys. I modify the windows registry so that caps-lock is replaced by control. Good luck |
From: Rocky B. <ro...@gn...> - 2017-09-08 00:01:52
|
Comments in line. On Thu, Sep 7, 2017 at 4:25 PM, Richard Fateman <fa...@be...> wrote: > If you are willing to use emacs, What does this mean? It sounds like people who use maxima have a problem using emacs? Clearly William F. Schelter didn't feel that was an obstacle in 2011 or else he wouldn't have worked on the Elisp code. So what's changed? then the very simplest interface -- the one I use sometimes -- entirely > without > special emacs macros etc, can be run in windows/emacs. > This is useful to me if I want to > record the total interaction, including interspersed lisp or debugging > etc, without any "user interface" > that requires the use of menus, or tries to display images. > > I start up emacs > I start a windows shell command buffer by typing > esc x shell > If this is what you do, then you are running what is called a "comint shell", and that's what realgud uses. Ok. So I'll add a +1 for don't bother with dbl.el or sshell.el c:\maxima-5.40.0\bin\maxima.bat > > that's all. > > oh, commands look like x+y; <newline> > > I suppose that I could spend time learning extra commands specific to > Maxima, > but I don't care to invest that time. (and I would probably forget the > details > between uses.) > > The big advantage in using emacs for me is that I can keep my fingers on > the > keyboard, and not reach for a mouse, or poke at the F1-F12 keys. I modify > the > windows registry so that caps-lock is replaced by control. > > Good luck > > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > |
From: Robert D. <rob...@gm...> - 2017-09-08 05:27:05
|
Rocky, I don't know anything about the Elisp code. I do know that it is unmaintained at present. If you have patches you want to contribute, feel free to post them to the mailing list or open a bug report and attach them or something like that. Good luck, and thanks for your interest in Maxima. best, Robert Dodier |
From: Rocky B. <ro...@gn...> - 2017-09-08 06:08:28
|
Thanks for the information which confirms what the data seems to say: the Elisp code is unmaintained. At the time this was written, including the emacs code inside maxima made a lot of sense. After all, why bother with maintaining two related projects -- maxima and Elisp code for that -- when you can just distribute them together in one? (In many of my debugger projects, I in fact did the same thing.) But nowadays, this generally isn't common practice for Emacs. So I don't think patching the code makes sense. Ultimately it should be removed from maxima when there is a suitable replacement. (And in the meantime, you might warn that the code is a bit old and unmaintained) Current Emacs practice would be to distribute such code via ELPA or MELPA . Decoupling the two allows decoupling the release cycle of the two - each can be released independently when it makes sense. And it allows for different sets of ownership of the two projects. Clearly most maxima developers can't be all that interested in this code since it is unmaintained. And then you might have a newbie like myself who might be interested in something like this. Having quick experimental releases here is helpful. But I wouldn't want commit access to maxima, lest I do inadvertent damage; and you might feel the same way. On Fri, Sep 8, 2017 at 1:26 AM, Robert Dodier <rob...@gm...> wrote: > Rocky, > > I don't know anything about the Elisp code. I do know that it is > unmaintained at present. If you have patches you want to contribute, > feel free to post them to the mailing list or open a bug report and > attach them or something like that. Good luck, and thanks for your > interest in Maxima. > > best, > > Robert Dodier > |
From: Michel T. <ta...@lp...> - 2017-09-08 08:28:32
|
Le 07/09/2017 à 17:36, Rocky Bernstein a écrit : > I started looking at dbl.el, sshell.el and so on with an eye to > integrating it into realgud <https://github.com/realgud/realgud> The > copyright in the files hasn't changed from 1998 and is maintained by > William F. Schelter who unfortunately has passed on. > One obvious problem is that dbl.el works only with gcl for underlying lisp, but maxima works with a whole array of lisps, notably sbcl and clisp are particularly popular, while gcl is maybe less used. Moreover as long as one falls on a lisp error (not a maxima error) there are good tools for debugging such as slime. If one is speaking of a maxima debugger it should be lisp agnostic. -- Michel Talon |
From: Rocky B. <ro...@gn...> - 2017-09-08 09:55:10
|
On Fri, Sep 8, 2017 at 4:28 AM, Michel Talon <ta...@lp...> wrote: > > > Le 07/09/2017 à 17:36, Rocky Bernstein a écrit : > > I started looking at dbl.el, sshell.el and so on with an eye to > integrating it into realgud <https://github.com/realgud/realgud> The > copyright in the files hasn't changed from 1998 and is maintained by > William F. Schelter who unfortunately has passed on. > > > One obvious problem is that dbl.el works only with gcl for underlying > lisp, > I come not to praise dbl.el, but to bury it. but maxima works with a whole array of lisps, notably > sbcl and clisp are particularly popular, while gcl is maybe less used. > Moreover as long as one falls on a lisp error (not a maxima > error) there are good tools for debugging such as slime. If one is > speaking of a maxima debugger it should be lisp agnostic. > I was under the impression that what is written about in http://maxima.sourceforge.net/docs/manual/maxima_38.html was LISP independent. Is that true or not? I am familiar with slime (Superior Lisp Interaction) which is constantly maintained in GNU emacs. But are there other *maxima *debuggers? > -- > Michel Talon > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > > |
From: Richard F. <fa...@be...> - 2017-09-08 15:18:34
|
On 9/7/2017 11:08 PM, Rocky Bernstein wrote: > > Current Emacs practice would be to distribute such code via ELPA or > MELPA . I use Maxima and emacs. I have never heard of elpa or melpa, and neither does my emacs. It appears that it requires emacs 24.1. It appears that I am using 23.1.1. The latest emacs version is 25.2 I suggest that there continue to be an emacs-lisp component in the Maxima distribution. Perhaps it should just link to the elpa etc code somewhere else? Or if elpa requires a newer emacs than the one in use, it should say so. Or perhaps the Maxima distribution should include the maxima-macros, updated, so that someone without internet access could use this; perhaps with an informative message about the latest code being elsewhere. I am personally very much in favor of having Maxima or other programs that I use have self-contained download-and-install packages. When I find that accessing/downloading a program I am instructed to install a sequence of packages (perhaps uninstalling previous versions), disable security safeguards, occasionally rebooting, ... I am discouraged because I know from experience that I can encounter new and disturbing opportunities for failures. So if using some code requires loading (who knows what .. upgrade to windows/cygwin??) upgrade to emacs, upgrade Maxima? I would think twice about it. Do I want to spend several hours to get back to a working system? For the person proposing such changes, it would be courteous for it to be tested and working 100% for all versions of Windows (XP, anyone?) all versions of MAC OS, all versions of UNIX, all Android OS, etc. All versions of Lisp, too. So if there is to be any emacs mode for Maxima, I think it some version should be distributed with Maxima. If there is enough space to have multiple language versions of the documentation and two full lisps (clisp, sbcl), and piles of user-contributed code, this doesn't seem like a space problem. I do not have a problem if someone wants to put together a version of Maxima that is automatically loaded into lisp in pieces via ASDF or something similar. Or even if Maxima is loaded into emacs via elpa. Unless it were entirely perfected, I would not suggest it for a newbie. Summary: I think there must be an easy download/install for any software intended for a wide audience. RJF |
From: Peter T. <pto...@gm...> - 2017-09-08 15:55:53
|
Richard, Totally agree with you here. If the packages are not self-contained and easy to install it is just another barrier to people using the tools. I have a technical background and lots of experience in programming. But let me tell you, recently hopping into these maxima discussions, I am very confused. As with anything a bit out of your own field or expertise there are many references, names, and acronyms that one can't possibly know about without doing a lot of digging. One can't even make the decision of what to download or configure out of the various choices in order to get the whole system working. With Maxima, for example, I am learning there are versions compiled in different ways depending on what version of lisp or something, various interfaces of maxima itself, various front ends and terminal emulators that people use to work with maxima, etc. Wow! At some point it really would be nice to have a simple package one could install and it would just work. Maybe WXMaxima is that solution, but, unfortunately, it doesn't work with a screen reader. Oh well. --Pete -----Original Message----- From: Richard Fateman [mailto:fa...@be...] Sent: Friday, September 8, 2017 9:18 AM To: max...@li... Subject: Re: [Maxima-discuss] Who is maintaining the emacs lisp code, e.g. dbl.el? On 9/7/2017 11:08 PM, Rocky Bernstein wrote: > > Current Emacs practice would be to distribute such code via ELPA or > MELPA . I use Maxima and emacs. I have never heard of elpa or melpa, and neither does my emacs. It appears that it requires emacs 24.1. It appears that I am using 23.1.1. The latest emacs version is 25.2 I suggest that there continue to be an emacs-lisp component in the Maxima distribution. Perhaps it should just link to the elpa etc code somewhere else? Or if elpa requires a newer emacs than the one in use, it should say so. Or perhaps the Maxima distribution should include the maxima-macros, updated, so that someone without internet access could use this; perhaps with an informative message about the latest code being elsewhere. I am personally very much in favor of having Maxima or other programs that I use have self-contained download-and-install packages. When I find that accessing/downloading a program I am instructed to install a sequence of packages (perhaps uninstalling previous versions), disable security safeguards, occasionally rebooting, ... I am discouraged because I know from experience that I can encounter new and disturbing opportunities for failures. So if using some code requires loading (who knows what .. upgrade to windows/cygwin??) upgrade to emacs, upgrade Maxima? I would think twice about it. Do I want to spend several hours to get back to a working system? For the person proposing such changes, it would be courteous for it to be tested and working 100% for all versions of Windows (XP, anyone?) all versions of MAC OS, all versions of UNIX, all Android OS, etc. All versions of Lisp, too. So if there is to be any emacs mode for Maxima, I think it some version should be distributed with Maxima. If there is enough space to have multiple language versions of the documentation and two full lisps (clisp, sbcl), and piles of user-contributed code, this doesn't seem like a space problem. I do not have a problem if someone wants to put together a version of Maxima that is automatically loaded into lisp in pieces via ASDF or something similar. Or even if Maxima is loaded into emacs via elpa. Unless it were entirely perfected, I would not suggest it for a newbie. Summary: I think there must be an easy download/install for any software intended for a wide audience. RJF ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Maxima-discuss mailing list Max...@li... https://lists.sourceforge.net/lists/listinfo/maxima-discuss |
From: Raymond T. <toy...@gm...> - 2017-09-08 15:23:58
|
>>>>> "Richard" == Richard Fateman <fa...@be...> writes: Richard> If you are willing to use emacs, then the very simplest interface -- Richard> the one I use sometimes -- entirely without Richard> special emacs macros etc, can be run in windows/emacs. Richard> This is useful to me if I want to Richard> record the total interaction, including interspersed lisp or debugging Richard> etc, without any "user interface" Richard> that requires the use of menus, or tries to display images. Richard> I start up emacs Richard> I start a windows shell command buffer by typing Richard> esc x shell Richard> c:\maxima-5.40.0\bin\maxima.bat Richard> that's all. This is what I use. Most of my use is just typing into the repl, so I don't really need anything else. If I were writing lots of maxima code, I would consider installing and using some maxima package tool, but I don't. Occasionally, when I'm hacking the maxima's lisp code, I'll use slime to connect with lisp, but it's usually just easier and more reliable just to :lisp (load (compile-file "foo")). -- Ray |
From: Richard F. <fa...@be...> - 2017-09-08 15:56:39
|
On 9/7/2017 5:01 PM, Rocky Bernstein wrote: > Comments in line. > > On Thu, Sep 7, 2017 at 4:25 PM, Richard Fateman <fa...@be... > <mailto:fa...@be...>> wrote: > > If you are willing to use emacs, > > > What does this mean? It sounds like people who use maxima have a > problem using emacs? Clearly William F. Schelter > didn't feel that was an obstacle in 2011 or else he wouldn't have > worked on the Elisp code. So what's changed? There have been a number of projects to make emacs accessible (for people who are vision impaired). A programmer may or may not be willing to learn to use one of them (e.g. the one by T.V. Raman). A mathematician who is used to reading via a screen-reading program may not need a text editor and may not be willing to learn one in order to access Maxima. A fully-sighted mathematician or other user of Maxima who is used to reading/writing text on a computer may not be willing to learn emacs; this is probably the vast majority of users. Indeed, I use emacs myself, but usually use wxmaxima to access Maxima. Bill Schelter was a programmer and mathematician who clearly used emacs and similar programs. He had no vision impairment. He also liked to build tools on conventional workstations as well as Lisp machines. > > then the very simplest interface -- the one I use sometimes -- > entirely without > special emacs macros etc, can be run in windows/emacs. > This is useful to me if I want to > record the total interaction, including interspersed lisp or > debugging etc, without any "user interface" > that requires the use of menus, or tries to display images. > > I start up emacs > I start a windows shell command buffer by typing > esc x shell > > > If this is what you do, then you are running what is called a "comint > shell", OK, thanks I now have a name for it :) > and that's what realgud uses. Ok. So I'll add a +1 for don't bother > with dbl.el or sshell.el If the goal is to make it easy to (say) insert breakpoints in lisp or maxima code in the same way as in (say) gdb, then it may not be something people are looking for. I've used gdb (fortunately not recently) but I doubt that inserting a breakpoint in lisp or Maxima code is a technique that is popular. I can't recall ever doing this in decades, myself. Using trace, or inserting the occasional print statement is most common for me. This doesn't require much of an assist from an editor, though I suppose trace(foo) could be done by highlighting "foo" and pulling down a menu to say "trace". I guess wxmaxima could do this. Also untrace, untrace() which would untrace everything. I'd prefer to keep my fingers on the keyboard though :). I think of most effective programming in Maxima (also Lisp) as collections of rather short procedures --- maybe 8 lines, maximum. This may be different from the way many people write in C, Java, etc. (Although someone who learns Lisp may then change style and write much shorter programs in C etc.) I don't know how effective SLIME is in covering over the different Lisp's formats of backtraces and such. RJF |
From: Peter T. <pto...@gm...> - 2017-09-08 16:12:31
|
I am a retired research physicist who uses a screen reader as well as a braile display. I first used Maxima in the early 80’s by logging into a mainframe at M.I.T. from Rochester, NY. At that time I had a bit of vision and magnified the display from my terminal to interact with the mainframe computer. Years later, I had very little useful vision and started to use Maple on a Windows PC for mathematical calculations. I used a screen reader and a braille display at the time. This worked very well since the UI of Maple allowed me to easily scroll backward in the history buffer to view past results and/or very long output. Now I am trying to see how to work with maxima and a screen reader and finding there are many solutions, some more complex than others, and some not accessible. I would like to see this make more accessible and turnkey for upcoming students who are blind. This could be an enabling tool. Unfortunately I have never used emacs and know very little about it. I don’t know how mainstream it is these days or what people generally use it for. Maybe I need to hunt down some info. Anyway, progress is often made one small step at a time. At least if developers are aware of some of the issues they might have a shot at addressing them. --Pete From: Richard Fateman [mailto:fa...@be...] Sent: Friday, September 8, 2017 9:56 AM To: Rocky Bernstein <ro...@gn...> Cc: Peter Torpey <pto...@gm...>; <max...@li...> <max...@li...> Subject: Re: [Maxima-discuss] Who is maintaining the emacs lisp code, e.g. dbl.el? On 9/7/2017 5:01 PM, Rocky Bernstein wrote: Comments in line. On Thu, Sep 7, 2017 at 4:25 PM, Richard Fateman <fa...@be... <mailto:fa...@be...> > wrote: If you are willing to use emacs, What does this mean? It sounds like people who use maxima have a problem using emacs? Clearly William F. Schelter didn't feel that was an obstacle in 2011 or else he wouldn't have worked on the Elisp code. So what's changed? There have been a number of projects to make emacs accessible (for people who are vision impaired). A programmer may or may not be willing to learn to use one of them (e.g. the one by T.V. Raman). A mathematician who is used to reading via a screen-reading program may not need a text editor and may not be willing to learn one in order to access Maxima. A fully-sighted mathematician or other user of Maxima who is used to reading/writing text on a computer may not be willing to learn emacs; this is probably the vast majority of users. Indeed, I use emacs myself, but usually use wxmaxima to access Maxima. Bill Schelter was a programmer and mathematician who clearly used emacs and similar programs. He had no vision impairment. He also liked to build tools on conventional workstations as well as Lisp machines. then the very simplest interface -- the one I use sometimes -- entirely without special emacs macros etc, can be run in windows/emacs. This is useful to me if I want to record the total interaction, including interspersed lisp or debugging etc, without any "user interface" that requires the use of menus, or tries to display images. I start up emacs I start a windows shell command buffer by typing esc x shell If this is what you do, then you are running what is called a "comint shell", OK, thanks I now have a name for it :) and that's what realgud uses. Ok. So I'll add a +1 for don't bother with dbl.el or sshell.el If the goal is to make it easy to (say) insert breakpoints in lisp or maxima code in the same way as in (say) gdb, then it may not be something people are looking for. I've used gdb (fortunately not recently) but I doubt that inserting a breakpoint in lisp or Maxima code is a technique that is popular. I can't recall ever doing this in decades, myself. Using trace, or inserting the occasional print statement is most common for me. This doesn't require much of an assist from an editor, though I suppose trace(foo) could be done by highlighting "foo" and pulling down a menu to say "trace". I guess wxmaxima could do this. Also untrace, untrace() which would untrace everything. I'd prefer to keep my fingers on the keyboard though :). I think of most effective programming in Maxima (also Lisp) as collections of rather short procedures --- maybe 8 lines, maximum. This may be different from the way many people write in C, Java, etc. (Although someone who learns Lisp may then change style and write much shorter programs in C etc.) I don't know how effective SLIME is in covering over the different Lisp's formats of backtraces and such. RJF |