Подтвердить что ты не робот

Как можно получить список встроенных глобальных правил перезаписи Mathematica?

Я понимаю, что более тысячи встроенных правил перезаписи в Mathematica по умолчанию заполняют таблицу глобальных правил. Есть ли способ получить Mathematica для полного или даже частичного списка этих правил?

4b9b3361

Ответ 1

Лучший способ - получить работу в Wolfram Research.

В противном случае я думаю, что для вещей, которые не полностью скомпилированы в ядро, вы можете восстановить большинство правил/определений. Посмотрите

Attributes[fn]

где fn - это команда, которая вас интересует. Если она возвращает

{Protected, ReadProtected}

то вы можете посмотреть (хотя часто это просто определение MakeBoxes (форматирование) или определение типа AutoLoad/Stub). Чтобы увидеть, что там работает

Unprotect[fn];
ClearAttributes[fn, ReadProtected];
??fn

Довольно часто вам нужно запустить пример команды, чтобы загрузить его, если он был заглушкой. Вам также придется выкапывать из команд, ориентированных на пользователя, на серверные реализации. В конце концов вы, скорее всего, достигнете основной команды, которая скомпилирована в ядро, которое вы не можете увидеть.

Ранее я упоминал об этом в советах по созданию графических диаграмм, и он получил упоминание в Что находится в сумке для инструмента Mathematica?.

Хорошим примером, с красивым размером и удобочитаемым битом кода, является Experimental`AngularSlider[], упомянутый в круговом /Angular слайдере. Я оставлю это для вас, чтобы посмотреть на полученный код.

Другой пример - это что-то вроде BoxWhiskerChart, где вам нужно вызвать его один раз, чтобы загрузить весь код. Затем вы увидите, что BoxWhiskerChart переходит к вызову Charting`iBoxWhiskerChart, который вам нужно будет отменить, чтобы посмотреть, и т.д.