> Дело в том, что у LLVM есть фреймворк для создания компиляторов, разработкики
> им пользуются для генерации байткода и вполне можно сделать так, чтобы
> этот фреймворк также предоставлял функцию, которая возвращает список экспортируемых функций. Ты не понимаешь, определение вызываемой функции нужно на уровне исходников, текстовый файл.
> Если разработчик языка использует данную функцию, то он может видеть все
> внешние функции предоставляемые другими языками, которые можно будет использовать в программах
> на его языке.
Разработчик может видеть все что угодно, но пока функция не определена в исходниках, которые понимает какой-то язык, ты не сможешь ее использовать. И в функции llvm не входит генерация исходного текста биндингов для любого языка, хотя часть библиотек из шланга можно использовать чтобы что-то такое делать. Но llvm в любом случае тут не при чем, llvm не генерирует исходники на высокоуровневых языках, может разве что листинг на ассемблере выдать.