Expand description
The actors module establishes a framework for defining and managing Turing
machines
§Overview
Here, we define the concept of an actor as a fundamental computational entity capable of executing actions based on a set of rules or stimuli. This abstraction allows us to define a distinct separation between the actor and the rulespace, where the actor operates independently of the specific logic that governs its behavior. By isolating the actor from the rulespace, we can create a more modular and flexible system that can adapt to different sets of rules without altering the core functionality of the actor itself.
That being said, the design of an actor
Modules§
- engine
- The
enginemodule provides core - error
- This module defines the custom error type for handling various actor-related errors.
- traits
- the traits supporting the actors within the framework
Structs§
- TMH
- The
TMHis an implementation of a Turing Machine with a “moving head”; this behavior is manifested here by using the current position of the head as its symbol, serving as a mapping to a symbol on the tape. Every step taken by the machine will update the symbol of the head, thus moving it along the tape. - Turing
Engine - The
TuringEngineimplementation is essentially a runtime for Turing machine, allowing
Enums§
- Error
- the various errors that can occur in the state module
Traits§
- Actor
- Here, an
Actordefines an entity capable of performing actions within an environment, typically in response to a set of rules or stimuli. The interface works to generalize the core components of the actual machines, isoating the essential behaviors and interactions that define an actor’s role within a system. - Engine
- An
Engineis responsible for processing input according to some set of pre-defined rules using the configured driver. - Handle
- The
Handletrait - RawActor
- The
RawActoris the basis for all compatible actors within the system. Each implementation is required to define the type of internal store it will use to manage its data. This abstraction allows for flexibility in the choice of data structures, enabling the actor to adapt to various use cases and performance requirements. - RawEngine
- The
RawEnginetrait defines the basis for compatible engines within the system.