MLton is an open source, whole program, optimizing compiler for the Standard ML programming language. Standard ML is a strict, statically typed, functional programming language with type inference, abstract data types, a sophisticated module system, garbage collection and many other features. As a high-level language with advanced programming language features, Standard ML is a challenge to implement efficiently. MLton uses whole program compilation to provide both advanced programming language features and superior performance.
This is the first year that MLton is participating in Google Summer of Code and we are excited to be mentoring two students. Tucker DiNapoli is working on adding a rich collection of SIMD primitives to the compiler and developing an SML library that exposes these primitives to the programmer. Nate Burgers is working on tooling support that will allow MLton to target RTEMS (Real-Time Executive for Multiprocessor Systems) and runtime system improvements to make MLton generated code better suited for real-time embedded systems.
By Matthew Fluet, MLton Organization Administrator
In the context of embedded Linux systems, one often needs to create highly-customized Linux systems, comprising a Linux kernel, a bootloader and a root file system with multiple libraries and applications. Buildroot is a tool that allows one to build from source all the components of an embedded Linux system, using cross-compilation. It supports a wide range of CPU architecture (x86, x86-64, ARM, PowerPC, MIPS, Blackfin, ARC, Xtensa and more) and more than 1000 userspace packages (including X.org, Gtk, Qt, Gstreamer and many more). Developed by an active community, Buildroot is used by many embedded CPU vendors as the base for their development kit, and is also used by a number of embedded system makers for their products.
The focus of our Buildroot Google Summer of Code project by Spenser Gilliland is to improve the support of the multimedia features of various ARM processors in Buildroot. This involves creating Buildroot packages for the various OpenGL libraries or hardware-accelerated video encoding/decoding libraries that are needed on ARM processors. So far, thanks to the Google Summer of Code, improvements to video decoding on Raspberry Pi have been integrated, OpenGL support for OMAP3 and AM335x platforms (BeagleBoard, BeagleBone) has been integrated, as well as OpenGL support for Allwinner SOCs (Cubieboard and other similar platforms).
By Thomas Petazzoni, Buildroot Google Summer of Code Organization Administrator
Since mobile browsers are not commonly extendable, Privly needs a different approach for Android and iOS. After a design process led by Google Summer of Code applicants, two students were selected to create a novel way of integrating Privly's security applications with mobile platforms. The mobile apps will be able to post content securely through other mobile applications, as well as pull encrypted content from various sources and display it in-app.
By Sean McGregor, Privly Organization Administrator