Sorry for making this response in a new thread, but as I am not a member of the mailing list this is the only way as this being a mailing list, everything is automatically sent instead of being able to edit material in a central location.
Id also like to say its an honor to have David Mathews respond to my thread.
I'm not exactly clear about the motivation behind the question. I mentioned in my original post what my motivation is but I will state it again in more detail. Windows is no longer a viable scientific computing platform as Microsoft have gone out of their way to take away user control of how software can be installed and accessed and trying to move toward 'cloud based services' type of user experience. Linux definately allows control but is so fragmented by many different distros that its impossible to port a unified system. And OSX requires the purchase of its own expensive hardware to run on.
Furthermore mobile computing is no longer a weak subset of the capabilities of PC computing but equal processor power and memory capacity exists to run equally complex software. However one could argue that mobile platforms are not ready yet due to the fact that they only run on phone or tablet from factor. Although it is possible to use a wireless keyboard with a tablet, what is really required is a netbook form factor such as the Chromebooks. Unfortunately Google has dropped the ball by creating the ChromeOS operating system that only runs 'web apps', trying to force cloud computing on its users like Microsoft is with win 8.
OCAML implementations seem to provide a small console window that allows someone to enter and run OCAML programs. I don't know how useful that would be in general. It might be more useful to be able to create little ML programs. Without a linker it wouldn't be possible to create stand-alone binaries but it might be possible to create scripts.
It might be possible to include the Tiny C compiler http://bellard.org/tcc/ to create binaries. I know this sounds frivolous to go to the trouble of doing this, but it shouldnt be too difficult for any programmer who is experienced with Android programming to do this kind of port.
Im sorry to take up too much of your time with this idea, Im sure you probably have more important things to concern yourselves with. But I believe that the ML family of languages are going to become much more popular in place of other functional languages like Haskell or Scala which both bring limitations that prevent adoption for general use. And I would hate to see SML lose out simply because it is not as accessible as Ocaml. Mobile computing is the future and so far Android is the most viable platform for it.
Id also like to mention this class: https://www.coursera.org/course/proglang that has attracted tens of thousands of online students and will do a lot to raise awareness of ML's advantages over other functional languages. -Brad Cantrell
On 15/10/2013 18:34, Brad Cantrell wrote:
Sorry for making this response in a new thread, but as I am not a member of the mailing list this is the only way as this being a mailing list, everything is automatically sent instead of being able to edit material in a central location.
It's usually good practice to join a mailing list before posting to it. Often replies and comments will be sent only to the list and not copied to the original poster. In addition, postings by non-members to this list are not sent directly to the list. To avoid spam they are held and have to be approved manually, by me.
I'm not exactly clear about the motivation behind the question
OK. I guess what I was getting at was that there were two different ways that ML might be used on Android. Either it could be used to program on the device or it could be used to create programs for the device but cross-compiling on another platform. Programming actually on the device isn't that easy; at least I don't find it so. I have an Android phone and an Android tablet and I find typing on the screen quite time-consuming. It's not so bad when using an external keyboard.
I investigated this more closely yesterday and managed to get Poly/ML to build using the Android NDK. So Poly/ML actually runs on my phone and tablet now although the only way to use it is with VxConnectBot. It needs a proper Android GUI shell to be really usable and certainly to distribute it as an app. It's probably not a lot of work, though, since there are bound to be examples to draw on.
Id also like to mention this class: https://www.coursera.org/course/proglang that has attracted tens of thousands of online students and will do a lot to raise awareness of ML's advantages over other functional languages. -Brad Cantrell
That's interesting. It's certainly good that ML is being used for teaching.
David