Каков наилучший способ манипулирования/расширения ADT, который не под вашим контролем? (т.е. от зависимости)
Здесь - тип данных, относящийся к моей проблеме:
Я хочу сохранить структуру данных, но добавлять дополнительные данные (например, добавить другой тип), но сама структура не находится под моим контролем. Должен ли я сопоставлять данные с моей собственной версией этого определения?
Например, для всех абзацев в структуре я хотел бы, чтобы Para
стал Para [Inline] [String]
, где [String]
- это список слов, содержащихся в параграфе (как собственная структура данных).
Я обслуживаю эти данные как JSON через конечную точку, я думал, что один из способов, которыми я мог бы обойти это, - определить мой собственный экземпляр ToJSON
и выполнить этот перевод на Para
там, однако я не могу переопределить экземпляр так, как он уже определен! Я согласен принять решение, которое на самом деле не касается самого типа Para
, мне просто нужен способ связать больше данных с Para
, не теряя при этом никакой структуры полного документа Pandoc
.