Question: > 
> **Possible Duplicate:**  
> 
> [Any way to use some Scala for iOS coding?](https://stackoverflow.com/questions/13460780/any-way-to-use-some-scala-for-ios-coding) 
> 
> 
> 

Would it be possible to use the [Scala.NET implementation](http://lamp.epfl.ch/~magarcia/ScalaNET/2011Q2/PreviewScalaNET.pdf), and then [MonoTouch](http://ios.xamarin.com/) to run Scala code on an iOS device?

Answer: 
I have not been able to find a page with binaries of Scala.NET that I can test, so the following are just general guidelines as to what you can do with MonoTouch and .NET languages.

MonoTouch can run any ECMA CIL that you feed to it. When you consider using a new language with Monotouch, there are two components that come into play:

* Tooling for the IDE
* Runtime for the language

The tooling for the IDE is the part responsible for starting the builds, providing intellisense and if you use Interface Builder, it creates a set of helper methods and properties to access the various outlets in your UI. As of today, we have only done the full implementation for C#. What this means for an arbitrary language is that you wont get the full integrated experience until someone does the work to integrate other languages.

This is not as bad as it sound, it just means that you need to give up on using XIB files from your language and you probably wont get syntax highlighting and intellisense. But if you are porting code from another language, you probably dont need it. This also means that you would probably have to build your assembly independently and just reference that from your C# project. 

So you compile with FoobarCompiler your code into a .dll and then reference in your main C# project.

The language runtime component only matters for languages that generate calls into a set of supporting routines at runtime and those routines are not part of the base class libraries (BCL). C# makes a few of those calls, but they are part of the BCL. 

If your compiler generates calls to a supporting runtime that is not part of the BCL, you need to rebuild your compiler runtime using the Mono Mobile Profile. This is required since most runtimes target a desktop edition of the BCL. There are many other API profiles available, like Silverlight, Mono Mobile, Compact Framework and Micro Framework.

Once you have your runtime compiled with our core assemblies, then you are done
If you had read the [MonoTouch FAQ](http://ios.xamarin.com/FAQ), you would have noticed that it currently supports only C# and no other CLR languages.