module dalvik



  • android: Android services and implementation of app.nit
  • assets_and_resources: Android Assets and Resources Management
  • intent_api10: Services allowing to launch activities and start/stop services using
  • native_app_glue: Wrapper of the Android native_app_glue framework to implement app.nit
  • nit_activity: Core implementation of app.nit on Android using a custom Java entry point
  • shared_preferences_api10: Services to save/load data using android.content.SharedPreferences for the android platform
  • toast: Services to display a toast, a small popup on Android
  • vibration: Vibration services for Android


  • core: Nit common library of core classes and methods
    • kernel: Most basic classes and methods.
  • app: app.nit, a framework for portable applications
    • app_base: Base of the app.nit framework, defines App

from core::kernel


redef class Sys

The main class of the program.

Sys is a singleton class, its only instance is accessible from everywhere with sys.

Because of this, methods that should be accessible from everywhere, like print or exit, are defined in Sys. Moreover, unless there is an ambiguity with self, the receiver of a call to these methods is implicitly sys. Basically it means that the two following instructions are equivalent.

print "Hello World"
sys.print "Hello World"

Methods Implicitly Defined in Sys

Sys is the class where are defined top-level methods, i.e. those defined outside of any class like in a procedural language. Basically it means that

redef class Sys
   fun foo do print "hello"

is equivalent with

fun foo print "hello"

As a corollary, in a top-level method, self (the current receiver) is always sys.

from app::app_base