Are you over 18 and want to see adult content?
More Annotations
A complete backup of smiledesigndentalfl.com
Are you over 18 and want to see adult content?
A complete backup of blue-armor.tumblr.com
Are you over 18 and want to see adult content?
A complete backup of kebioskop21.online
Are you over 18 and want to see adult content?
A complete backup of gymnasium-weilheim.de
Are you over 18 and want to see adult content?
A complete backup of idreamofjimmy.info
Are you over 18 and want to see adult content?
A complete backup of freedoomforlife.wordpress.com
Are you over 18 and want to see adult content?
A complete backup of divisiontracker.com
Are you over 18 and want to see adult content?
A complete backup of mehndidesignparashar.blogspot.com
Are you over 18 and want to see adult content?
A complete backup of photobinphotography.com
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of semperpoesia.wordpress.com
Are you over 18 and want to see adult content?
A complete backup of kgbakerysupply.com
Are you over 18 and want to see adult content?
A complete backup of ilovelockerroom.tumblr.com
Are you over 18 and want to see adult content?
A complete backup of whatsyourname.style
Are you over 18 and want to see adult content?
Text
SELF | WELCOME
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self forwriting Self
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. SELF HANDBOOK DOCUMENTATION Self Handbook Documentation, Release for Self 2017.1 Release for Self 2017.1 Date May 05, 2017 Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney,THE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B. Smith, David Ungar and Mario Wolczko. BLOCKS, BOOLEANS, AND CONTROL STRUCTURES Booleans and Conditionals¶. The fundamental control structure is the conditional. In Self, the behavior of conditionals is defined by two unique boolean objects, true and false.Boolean objects respond to the messages ifTrue:, ifFalse:, ifTrue:False:, and ifFalse:True: by evaluating the appropriate argument block. For example, true implements ifTrue:False: as:WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B. AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theSELF | WELCOME
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self forwriting Self
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. SELF HANDBOOK DOCUMENTATION Self Handbook Documentation, Release for Self 2017.1 Release for Self 2017.1 Date May 05, 2017 Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney,THE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B. Smith, David Ungar and Mario Wolczko. BLOCKS, BOOLEANS, AND CONTROL STRUCTURES Booleans and Conditionals¶. The fundamental control structure is the conditional. In Self, the behavior of conditionals is defined by two unique boolean objects, true and false.Boolean objects respond to the messages ifTrue:, ifFalse:, ifTrue:False:, and ifFalse:True: by evaluating the appropriate argument block. For example, true implements ifTrue:False: as:WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B. AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theINTRODUCTION
The VM executes Self programs specified by objects in the Self world and provides a set of primitives (which are methods written in C++) that can be invoked by Self methods to carry out basic operations like integer arithmetic, object copying, and I/O. The Self world distributed with the VM is a collection of Self objects implementing various traits and prototypes like cloning traits andTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B.1. INTRODUCTION
1. Introduction — Self Handbook for Self 2017.1 documentation. 1. Introduction ¶. Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects definedWORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referred 5. A GUIDE TO PROGRAMMING STYLE 5. A Guide to Programming Style¶. This section discusses some programming idioms and stylistic conventions that have evolved in the Self group. Rather than simply presenting a set of rules, an attempt has been made to explain the reasons for each stylistic convention. 6. HOW TO PROGRAM IN SELF 6.2.1.3. Slots¶. The little icons on the right edges of the slots reveal the type of slot: for a method slot (a slot containing a method), for a constant slot (a slot containing a data object), and for an assignable slot (a pair of slots containing a data object and the assignment primitive). In order to save space, the data slot and its corresponding assignment slot are lumped together.NUMBERS AND TIME
Traits random defines the abstract behavior of random number generators. A random number generator can be used to generate random booleans, integers, floats, characters or strings. traits randomLC defines a concrete specialization based on a simple linear congruence algorithm. For convenience, the prototype for randomLC is “ random,” not “ randomLC ”. 7. MORPHIC: THE SELF USER INTERFACE FRAMEWORK 7.1. Overview¶. Morphic is a user interface framework that supports composable graphical objects, along with the machinery required to display and animate these objects, handle user inputs, and manage underlying system resources such as X displays, fonts, and color maps. 4.1. WORLD ORGANIZATION 4.1.1. The Lobby¶. The lobby object is thus named because it is where objects enter the Self world. For example, when a script that creates a new object is read into the system, all expressions in that script are evaluated in the context of the lobby. MAKING PURE OBJECT-ORIENTED LANGUAGES PRACTICAL To appear in OOPSLA’91 Conference Proceedings, October, 1991. 1 Making Pure Object-Oriented Languages Practical* Craig Chambers David Ungar Stanford University** Abstract In the past, object-oriented language designers and program-SELF | WELCOME
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self forwriting Self
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. 3. LANGUAGE REFERENCE 3.1. Objects¶. Objects are the fundamental entities in Self; every entity in a Self program is represented by one or more objects. Even control is handled by objects: blocks (§3.1.7) are Self closures used to implement user-defined control structures.An object is composed of a (possibly empty) set of slots and, optionally, code (§3.1.5).A slot is a name-value pair; slots contain referencesTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B.WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF WORLD
The Self World¶. The default Self world is a set of useful objects, including objects that can be used in application programs (e.g., integers, strings, and collections), objects that support the programming environment (e.g., the debugger), and objects AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that ANIMATION: FROM CARTOONS TO THE USER INTERFACE Figure 1. At slow and medium speeds, objects overlap with their previous images. At fast speeds, however, there is a gap between the object and its previous image, making the movement look disconnectedand con-
DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theSELF | WELCOME
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self forwriting Self
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. 3. LANGUAGE REFERENCE 3.1. Objects¶. Objects are the fundamental entities in Self; every entity in a Self program is represented by one or more objects. Even control is handled by objects: blocks (§3.1.7) are Self closures used to implement user-defined control structures.An object is composed of a (possibly empty) set of slots and, optionally, code (§3.1.5).A slot is a name-value pair; slots contain referencesTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B.WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF WORLD
The Self World¶. The default Self world is a set of useful objects, including objects that can be used in application programs (e.g., integers, strings, and collections), objects that support the programming environment (e.g., the debugger), and objects AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that ANIMATION: FROM CARTOONS TO THE USER INTERFACE Figure 1. At slow and medium speeds, objects overlap with their previous images. At fast speeds, however, there is a gap between the object and its previous image, making the movement look disconnectedand con-
DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theINTRODUCTION
The VM executes Self programs specified by objects in the Self world and provides a set of primitives (which are methods written in C++) that can be invoked by Self methods to carry out basic operations like integer arithmetic, object copying, and I/O. The Self world distributed with the VM is a collection of Self objects implementing various traits and prototypes like cloning traits andWORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referred1. INTRODUCTION
1. Introduction — Self Handbook for Self 2017.1 documentation. 1. Introduction ¶. Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects definedSELFLANGUAGE.ORG
selflanguage.org
BLOCKS, BOOLEANS, AND CONTROL STRUCTURES Booleans and Conditionals¶. The fundamental control structure is the conditional. In Self, the behavior of conditionals is defined by two unique boolean objects, true and false.Boolean objects respond to the messages ifTrue:, ifFalse:, ifTrue:False:, and ifFalse:True: by evaluating the appropriate argument block. For example, true implements ifTrue:False: as:THE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B. Smith, David Ungar and Mario Wolczko. SELF HANDBOOK DOCUMENTATION Self Handbook Documentation, Release for Self 2017.1 Release for Self 2017.1 Date May 05, 2017 Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, HOW TO BUILD THE WORLD Should you need to reconstruct a world from the source files, here’s how to do it. This section describes how to create a default object world by reading in the Self source code distributed through the GitHub repository.You can also do this after writing the world out using the transporter (transporter fileOut fileOutAll).To create the default object world, change your current workingNUMBERS AND TIME
Traits random defines the abstract behavior of random number generators. A random number generator can be used to generate random booleans, integers, floats, characters or strings. traits randomLC defines a concrete specialization based on a simple linear congruence algorithm. For convenience, the prototype for randomLC is “ random,” not “ randomLC ”. 7. MORPHIC: THE SELF USER INTERFACE FRAMEWORK 7.1. Overview¶. Morphic is a user interface framework that supports composable graphical objects, along with the machinery required to display and animate these objects, handle user inputs, and manage underlying system resources such as X displays, fonts, and color maps.SELF | WELCOME
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self forwriting Self
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. 3. LANGUAGE REFERENCE 3.1. Objects¶. Objects are the fundamental entities in Self; every entity in a Self program is represented by one or more objects. Even control is handled by objects: blocks (§3.1.7) are Self closures used to implement user-defined control structures.An object is composed of a (possibly empty) set of slots and, optionally, code (§3.1.5).A slot is a name-value pair; slots contain referencesTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B.WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF WORLD
The Self World¶. The default Self world is a set of useful objects, including objects that can be used in application programs (e.g., integers, strings, and collections), objects that support the programming environment (e.g., the debugger), and objects AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that ANIMATION: FROM CARTOONS TO THE USER INTERFACE Figure 1. At slow and medium speeds, objects overlap with their previous images. At fast speeds, however, there is a gap between the object and its previous image, making the movement look disconnectedand con-
DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theSELF | WELCOME
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self forwriting Self
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. 3. LANGUAGE REFERENCE 3.1. Objects¶. Objects are the fundamental entities in Self; every entity in a Self program is represented by one or more objects. Even control is handled by objects: blocks (§3.1.7) are Self closures used to implement user-defined control structures.An object is composed of a (possibly empty) set of slots and, optionally, code (§3.1.5).A slot is a name-value pair; slots contain referencesTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B.WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF WORLD
The Self World¶. The default Self world is a set of useful objects, including objects that can be used in application programs (e.g., integers, strings, and collections), objects that support the programming environment (e.g., the debugger), and objects AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that ANIMATION: FROM CARTOONS TO THE USER INTERFACE Figure 1. At slow and medium speeds, objects overlap with their previous images. At fast speeds, however, there is a gap between the object and its previous image, making the movement look disconnectedand con-
DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theINTRODUCTION
The VM executes Self programs specified by objects in the Self world and provides a set of primitives (which are methods written in C++) that can be invoked by Self methods to carry out basic operations like integer arithmetic, object copying, and I/O. The Self world distributed with the VM is a collection of Self objects implementing various traits and prototypes like cloning traits andWORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referred1. INTRODUCTION
1. Introduction — Self Handbook for Self 2017.1 documentation. 1. Introduction ¶. Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects definedSELFLANGUAGE.ORG
selflanguage.org
BLOCKS, BOOLEANS, AND CONTROL STRUCTURES Booleans and Conditionals¶. The fundamental control structure is the conditional. In Self, the behavior of conditionals is defined by two unique boolean objects, true and false.Boolean objects respond to the messages ifTrue:, ifFalse:, ifTrue:False:, and ifFalse:True: by evaluating the appropriate argument block. For example, true implements ifTrue:False: as:THE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B. Smith, David Ungar and Mario Wolczko. SELF HANDBOOK DOCUMENTATION Self Handbook Documentation, Release for Self 2017.1 Release for Self 2017.1 Date May 05, 2017 Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, HOW TO BUILD THE WORLD Should you need to reconstruct a world from the source files, here’s how to do it. This section describes how to create a default object world by reading in the Self source code distributed through the GitHub repository.You can also do this after writing the world out using the transporter (transporter fileOut fileOutAll).To create the default object world, change your current workingNUMBERS AND TIME
Traits random defines the abstract behavior of random number generators. A random number generator can be used to generate random booleans, integers, floats, characters or strings. traits randomLC defines a concrete specialization based on a simple linear congruence algorithm. For convenience, the prototype for randomLC is “ random,” not “ randomLC ”. 7. MORPHIC: THE SELF USER INTERFACE FRAMEWORK 7.1. Overview¶. Morphic is a user interface framework that supports composable graphical objects, along with the machinery required to display and animate these objects, handle user inputs, and manage underlying system resources such as X displays, fonts, and color maps.SELF | WELCOME
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self forwriting Self
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. 3. LANGUAGE REFERENCE 3.1. Objects¶. Objects are the fundamental entities in Self; every entity in a Self program is represented by one or more objects. Even control is handled by objects: blocks (§3.1.7) are Self closures used to implement user-defined control structures.An object is composed of a (possibly empty) set of slots and, optionally, code (§3.1.5).A slot is a name-value pair; slots contain referencesTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B.WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF WORLD
The Self World¶. The default Self world is a set of useful objects, including objects that can be used in application programs (e.g., integers, strings, and collections), objects that support the programming environment (e.g., the debugger), and objects AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that ANIMATION: FROM CARTOONS TO THE USER INTERFACE Figure 1. At slow and medium speeds, objects overlap with their previous images. At fast speeds, however, there is a gap between the object and its previous image, making the movement look disconnectedand con-
DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theSELF | WELCOME
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self forwriting Self
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. 3. LANGUAGE REFERENCE 3.1. Objects¶. Objects are the fundamental entities in Self; every entity in a Self program is represented by one or more objects. Even control is handled by objects: blocks (§3.1.7) are Self closures used to implement user-defined control structures.An object is composed of a (possibly empty) set of slots and, optionally, code (§3.1.5).A slot is a name-value pair; slots contain referencesTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B.WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF WORLD
The Self World¶. The default Self world is a set of useful objects, including objects that can be used in application programs (e.g., integers, strings, and collections), objects that support the programming environment (e.g., the debugger), and objects AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that ANIMATION: FROM CARTOONS TO THE USER INTERFACE Figure 1. At slow and medium speeds, objects overlap with their previous images. At fast speeds, however, there is a gap between the object and its previous image, making the movement look disconnectedand con-
DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theINTRODUCTION
The VM executes Self programs specified by objects in the Self world and provides a set of primitives (which are methods written in C++) that can be invoked by Self methods to carry out basic operations like integer arithmetic, object copying, and I/O. The Self world distributed with the VM is a collection of Self objects implementing various traits and prototypes like cloning traits andWORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referred1. INTRODUCTION
1. Introduction — Self Handbook for Self 2017.1 documentation. 1. Introduction ¶. Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects definedSELFLANGUAGE.ORG
selflanguage.org
BLOCKS, BOOLEANS, AND CONTROL STRUCTURES Booleans and Conditionals¶. The fundamental control structure is the conditional. In Self, the behavior of conditionals is defined by two unique boolean objects, true and false.Boolean objects respond to the messages ifTrue:, ifFalse:, ifTrue:False:, and ifFalse:True: by evaluating the appropriate argument block. For example, true implements ifTrue:False: as:THE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B. Smith, David Ungar and Mario Wolczko. SELF HANDBOOK DOCUMENTATION Self Handbook Documentation, Release for Self 2017.1 Release for Self 2017.1 Date May 05, 2017 Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, HOW TO BUILD THE WORLD Should you need to reconstruct a world from the source files, here’s how to do it. This section describes how to create a default object world by reading in the Self source code distributed through the GitHub repository.You can also do this after writing the world out using the transporter (transporter fileOut fileOutAll).To create the default object world, change your current workingNUMBERS AND TIME
Traits random defines the abstract behavior of random number generators. A random number generator can be used to generate random booleans, integers, floats, characters or strings. traits randomLC defines a concrete specialization based on a simple linear congruence algorithm. For convenience, the prototype for randomLC is “ random,” not “ randomLC ”. 7. MORPHIC: THE SELF USER INTERFACE FRAMEWORK 7.1. Overview¶. Morphic is a user interface framework that supports composable graphical objects, along with the machinery required to display and animate these objects, handle user inputs, and manage underlying system resources such as X displays, fonts, and color maps.SELF | WELCOME
About Self. Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered aroundthe principles
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. 3. LANGUAGE REFERENCE 3.1. Objects¶. Objects are the fundamental entities in Self; every entity in a Self program is represented by one or more objects. Even control is handled by objects: blocks (§3.1.7) are Self closures used to implement user-defined control structures.An object is composed of a (possibly empty) set of slots and, optionally, code (§3.1.5).A slot is a name-value pair; slots contain referencesTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B.WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF WORLD
The Self World¶. The default Self world is a set of useful objects, including objects that can be used in application programs (e.g., integers, strings, and collections), objects that support the programming environment (e.g., the debugger), and objects AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that ANIMATION: FROM CARTOONS TO THE USER INTERFACE Figure 1. At slow and medium speeds, objects overlap with their previous images. At fast speeds, however, there is a gap between the object and its previous image, making the movement look disconnectedand con-
DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theSELF | WELCOME
About Self. Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered aroundthe principles
SELF HANDBOOK
Self Handbook. The Self handbook is the main set of documentation for the Self system. It is available as HTML to read online, or as PDF or epub for offline reading. 3. LANGUAGE REFERENCE 3.1. Objects¶. Objects are the fundamental entities in Self; every entity in a Self program is represented by one or more objects. Even control is handled by objects: blocks (§3.1.7) are Self closures used to implement user-defined control structures.An object is composed of a (possibly empty) set of slots and, optionally, code (§3.1.5).A slot is a name-value pair; slots contain referencesTHE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B.WORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referredTHE SELF WORLD
The Self World¶. The default Self world is a set of useful objects, including objects that can be used in application programs (e.g., integers, strings, and collections), objects that support the programming environment (e.g., the debugger), and objects AN EFFICIENT IMPLEMENTATION OF SELF A DYNAMICALLY-TYPED AN EFFICIENT IMPLEMENTATION OF SELF 61 SELF allows programmers to define their own control structures using blocks. A block contains a method in a slot named value; this method is special in that when it is invoked (by sending value to the block), the method runs as a child of its lexi- cally enclosing activation record (either a “normal” method activation or another ORGANIZING PROGRAMS WITHOUT CLASSES ORGANIZING PROGRAMS WITHOUT CLASSES 39 (see Figure 1a). To initialize a new instance’s list of vertices, the Polygon class could define a wrapper method named vertices: that ANIMATION: FROM CARTOONS TO THE USER INTERFACE Figure 1. At slow and medium speeds, objects overlap with their previous images. At fast speeds, however, there is a gap between the object and its previous image, making the movement look disconnectedand con-
DEBUGGING OPTIMIZED CODE WITH DYNAMIC DEOPTIMIZATION 3 Since the expression i + j is a compile-time constant, the compiler has eliminated its computation from the generated code. But what if the program is suspended just before theINTRODUCTION
The VM executes Self programs specified by objects in the Self world and provides a set of primitives (which are methods written in C++) that can be invoked by Self methods to carry out basic operations like integer arithmetic, object copying, and I/O. The Self world distributed with the VM is a collection of Self objects implementing various traits and prototypes like cloning traits andWORLD ORGANIZATION
requires that the message list be understood by the lobby (the implicit receiver of the message) so that the entries slot of the new object can be initialized. The lobby slots traits, globals, and mixins are the roots of the object namespaces accessible from the lobby. The organization of these namespaces is described in the next section. The slot lobby allows the lobby itself to be referred1. INTRODUCTION
1.1. History¶. The first version of the Self language was designed in 1986 by David Ungar and Randall B. Smith at Xerox PARC. A series of Self implementations and a graphical programming environment were built at Stanford University by Craig Chambers, Urs Hölzle,SELFLANGUAGE.ORG
selflanguage.org
THE SELF HANDBOOK
Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, Tobias Pape, Randall B. Smith, David Ungar and Mario Wolczko. SELF HANDBOOK DOCUMENTATION Self Handbook Documentation, Release for Self 2017.1 Release for Self 2017.1 Date May 05, 2017 Edited by Russell Allen. Authors (in alphabetical order): Ole Agesen, Lars Bak, Craig Chambers, Bay-Wei Chang, Urs Hölzle, John Maloney, HOW TO BUILD THE WORLD Should you need to reconstruct a world from the source files, here’s how to do it. This section describes how to create a default object world by reading in the Self source code distributed through the GitHub repository.You can also do this after writing the world out using the transporter (transporter fileOut fileOutAll).To create the default object world, change your current workingNUMBERS AND TIME
Traits random defines the abstract behavior of random number generators. A random number generator can be used to generate random booleans, integers, floats, characters or strings. traits randomLC defines a concrete specialization based on a simple linear congruence algorithm. For convenience, the prototype for randomLC is “ random,” not “ randomLC ”. 7. MORPHIC: THE SELF USER INTERFACE FRAMEWORK 7.1. Overview¶. Morphic is a user interface framework that supports composable graphical objects, along with the machinery required to display and animate these objects, handle user inputs, and manage underlying system resources such as X displays, fonts, and color maps. MAKING PURE OBJECT-ORIENTED LANGUAGES PRACTICAL To appear in OOPSLA’91 Conference Proceedings, October, 1991. 1 Making Pure Object-Oriented Languages Practical* Craig Chambers David Ungar Stanford University** Abstract In the past, object-oriented language designers and program- FUN THROUGH SIMPLICITY SELF _MANDARIN_ RELEASED! The latest version of Self is Self "Mandarin" 2017.1 released May 2017.
Download now!
HERE IS WHERE TO GET SELF:Download for OS X
__
Includes the Self Control.app, Self VM and a prebuilt snapshot. Download for Linux x86__
Includes a Self VM and a prebuilt snapshot. Use the Source, Luke__
All of the Self sources for the VM and for the default Self World areon Github.
HERE ARE SOME PLACES TO LEARN ABOUT SELF: Read the Self Handbook The main set of Self documentation, covers the language and programming environment. Read the mailing list archives Read the archive of dicussions on Self, or subscribeRead the Blog
Read the Self blog to keep up to date with Self releases and activity. Read Academic Papers Over the years, the Self project has generated many academic papersand talks.
ABOUT SELF
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self for writing Self programs. The language and environment attempt to present objects to the programmer and user in as direct and physical a way as possible. The system uses the prototype-based style of objectconstruction.
Self contains a user interface and programming environment designed for “serious” programming, enabling the programmer to create and modify objects entirely within the environment, and then save the object into files for distribution purposes. The metaphor used to present an object to the user is that of an outliner, allowing the user to view varying levels of detail. Also included in the environment is a graphical debugger, and tools for navigation throughthe system.
The first version of the Self language was designed in 1986 by David Ungar and Randall B. Smith at Xerox PARC. A series of Self implementations and a graphical programming environment were built at Stanford University by Craig Chambers, Urs Hölzle, Ole Agesen, Elgin Lee, Bay-Wei Chang, and David Ungar. The project continued at Sun Microsystems Laboratories until 1995, where it benefited from the efforts of Randall B. Smith, Mario Wolczko, John Maloney, and LarsBak.
VIDEOS
SELF - WHYS AND WHEREFORES Davd Ungar at Stanford University, 2009SELF - THE VIDEO
The original Self introduction from Sun Microsystems, 1995 ------------------------- Last updated on May 9, 2017 | Based on Foundation | Contact Russell AllenDetails
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0