Logtalk Reference Manual

contents

# Reference Manual

## Grammar

### Compilation units

### Object definition

### Category definition

### Protocol definition

### Entity relations

- Implemented protocols
- Extended protocols
- Imported categories
- Extended objects
- Instantiated objects
- Specialized objects
- Entity scope

### Entity identifiers

- Object identifiers
- Category identifiers
- Protocol identifiers

### Directives

- Object directives
- Category directives
- Protocol directives
- Predicate directives

### Clauses

### Entity properties

### Predicate properties

## Directives

### Entity directives

- `calls/1`
- `category/1-2`
- `dynamic/0`
- `end_category/0`
- `end_object/0`
- `end_protocol/0`
- `info/1`
- `initialization/1`
- `object/1-5`
- `protocol/1-2`
- `uses/1`

### Predicate directives

- `discontiguous/1`
- `dynamic/1`
- `info/2`
- `metapredicate/1`
- `mode/2`
- `op/3`
- `private/1`
- `protected/1`
- `public/1`

## Built-in predicates

### Enumerating objects, categories and protocols

- `current_category/1`
- `current_object/1`
- `current_protocol/1`

### Enumerating objects, categories and protocols properties

- `category_property/2`
- `object_property/2`
- `protocol_property/2`

### Creating new objects, categories and protocols

- `create_category/4`
- `create_object/4`
- `create_protocol/3`

### Abolishing objects, categories and protocols

- `abolish_category/1`
- `abolish_object/1`
- `abolish_protocol/1`

### Objects, categories and protocols relations

- `extends_object/2-3`
- `extends_protocol/2-3`
- `implements_protocol/2-3`
- `imports_category/2-3`
- `instantiates_class/2-3`
- `specializes_class/2-3`

### Event handling

- `abolish_events/5`
- `current_event/5`
- `define_events/5`

### Compiling and loading objects, categories and protocols

- `logtalk_compile/1`
- `logtalk_compile/2`
- `logtalk_load/1`
- `logtalk_load/2`

### Flags

- `current_logtalk_flag/2`
- `set_logtalk_flag/2`

### Others

- `forall/2`
- `retractall/1`

## Built-in methods

### Local methods

- `parameter/2`
- `self/1`
- `sender/1`
- `this/1`

### Reflection methods

- `current_predicate/1`
- `predicate_property/2`

### Database methods

- `abolish/1`
- `asserta/1`
- `assertz/1`
- `clause/2`
- `retract/1`
- `retractall/1`

### All solutions methods

- `bagof/3`
- `findall/3`
- `forall/2`
- `setof/3`

### Event handler methods

- `before/3`
- `after/3`

### DCG rules parsing methods

- `phrase/2`
- `phrase/3`

## Control constructs

### Message sending

- `::/2`
- `::/1`
- `^^/1`

### Calling external code

- `{}/1`

glossary
Copyright © Paulo Moura — Logtalk.org