andyarvanitis edited this page Nov 19, 2012 · 4 revisions

Q) Can I use Eero for iOS development?

A) Yes. Eero is intended for all platforms supported by LLVM/Clang's Objective-C. Test applications written using Eero have run in the iOS simulator as well as on iOS devices (using a legitimate developer certificate, not through jailbreaking). No apps have been submitted to the App Store yet (that we know of), but given the success of RubyMotion, we believe app-store acceptance should not be a problem.

Q) Is Eero implemented using some sort of pre-compiler or translator?

A) No. Eero is implemented with a fork of the LLVM/Clang compiler. It thus generates binaries directly, and can be used with all LLVM/Clang tools, including source-level debugging (gdb, lldb, and Xcode), static analysis, etc..

However, there is a way to automatically convert Eero source files to standard Objective-C -- see Eero to Objective-C translation (source-to-source).

Q) Can I still call C functions directly from Eero?

A) Yes. Just like standard Objective-C, Eero allows direct calls to C functions, as well as use of all C data types.

Q) Can I mix C++ code with Eero?

A) Yes, with just a few minor restrictions. Please see C++ support.

Q) Can I use Eero for non-Apple platforms?

A) Yes. Eero's compiler is built using LLVM/Clang, and is thus very cross-platform. An earlier version was successfully tested on Debian Linux using the GNUstep runtime.

Q) Isn't this just a bunch of syntactic sugar for Objective-C?

A) Yes! But syntactic sugar matters -- a lot, particularly when done well. As many people have stated, code is read many more times than it is written. That makes readability extremely important. Also, remember that Objective-C itself was just sugar over plain C plus a runtime.

Q) Did you change the '=' assignment operator to ':='? Are you just a fan of Pascal or something?

A) No, the '=' assignment operator remains completely unchanged from C/Objective-C. The ':=' is an Eero-specific operator which declares/defines a type-inferred variable on assignment.

Q) Does Eero only support object operators '+' and '<<' on NSStrings/NSMutableStrings? Why not support full operator overloading?

A) No. Eero does in fact support a number of overloadable operators on any object types. Please see http://eerolanguage.org/documentation/ for a complete list and details.