Этот вопрос заставлял меня обдумать интерактивный метод редактирования кода. Интересно, можно ли реализовать что-то подобное с учетом динамических возможностей Mathematica.
Рассмотрим выражение:
Text[Row[{PaddedForm[currentTime, {6, 3}, NumberSigns -> {"", ""}, NumberPadding -> {"0", "0"}]}]]
И его TreeForm
:
Я хотел бы иметь возможность редактировать это дерево напрямую, а затем возвращать результат в код Mathematica. По крайней мере, нужно иметь возможность:
- переименование узлов, замена символов
- удалить узлы, возвращая их листья в node выше
- переупорядочивает узлы и листья (порядок аргументов)
Я считаю, что существуют языки или среды, которые специализируются на таких манипуляциях, и я не считаю это привлекательным, но меня интересует такое интерактивное редактирование дерева для специальных целей.