Как я могу использовать Clojure -CLR на Unity3d?

Как я могу использовать Clojure -CLR на Unity3d?

Ответ 1

Комплексный ответ "возможно, вы можете", прагматичный ответ "нет, вы не можете".

Sylwester предположил, что это дубликат использования его с Mono, что на самом деле не так, потому что Unity использует свою собственную вилку Mono (тот, который очень старый... 2.6?), поэтому что-то, что совместимо с Mono, t обязательно иметь совместимость с Unity.

ClojureCLR требует DLR (хотя они и отходили от него), что означает, что он несовместим с Unity, поскольку для DLR требуется Mono 2.8 +.

Сказав, что можно добавить DLR как зависимость, а также скомпилировать ClojureCLR в DLL и получить доступ к нему из Unity, это то, что я сделал, однако мой опыт состоял в том, что я мог бы получить много своего кода, чтобы нормально работать в среде разработки, но когда я построю игру, все сломается, она просто проигнорирует материал Clojure.

Если Unity переместится в более высокую версию Mono, или ClojureCLR избавится от зависимости от DLR, я не вижу никакой причины, по которой Unity не сможет ее поддерживать, и я с большим нетерпением жду этого. Но на данный момент это не практично.

Если существует обход (и, вероятно, это происходит), мне никогда не удавалось это понять.

Ответ 2

Люди из сообщества Clojure получили что-то работающее.

Из @swannodette "Похоже, @ra и @timsgardner получили Clojure, работающие внутри Unity прошлой ночью"

http://f.cl.ly/items/2T2d340o0k0W2d44212G/clj2.gif