день добрый.
вопрос возник.
имею конструкции вида:
ocaml: type = Item1 | Item2 | Item3;; let item = Item1;;
C: #define item1 1 #define item2 2 #define item3 3
struct st { item; // соответственно 1, 2 или 3 };
хочу я их передавать из ocaml в C и обратно. в оф. доке пишут, что в принципе их можно все пронумеровать, и обращаться в С буквально как к массиву по номерам, но проблема в том, что у меня это не ограничивается 3-мя полями. и вложенность далеко не линейная... и вообще, если я что-то поменяю в типах окамля, потом не разгребу...
можно наделать функций для заполнения конкретного поля конкретной структуры. думаю их можно даже сгенерить. но это имхо тоже... мягко говоря не фонтан.
гугл что-то ничего внятного не говорит.
может быть кто-то сталкивался с необходимостью передавать типы окамля в соответствующие структуры С для обработки? или есть более другой метод? :)