Лучший способ получить модуль компиляции во время выполнения Scala - PullRequest
2 голосов
/ 16 сентября 2011

Я пишу модуль компиляции во время выполнения.Код выглядит следующим образом:

    val settings = new Settings
    settings.usejavacp.value = true
    val interpreter = new IMain(settings)
    interpreter.interpret(""" val result = the scala code here """)    
    interpreter.valueOfTerm("result")//return the result var

Но у меня есть некоторые проблемы.

  1. Как разрешить нескольким потокам вызывать IMain для получения разных результатов?Назначен ли экземпляр IMain для потока?Это будет пустой тратой ресурсов компьютера (безостановочная компиляция)

  2. как переопределить скомпилированный класс?

  3. переменные, сгенерированные интерпретатором (например, «результат»), всегда будут сохраняться?Как удалить временную переменную?Есть ли лучший API, можно вызвать напрямую или как улучшить мой код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...