Joking aside, I suspect that this is mostly due to two factors:
1. Emacs was used by a lot of smart people, and one of them, David Gillespie got carried away a bit.
2. Thirty years ago, when David Gillespie first started working on calc, emacs lisp (despite at the time lacking even floating points numbers IIRC!), was probably one of the most expressive fairly widely deployed languages around, particularly for the type of symbolic manipulation you need to do for computer algebra. And unlike other things that were used by smart people 30 years ago, emacs still sticks around, so survivorship bias also plays a role.
Emacs is best viewed a Lisp execution platform with a built-in text UI. Much like it has a "c++ app", "terminal app" and "compile this" app, it also ships with a "calc app" (literally called "calc"). Since it was being used by lot of mathy people for lot of mathy stuff, it ended up being a proper scientific calculator application.
(Also, Lisps are inherently friendly for doing any kind of symbolic calculations. A Lisp system is one of the least surprising places to find a symbolic integrator in.)
Hence the old joke "Emacs is a fine OS, but its text editor sucks."
It’s a bit like asking why does bash come with a utility like awk or bc; it’s equally natural.
M-x doctor RET
I am the psychotherapist. Please, describe your problems. Each time
you are finished talking, type RET twice.
Why does Emacs need Symbolic Integration?
What do you think?
I don't know, just answer the question!
Why do you say you do not know just answer the question?
[...]
Maybe you'll have better luck than I did with mine.How many other meme modes exist? I dug up the earliest commits I could find, and apparently one of the earliest hooks was "protect-innocence-hook": https://twitter.com/theshawwn/status/1327459335245422597
If the buffer's filename is "sex.6", it asks whether the user is over 18. If so, it renames the buffer to "celibacy.1".
Apparently it was in the file lisp/play/meese.el. Emacs archaeology is more fun than it should be.
Here is the manual section listing all the "Games and Amusements" that ship with Emacs by default:
https://www.gnu.org/software/emacs/manual/html_node/emacs/Am...
There's also nyan-mode, made by yours truly, but unfortunately it does not ship with Emacs by default :).
Was surprised how high quality the repo is, too!
https://github.com/TeMPOraL/nyan-mode
It even has an accompanying blog post, which I found informative. http://jacek.zlydach.pl/blog/2011-08-25-introducing-nyan-mod...
And even a Show HN. https://news.ycombinator.com/item?id=2906632
As for getting it into mainline, I'd be OK with going through the FSF copyright paperwork, but I worry this will probably fail over the uncertain status of Nyan Cat image/music IP...
That’s how MooGNU was born: https://archive.org/details/M00GNU
> Final thanks go to Richard Stallman, without whose fine implementations of the Emacs editor, language, and environment, Calc would have been finished in two weeks.
:D
It’s uncommon for developers to deal with integral equations in their day-to-day work. But it’s obviously not unheard of - integral equations show up naturally in many domains of finance and engineering. I’ve had to deal with numeric integration on .NET in one of my jobs. Sometimes an exact symbolic solution is easier for the developer and the CPU than a numeric technique, so for a small handful of developers a symbolic integral calculator is a handy (if somewhat specialized) tool, and not just some bell-and-whistle.
GNU Emacs is a 36 year old tool that's been targeted at programmers its entire life, is built on an interactive Lisp environment, and actively encourages external improvements and contributions. The more interesting question is why _wouldn't_ it have that functionality.
Interestingly, nowadays it's really difficult to convince people to add new features, like enabling mouse scrolling by default [1].
[1] https://lwn.net/ml/emacs-devel/20200906133719.cu6yaldvenxubc...
I have not had to use the more advanced features. I did not know that they were there. Now I know, perhaps I do need them?
Elisp is the most popular Lisp in the world.
Why wouldn’t you want to improve it?
I'm a graphics programmer and I use Emacs' in-built RPN calc for its linear algebra capabilities almost daily.
Otherwise, with all its extensions Emacs starts giving the impression of an Apple-like walled garden, which is not a good comparison for a free software, no?