"Island" Compiler Back-end

The Island comiler back-end allows you to build low-level libraries and executables against the platform's native "C level" APIs. Island is an open platform that can and will be extended to many physical targets; currently it supports:

  • "Darwin" (macOS, iOS, iPadOS, tvOS, watchOS)
  • "Android" NDK
  • "Windows"
  • "Linux"
  • "WebAssembly"

Island compiles to CPU-native code.

Choosing Island as a target trades the rich frameworks provided by a more high-level runtime such as .NET or Java for the benefit of writing code that gets compiled directly against the native CPU (e.g. x64 or i386) and can directly access the lowest level of operating system or hardware APIs. On Darwin, inter-operability with Cocoa classes is provided.

Libraries

  • Island applications have full access to the platform's native low-level APIs. On Windows, that is the Win32 or Win64 C-style API, on Linux it is the standard UNIX/Posix C API. These APIs are provided in the rtl.fx reference and namespace, included by default, where applicable. On Darwin, all Cocoa APIs and classes can be accessed.

  • In addition, Island comes with a very minimal core runtime, "Island RTL", that provides a basic class and type system. This includes the Object type, which is the ancestor of any classes you define yourself, as well as simple types such as String, DateTime, core collection classes, Exception handling (and the base Exception class) and more. Island RTL is open source and available on GitHub.

  • A version of the Swift Base Library is also provided, for supporting higher-level Swift functionality and types; as on the other platforms, SBL can be used from all languages, and is optional-but-referenced-by-default from Swift/Silver projects.

  • Also available is our cross-platform Elements RTL library, as well as the Delphi RTL compatibility library.

Platforms

See Also