ABSTRACT
In early July we released Snap! version 6, with many cool new features, including a ground-up rewrite to be faster and reduce memory use by up to 20x. However, the most powerful 'big idea' is the introduction of an APL-style programming paradigm, which we call 'Hyperblocks'. This augments all existing reporter-block scalar inputs to accept N-dimensional lists of any shape as arguments as well, instead of being considered a domain error. These 'dimension-generic' blocks allow us to teach complex concepts without the need for loops or our beloved map block. For example, the domain of the multiply block had previously only been numbers, and if we had wanted to return a new list in which all of the elements were multiplied by 10, we would have had to use map(10*( ))over(data). Now we can simply say 10*data! In Snap! 6, Hyperblocks enable fast vectorized computations, making it much more efficient to do data analysis and media computation projects. There's nothing that beats a live demonstration of all these wonderful features, and we have two veteran power users to take it through its paces.
Index Terms
- Snap!6, Introducing Hyperblocks!
Comments