Snap! (Build Your Own Blocks)

E13168

Snap! (Build Your Own Blocks) is a visual, block-based programming language and environment designed for advanced users and education, extending Scratch with powerful features like first-class procedures, lists, and continuations.


Statements (94)
Predicate Object
instanceOf block-based programming environment
educational programming language
visual programming language
basedOn Scratch
extends Scratch
hasFeature block inheritance
block prototyping
custom blocks
first-class blocks
first-class commands
first-class continuations
first-class continuations enabling advanced control abstractions
first-class continuations enabling advanced control flow
first-class continuations enabling backtracking
first-class continuations enabling coroutines-like behavior
first-class continuations enabling non-local exits
first-class continuations with CALL/CC-style blocks
first-class costumes
first-class lists
first-class lists as data structures
first-class lists enabling complex data structures
first-class lists enabling functional-style programming
first-class lists enabling list processing
first-class lists of lists
first-class predicates
first-class procedures
first-class procedures enabling anonymous functions
first-class procedures enabling closures
first-class procedures enabling custom control flow blocks
first-class procedures enabling custom control structures
first-class procedures enabling functional-style programming
first-class procedures enabling higher-order event handlers
first-class procedures enabling higher-order list operations
first-class procedures enabling higher-order programming
first-class procedures enabling lexical scoping
first-class procedures enabling map/filter/reduce patterns
first-class procedures enabling recursion
first-class procedures enabling user-defined IoT projects
first-class procedures enabling user-defined actor models
first-class procedures enabling user-defined animations
first-class procedures enabling user-defined art projects
first-class procedures enabling user-defined blocks
first-class procedures enabling user-defined commands
first-class procedures enabling user-defined constraint programming constructs
first-class procedures enabling user-defined continuation-passing style
first-class procedures enabling user-defined control abstractions
first-class procedures enabling user-defined control operators
first-class procedures enabling user-defined control structures for concurrency
first-class procedures enabling user-defined data abstractions
first-class procedures enabling user-defined data analysis projects
first-class procedures enabling user-defined dataflow systems
first-class procedures enabling user-defined domain-specific languages
first-class procedures enabling user-defined educational tools
first-class procedures enabling user-defined event-driven patterns
first-class procedures enabling user-defined functional abstractions
first-class procedures enabling user-defined games
first-class procedures enabling user-defined higher-order blocks
first-class procedures enabling user-defined interactive applications
first-class procedures enabling user-defined interactive stories
first-class procedures enabling user-defined interpreters
first-class procedures enabling user-defined iteration patterns
first-class procedures enabling user-defined learning algorithms
first-class procedures enabling user-defined list operations
first-class procedures enabling user-defined logic programming constructs
first-class procedures enabling user-defined machine learning experiments
first-class procedures enabling user-defined message-passing systems
first-class procedures enabling user-defined monadic patterns
first-class procedures enabling user-defined music projects
first-class procedures enabling user-defined object systems
first-class procedures enabling user-defined optimization strategies
first-class procedures enabling user-defined physical computing projects
first-class procedures enabling user-defined predicates
first-class procedures enabling user-defined reactive systems
first-class procedures enabling user-defined recursion patterns
first-class procedures enabling user-defined reporters
first-class procedures enabling user-defined robotics control
first-class procedures enabling user-defined search strategies
first-class procedures enabling user-defined sensor-based projects
first-class procedures enabling user-defined simulation models
first-class procedures enabling user-defined simulations
first-class procedures enabling user-defined state machines
first-class procedures enabling user-defined stream processing
first-class procedures enabling user-defined visualization tools
first-class procedures enabling user-defined visualizations
first-class procedures enabling user-defined web applications
first-class procedures with multiple inputs
first-class reporters
first-class rings (code as data)
first-class scripts
first-class sounds
first-class sprites
first-class variables
higher-order functions
recursion support

Referenced by (1)
Subject (surface form when different) Predicate
Scratch
influenced

Please wait…