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 |