System palette vs. class browser?

Questions about GP commands and how to do things

Moderator: MSandro

Post Reply
SvenJ
Posts: 25
Joined: Jul 6th, '17, 08:03

System palette vs. class browser?

Post by SvenJ » Jul 14th, '17, 10:28

Hey, got another question here :) Any input on this would be greatly appreciated!

What is the difference between the system palette and the class browser (both are accessible by right-clicking the stage in developer mode)?

It seems that the system palette does not show how blocks work, only serves to drag them into the code window? The class browser gives you the same functionality, however. Is there a functionality to the system palette that I'm overlooking?

JohnM
Posts: 379
Joined: Sep 11th, '15, 14:42

Re: System palette vs. class browser?

Post by JohnM » Jul 14th, '17, 11:52

Correct. The System Palette is a way to get blocks for operations that are implemented in the system but are not in the normal palette. The "class browser" (a slight misnomer since it includes global functions as well as classes) allows you to view (and possibly change) any code in the system.

Both of these tools are available only in "Developer Mode" and are works-in-progress. Beginning and intermediate GP users should never need to use those tools.

However, those who want to dive deeper, those tools allow you to explore the underlying system. It's like going back-stage in a theater and seeing the sets, props, lighting and sound boards, costumes, and all the people besides the actors who work together to put on a play. And like the backstage of a theater, the implementation of GP can be messy -- but fascinating!

This "introspective" aspect of GP is far from finished. It should be possible to make changes to the GP system using tools in GP itself, as one can do in a Smalltalk system, and save those changes. It should be possible to easily search the code for the callers and implementors of a method, create and change classes, review and undo changes, and more, all using tools written in GP itself. Most of those things are not possible yet, but we will continue to develop the introspective aspects of GP over the coming year. For now, tools, blocks, and facilities that are available only in developer mode should be considered experimental and subject to change.

Feel free to explore GP's "backstage", but don't expect everything you find to be polished, complete, or stable!

SvenJ
Posts: 25
Joined: Jul 6th, '17, 08:03

Re: System palette vs. class browser?

Post by SvenJ » Jul 14th, '17, 12:19

JohnM wrote:
Jul 14th, '17, 11:52
Correct. The System Palette is a way to get blocks for operations that are implemented in the system but are not in the normal palette. The "class browser" (a slight misnomer since it includes global functions as well as classes) allows you to view (and possibly change) any code in the system.

Both of these tools are available only in "Developer Mode" and are works-in-progress. Beginning and intermediate GP users should never need to use those tools.

However, those who want to dive deeper, those tools allow you to explore the underlying system. It's like going back-stage in a theater and seeing the sets, props, lighting and sound boards, costumes, and all the people besides the actors who work together to put on a play. And like the backstage of a theater, the implementation of GP can be messy -- but fascinating!

This "introspective" aspect of GP is far from finished. It should be possible to make changes to the GP system using tools in GP itself, as one can do in a Smalltalk system, and save those changes. It should be possible to easily search the code for the callers and implementors of a method, create and change classes, review and undo changes, and more, all using tools written in GP itself. Most of those things are not possible yet, but we will continue to develop the introspective aspects of GP over the coming year. For now, tools, blocks, and facilities that are available only in developer mode should be considered experimental and subject to change.

Feel free to explore GP's "backstage", but don't expect everything you find to be polished, complete, or stable!
Okay, I understand. Thanks for explaining :)

Post Reply