Привязка FFI и DSL

В привязках Haskell LLVM я пытаюсь определить функцию с переменным числом аргументов (на самом деле я имею в виду постоянное число, которое неизвестно при компиляции время). Я нашел этот вопрос и пытаюсь следить за ответом.

Я не хочу полностью отказываться от использования FFI для генерации LLVM, я хочу использовать DSL как можно чаще и использовать FFI только для того, что я не могу делать через DSL.

Мне удалось определить тип с помощью functionType, я все еще не могу добавить функцию в модуль, созданный с помощью вызова defineModule . Я также думаю, что следующим шагом будет добавление базовых блоков к функции через FFI.appendBasicBlock , что, на мой взгляд, несложно, но как мне получить аргументы через FFI.getParam внутри блока do в монаде CodeGenFunction .

54
задан Community 23 May 2017 в 00:31
поделиться