Hinrik Örn Sigurðsson > POE-Component-Hailo-0.10 > POE::Component::Hailo

Download:
POE-Component-Hailo-0.10.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.10   Source  

NAME ^

POE::Component::Hailo - A non-blocking wrapper around Hailo

SYNOPSIS ^

 use strict;
 use warnings;
 use POE qw(Component::Hailo);

 POE::Session->create(
     package_states => [
         (__PACKAGE__) => [ qw(_start hailo_learned hailo_replied) ],
     ],
 );

 POE::Kernel->run;

 sub _start {
     POE::Component::Hailo->spawn(
         alias      => 'hailo',
         Hailo_args => {
             storage_class  => 'SQLite',
             brain_resource => 'hailo.sqlite',
         },
     );

     POE::Kernel->post(hailo => learn =>
         ['This is a sentence'],
     );
 }

 sub hailo_learned {
     POE::Kernel->post(hailo => reply => ['This']);
 }

 sub hailo_replied {
     my $reply = $_[ARG0]->[0];
     die "Didn't get a reply" if !defined $reply;
     print "Got reply: $reply\n";
     POE::Kernel->post(hailo => 'shutdown');
 }

DESCRIPTION ^

POE::Component::Hailo is a POE component that provides a non-blocking wrapper around Hailo. It accepts the events listed under "INPUT" and emits the events listed under "OUTPUT".

METHODS ^

spawn

This is the constructor. It takes the following arguments:

'alias', an optional alias for the component's session.

'Hailo_args', a hash reference of arguments to pass to Hailo's constructor.

'options', a hash reference of options to pass to POE::Session's constructor.

session_id

Takes no arguments. Returns the POE Session ID of the component.

INPUT ^

This component reacts to the following POE events:

learn

train

reply

learn_reply

stats

save

All these events take two arguments. The first is an array reference of arguments which will be passed to the Hailo method of the same name. The second (optional) is a hash reference. You'll get this hash reference back with the corresponding event listed under "OUTPUT".

shutdown

Takes no arguments. Terminates the component.

OUTPUT ^

The component will post the following event to your session:

hailo_learned

hailo_trained

hailo_replied

hailo_learn_replied

hailo_stats

hailo_saved

ARG0 is an array reference of arguments returned by the underlying Hailo method. ARG1 is the context hashref you provided (if any).

AUTHOR ^

Hinrik Örn Sigurðsson, hinrik.sig@gmail.com

LICENSE AND COPYRIGHT ^

Copyright 2010 Hinrik Örn Sigurðsson

This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: