LambdaNative. LambdaNative is an open-source cross-platform development environment written on top of the Gambit-C Scheme implementation of the Scheme programming language, supporting the creation of native applications on a range of mobile, desktop and embedded platforms. The underlying Scheme programming language has a long tradition of use in theoretical computer science, artificial intelligence and rapid program development.

History 
The Scheme programming language was designed as a simplified and more abstract variant of the early Lisp programming language. The first Lisp implementation was available in 1958, Scheme was introduced in 1975.

Development of LambdaNative toolkit started in 2009 at the Pediatric Anesthesia Research Team (PART)  in Vancouver, Canada. It was initially used as an in-house platform for a closed-loop intravenous anesthesia system. Support for mobile platforms was added as PART became engaged in global health projects in 2010. The core LambdaNative framework was open-sourced in 2013.

Features 
LambdaNative combines the possibilities of a rapid prototyping environment using Scheme and C programming languages (feature of the underlying Gambit-C implementation) with easy cross-platform software generation and a set of modules including GUI programming, fast Fourier transform and modules to access typical phone hardware components such as camera, GPS and audio.

Licensing 
LambdaNative is released under the BSD License.

Platforms 
LambdaNative supports building native applications for the following operating systems:
 Mobile: iOS, Android, BlackBerry 10
 Desktop:  Windows, Mac OS X, Linux, OpenBSD
 Embedded: OpenWrt

Scheme based development 
LambdaNative applications are written in the Scheme language which can be easily mixed with C code. Scheme is a high level functional language with a very simple and expressive syntax. LambdaNative uses Gambit-C Scheme, a portable standards-compliant Scheme to C compiler.

Applications written in the framework can be either event-loop driven graphical applications or console applications, and code can be abstracted in the form of modules and plugins. LambdaNative does not require the use of an Integrated Development Environment (IDE). The build system follows the conventional configure, make, make install command format.

Graphics and user interface
LambdaNative utilizes the OpenGL and OpenGL ES hardware accelerated graphics layer on the target platforms, and provides a full widget-based 2D graphics engine. It is also possible to render 3D scenes, and overlay a 2D user interface.

The cross-platform GUI is based on the highly portable glGUI widget toolkit.

Audio 
LambdaNative supports both playback of audio files (OGG or WAV) format, and real-time full-duplex bidirectional audio.

Sensors 
LambdaNative supports access to accelerometers, gyroscopes, GPS locators and other sensors where available on mobile devices.

Applications built with LambdaNative 
LambdaNative has been used for a diverse range of medical applications, for example the Phone Oximeter, a smartphone based low-cost pulse oximeter. The Phone Oximeter was selected as one of the ten innovations for 2015 to achieve the United Nations Millennium Development Goals to decrease maternal and child mortality.

LambdaNative-based applications have been used in clinical trials on >50,000 subjects in Canada, France, India, Uganda, Bangladesh, and South Africa, in >10 separate clinical studies.

See also 
 Mobile application development

References

External links 
 Official SDK Site
 Github Source repository

Android (operating system) development software
BlackBerry development software
Application programming interfaces
Mobile software
Software development kits