Microscheme: A functional programming language for the Arduino

so-cal-schemer2 pts1 comments

Microscheme

About

Download

Examples

Documentation

Literature

GitHub

© Ryan Suchocki et al.

microscheme.org

A functional programming language for the Arduino

;; Hello World in Microscheme!

(include "libraries/lcd.ms")<br>(lcd-init)

(define foo "Hi, ")<br>(define bar "from Scheme!")

(for-each-vector write (vector-concat foo bar))

Microscheme, or (ms) for short, is a functional programming language for the Arduino, and for Atmel 8-bit AVR microcontrollers in general. Microscheme is a subset of Scheme, in the sense that every valid (ms) program is also a valid Scheme program (with the exception of Arduino hardware-specific primitives). The (ms) compiler performs function inlining, and features an aggressive tree-shaker, eliminating unused top-level definitions. Microscheme has a robust FFI (Foreign Function Interface) meaning that C code may be invoked directly from (ms) programs. Therefore, the power of the existing wealth of Arduino libraries is available within Microscheme.

microscheme arduino functional programming language scheme

Related Articles