This is in the spirit of the old but excellent thread: What is the most convenient way to read definitions of in-memory symbols when we don't have the source files? (Spelunking tools)

Using GeneralUtilities`PrintDefinitions I want to take a peek at the inner workings of Solve. However all I am able to see are the attributes and list of options. The function definition itself just shows up as <<kernel function>>. Does it mean that it is not written in Wolfram language itself and there are no Wolfram language primitives to express it, or is it somehow kept tightly under wraps?

  • 7
    $\begingroup$ Apart from perhaps some wrappers etc, it is very likely that the core implementation of Solve is NOT written in Wolfram Language, but instead implemented at a lower level. $\endgroup$
    – MarcoB
    Jan 10 at 6:13
  • 4
    $\begingroup$ I've always guess it's a bit of both, but I don't know, never asked WRI. Trace[Solve[x^2 + x y == 1, x], TraceInternal -> True] shows some of the code can be exposed, not enough to make complete sense of though. $\endgroup$
    – Michael E2
    Jan 10 at 15:42


Browse other questions tagged or ask your own question.