c# clojure mono xamarin clojureclr

¿Es posible usar Clojure CLR con C#en Xamarin?



mono clojureclr (2)

Entonces, Clojure CLR le permitirá usar cualquier biblioteca que pueda cargar. Por ejemplo, he cargado las bibliotecas Oracle.DataAccess y las bibliotecas NLog en Clojure CLR, por lo que teóricamente es posible cargar las bibliotecas Xamarin de la misma manera:

;;; not sure which library you want to include, using this as a placeholder (assembly-load-from "C:/Path/To/Xamarin.Core.dll")

Dicho esto, Xamarin también parece ser un IDE y un conjunto de herramientas de compilación sobre sus propias bibliotecas propietarias y herramientas de compilación, por lo que puede que no sea posible integrarlas por completo. Además, creo que Xamarin funciona puramente con C #, por lo que la codificación en Clojure probablemente no sea posible ... directamente.

Lo que puede hacer es crear algunas bibliotecas en Clojure CLR y compilarlas en DLL, a las que luego puede vincular, para que pueda construir la mayor parte de su lógica en Clojure y luego crear algunas envolturas simples de C # que consuma su aplicación Xamarin. .

Me encantaría saber lo que intentas, y si tienes éxito haciendo esto.

¡La mejor de las suertes!

Amo Clojure. Es por lejos mi idioma favorito.

Acabo de encontrar Xamarin, que le permite tener aplicaciones multiplataforma, aprovechando al máximo las bibliotecas nativas. El lenguaje utilizado con él es C #.

Ahora me pregunto si hay alguna manera de programar la mayoría de mis aplicaciones de Xamarin en Clojure (CLR), en lugar de C #.


Posiblemente sí en Android, pero en el caso de iOS, diría que no es probable, porque esta última es una plataforma que tiene muchas limitaciones en torno al código generado, la reflexión y similares. Y Clojure está tipeado dinámicamente y tiene grandes posibilidades de verse afectado.

Honestamente, Clojure en el mundo de .NET encajaría más con F # (también funcional, inmutable por defecto, etc.), que es un lenguaje que acaba de ser adoptado como oficial por Xamarin (lo que significa que puedes usarlo en Android e iOS, y Mac).

También está tipado estáticamente (a diferencia de Clojure) por lo que esto puede significar que también es más rápido. ¡Darle una oportunidad!