Using ATS for cross-platform development

Say you want to write a game running on iPhone.

You can use ATS to implement game logic and then use the xcode platform to
develop GUI. Your ATS code may use some ATS library functions. Instead of
requiring the
availablility of libatslib.a, you can simply generate C code for the
library functions
you use. You can find such an example in the following directory:

https://github.com/githwxi/ATS-Postiats/tree/master/doc/PROJECT/SMALL/GameOf24/OBJC

In the file mylib.dats, you can see the following lines:

local
//
#include
"libats/DATS/stringbuf.dats"
//
in (* in of [local] *)
//
// HX: it is intentionally left to be empty
//
end // end of [local]

By compiling mylib.dats, the functions (not function templates) in
stringbuf.dats are compiled into C code,
which can be readily used in cross-platform development.

Is it because of compilation errors or missing C libraries?On Friday, December 20, 2013 6:30:33 PM UTC-6, Cyrille Duret wrote:

Brilliant. I just wish my generated C code could compile on win32
platforms as well…

Brilliant. I just wish my generated C code could compile on win32 platforms as well…

I packaged the .cats files and .h files needed for compiling C code
generated from ATS source.

Please find the file ATS2-Postiats-include-0.0.4.tgz in the following
directory:

This package contains various .h and .cats files needed for compiling
C code generated from ATS source. It is primarily created for
cross-platform
development where it is difficult to generate on the source platform object
code needed for an application designed to be running on the target
platform.
Instead, it is more convenient or even necessary to compile C code on the
target platform to generate the needed object code.On Tuesday, December 17, 2013 2:16:21 AM UTC-5, gmhwxi wrote:

Say you want to write a game running on iPhone.

You can use ATS to implement game logic and then use the xcode platform to
develop GUI. Your ATS code may use some ATS library functions. Instead of
requiring the
availablility of libatslib.a, you can simply generate C code for the
library functions
you use. You can find such an example in the following directory:

https://github.com/githwxi/ATS-Postiats/tree/master/doc/PROJECT/SMALL/GameOf24/OBJC

In the file mylib.dats, you can see the following lines:

local
//
#include
“libats/DATS/stringbuf.dats”
//
in (* in of [local] *)
//
// HX: it is intentionally left to be empty
//
end // end of [local]

By compiling mylib.dats, the functions (not function templates) in
stringbuf.dats are compiled into C code,
which can be readily used in cross-platform development.