Skip to content

Latest commit

 

History

History
11 lines (6 loc) · 1.08 KB

README.md

File metadata and controls

11 lines (6 loc) · 1.08 KB

Sparkground

Block-based digital playground for learning functional programming

Sparkground is an experimental block-based functional programming language, inspired by Scratch, Racket and various industrial languages.

Sparkground was designed from the beginning to facilitate visual code editing, by presenting each expression as a draggable "block". This design space has been extensively explored, most notably by Scratch. However, existing block-based languages rely on the statement-expression dichotemy afforded by an imperative programming paradigm. Enabling visual editing for languages without a statement-expression dichotemy presented (and continues to present) a unique challenge.

Sparkground also has a static type system, with the aim to catch common mistakes and enable certain contextual editing actions. Being a gradual type system, it can be selectively disabled. There is a writeup that describes the system in detail.

Try it