I was unable to find a Scala.NET binary page that I can check, so the following are only general recommendations on what you can do with MonoTouch and .NET.
MonoTouch can run any ECMA CIL you submit to it. When you consider using a new language with Monotouch, two components come into play:
- Tool for IDE
- Runtime for language
The tool for the IDE is the part responsible for running the collectors by providing intellisense, and if you use Interface Builder, it creates a set of helper methods and properties to access the various outputs in your user interface. To date, we have completed the full implementation for C #. What this means for any language is that you wonβt get the full integrated experience until someone does the work of integrating other languages.
This is not as bad as it seems, it just means that you need to stop using XIB files from your language, and you probably won't get syntax highlighting and intellisense. But if you port the code from another language, you probably don't need this. It also means that you probably have to build your assembly yourself and just reference its C # project.
So, you compile your code in .dll with FoobarCompiler, and then link to your main C # project.
The language runtime component is only relevant for languages ββthat generate calls to a set of supporting routines at runtime, and these routines are not part of the base class libraries (BCL). C # makes several of these calls, but they are part of BCL.
If your compiler generates calls to a supporting runtime that is not part of BCL, you need to rebuild your compiler's runtime using Profile Mono Exchange. This is necessary since most versions of the time are for the desktop version of BCL. There are many other API profiles such as Silverlight, Mono Mobile, Compact Framework, and Micro Framework.
As soon as you have your own team, assembled using our main assemblies, you are done