Abstract :
Our team is developing GP, a new blocks language that aims to be beginner-friendly, like Scratch, yet capable of scaling up to support larger applications. We hope to allow a world-wide community of users to share projects, sprites, and code libraries and to create new ones using a mash-up development style. To support such easy sharing and reuse, GP incorporates a strong notion of modularity. Modularity allows components created by different users at different times to interoperate without worrying about conflicts. However, we do not want modularity to add to the burden of the beginning programmer; we´d like GP´s module features to stay out of the way until they are needed. In this paper, we present the key ideas around the GP module system. A module in GP is a unit of encapsulated code and data. It exports a selected set of classes, functions, and variables, provides a namespace for the code inside, and may include private helper classes, functions, and variables. A module can also extend system classes with additional methods. Such extensions can be used freely within the module but are not visible outside it. Modules can be saved and re-loaded, allowing modules to store user-created projects, sprites, and code libraries.
Keywords :
"Libraries","Sprites (computer)","Dictionaries","Programming environments","Syntactics","Arrays","Paints"