Мне интересно, существует ли какой-либо декларативный язык для произвольного описания формата и семантики структуры данных, который можно скомпилировать для конкретной реализации этой структуры на любом из набора целевых языков. То есть что-то вроде универсального языка определения данных, но предназначенного для описания произвольных структур данных, таких как векторы, списки, деревья и т. д., а также семантика операций над этими структурами. Спрашиваю, потому что у меня была идея посильной реализации этой концепции, и мне просто интересно, стоит ли это того, и, следовательно, делалось ли это раньше.
Другой, чуть более абстрактный вопрос: есть ли реальная разница между нормативной спецификацией структуры данных (что она делает) и ее реализацией (как она это делает)? В частности, следует ли рассматривать отдельные реализации одних и тех же требований как разные структуры?