Ejecutando el código Scala en iOS

Posible duplicado:
¿Alguna forma de usar alguna encoding de Scala para iOS?

¿Sería posible utilizar la implementación Scala.NET y luego MonoTouch para ejecutar el código Scala en un dispositivo iOS?

No he podido encontrar una página con binarys de Scala.NET que pueda probar, por lo que las siguientes son solo pautas generales sobre lo que puedes hacer con los idiomas MonoTouch y .NET.

MonoTouch puede ejecutar cualquier ECMA CIL que le proporcione. Cuando consideras usar un nuevo idioma con Monotouch, hay dos componentes que entran en juego:

  • Herramientas para el IDE
  • Runtime para el idioma

La herramienta para el IDE es la parte responsable de iniciar las comstackciones, proporcionando intellisense y, si usa Interface Builder, crea un set de methods y properties auxiliares para acceder a los diversos dispositivos de su interfaz de usuario. A partir de hoy, solo hemos realizado la implementación completa para C #. Lo que esto significa para un lenguaje arbitrario es que no obtendrá la experiencia integrada completa hasta que alguien haga el trabajo para integrar otros idiomas.

Esto no es tan malo como parece, simplemente significa que debes abandonar el uso de files XIB de tu idioma y probablemente no obtendrás resaltado de syntax e inteligencia. Pero si está portando código de otro idioma, probablemente no lo necesite. Esto también significa que probablemente tengas que build tu ensamblaje de forma independiente y simplemente hacer reference a eso desde tu proyecto de C #.

Entonces comstackrá con FoobarCompiler su código en un .dll y luego hará reference en su proyecto C # principal.

El componente de time de ejecución de idioma solo importa para los idiomas que generan llamadas en un set de rutinas de soporte en time de ejecución y esas rutinas no son parte de las bibliotecas de class base (BCL). C # realiza algunas de esas llamadas, pero son parte del BCL.

Si su comstackdor genera llamadas a un time de ejecución de soporte que no forma parte del BCL, necesita rebuild el time de ejecución del comstackdor utilizando el perfil de Mono Mobile. Esto es necesario ya que la mayoría de los times de ejecución tienen como objective una edición de escritorio de BCL. Hay muchos otros perfiles de API disponibles, como Silverlight, Mono Mobile, Compact Framework y Micro Framework.

Una vez que haya comstackdo su time de ejecución con nuestros ensamblajes principales, habrá terminado

Si hubiera leído las Preguntas frecuentes de MonoTouch , habría notado que actualmente admite solo C # y ningún otro idioma de CLR.

Los binarys para la biblioteca Scala.NET y el comstackdor se pueden get a través de SVN, en la carpeta bin de la vista previa:

svn co http://lampsvn.epfl.ch/svn-repos/scala/scala-experimental/trunk/bootstrap 

Bootstrapping ha sido un paso importante, y el trabajo en curso agregará soporte para las características que faltan (generics CLR, etc.). Todo lo que se hará.

Por el momento, estamos probando Scala.NET solo en las implementaciones de Microsoft, pero nos gustaría que nuestro comstackdor sea útil para tantos perfiles y implementaciones de time de ejecución como sea posible.

El informe de un sobreviviente sobre el uso de Scala.NET en XNA en http://www.srtsolutions.com/tag/scala

Miguel Garcia http://lamp.epfl.ch/~magarcia/ScalaNET/