Неуверенность между C / C ++, OCaml и F # для моего компилятора [закрыто]

Я хочу начать работу над небольшим компилятором, и для его создания я колеблюсь между несколькими разными языками.

Мои требования просты, я хочу иметь возможность генерировать код LLVM-IR, потому что у меня есть бэкэнд LLVM, который я хотел бы повторно использовать для целевой платформы.

Итак, прямо сейчас у меня есть следующие варианты:

  1. Использовать OCaml и привязки LLVM - Эффективно, LLVM поставляется с привязками OCaml, но опыт программирования с OCaml (IDE, поддержка) не самый лучший.

  2. Используйте привязки C / C ++ и LLVM - я бы сказал, наиболее очевидный способ: но я хотел бы использовать функциональный язык, поскольку эта тема для меня нова, и я хочу изучить что-то новое.

  3. Используйте F # - я влюбился в этот язык, но официальных привязок LLVM нет. Думаю, я мог бы сделать то же самое с помощью System.Reflection.Emit. Хотя кажется, что здесь есть инициатива по привязке F # для LLVM - https://github.com/keithshep/llvm-fs

, я хотел бы узнать ваше мнение по этому поводу.

23
задан Chris Smith 20 June 2011 в 23:01
поделиться