PDF US Letter Paper
Total Page:16
File Type:pdf, Size:1020Kb
Logtalk 2.6 Documentation July 2000 Paulo Jorge Lopes de Moura [email protected] TECHNICAL REPORT DMI—2000/1 Department of Mathematics and Informatics University of Beira Interior Rua Marquês d'Ávila e Bolama 6201-001 Covilhã — Portugal Table of contents Table of contents USER MANUAL.....................................................................................................................................................................8 Logtalk features .......................................................................................................................................................9 Integration of logic and object-oriented programming..........................................................................................9 Integration of event-driven and object-oriented programming..............................................................................9 Support for both prototype and class-based systems .............................................................................................9 Support for multiple object hierarchies................................................................................................................10 Separation between interface and implementation ..............................................................................................10 Private, protected and public inheritance.............................................................................................................10 Private, protected and public object predicates....................................................................................................10 Parametric objects................................................................................................................................................10 Smooth learning curve .........................................................................................................................................11 Compatibility with most Prologs and the ISO standard.......................................................................................11 Message sending.....................................................................................................................................................12 Operators used in message sending .....................................................................................................................12 Sending a message to an object ...........................................................................................................................12 Broadcasting ........................................................................................................................................................12 Sending a message to self ....................................................................................................................................13 Calling an overridden predicate definition ..........................................................................................................13 Message sending and event generation................................................................................................................14 Objects ....................................................................................................................................................................15 Objects, prototypes, classes and instances...........................................................................................................15 Defining a new object ..........................................................................................................................................15 Parametric objects................................................................................................................................................17 Finding defined objects........................................................................................................................................18 Creating a new object in runtime.........................................................................................................................18 Abolishing an existing object...............................................................................................................................19 Object directives ..................................................................................................................................................19 Object initialization..........................................................................................................................................19 Dynamic objects...............................................................................................................................................20 Object dependencies ........................................................................................................................................20 Object documentation ......................................................................................................................................20 Object relationships .........................................................................................................................................20 Object properties..................................................................................................................................................21 The pseudo-object user ........................................................................................................................................22 Protocols..................................................................................................................................................................23 Defining a new protocol.......................................................................................................................................23 Finding defined protocols ....................................................................................................................................23 Creating a new protocol in runtime .....................................................................................................................24 Abolishing an existing protocol...........................................................................................................................24 Protocol directives ...............................................................................................................................................24 Protocol initialization.......................................................................................................................................24 2 Table of contents Dynamic protocols...........................................................................................................................................25 Protocol documentation ...................................................................................................................................25 Protocol relationships...........................................................................................................................................25 Protocol properties...............................................................................................................................................25 Implementing protocols .......................................................................................................................................26 Categories ...............................................................................................................................................................27 Defining a new category ......................................................................................................................................27 Finding defined categories...................................................................................................................................27 Creating a new category in runtime.....................................................................................................................28 Abolishing an existing category...........................................................................................................................28 Category directives ..............................................................................................................................................28 Category initialization......................................................................................................................................29 Dynamic categories..........................................................................................................................................29 Category dependencies ....................................................................................................................................29 Category documentation ..................................................................................................................................29 Category relationships .........................................................................................................................................30 Category properties..............................................................................................................................................30 Importing categories ............................................................................................................................................30