Skip to content

Commit

Permalink
Clean up Reflex.pm documentation. Update requirements with new progress.
Browse files Browse the repository at this point in the history
  • Loading branch information
rcaputo committed Apr 9, 2010
1 parent 6da75c7 commit 4adc50c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 32 deletions.
13 changes: 8 additions & 5 deletions docs/requirements.otl
Expand Up @@ -115,7 +115,7 @@
[X] 100% Moose introspection allows objects to find their contents.
[X] 100% Class Inheritance Rules
[X] 100% Class inheritance rules are delegated to Moose.
[_] 15% Messaging Requirements
[_] 19% Messaging Requirements
[_] 0% Object command interfaces must be methods.
[_] 0% Methods on the objects themselves may pass messages into themselves.
Synchronous method calls are translated into asynchronous messages.
Expand All @@ -140,7 +140,7 @@
[_] 50% Emitted messages are next handled by explicit and role-based observers.
[_] 0% Explicit observers.
[X] 100% Role-based observers.
[_] 37% All forms of message handler must be supported.
[_] 60% All forms of message handler (callback) must be supported.
[X] 100% Anonymous Coderefs
Anonymous coderefs support closures.
Anonymous coderefs and closures may be used to implement faux continuation passing style.
Expand All @@ -153,16 +153,19 @@
[_] 0% Named Subroutine References
Named message handlers are exportable as reusable interfaces.
[_] TODO - What is this?
[_] 50% Object Methods
[X] 100% Object Methods
Is this not obvious?
[X] Simple.
my $t = Reflex::Timer->new( ..., on_event => rcb_method($watcher, "method_name") );
[_] Observer.
$self->
[X] Observer (array).
my $t = Reflex::Timer->new( ..., on_event => rcb_object($watcher, \@methods) );
[X] Observer (hash).
my $t = Reflex::Timer->new( ..., on_event => rcb_object($watcher, \%methods) );
Traits not supported at this time.
[_] 0% Class Methods
Classes may be used as singletons.
[_] 0% Do we want to support this?
[X] 100% Promises or condvars.
[_] 0% Messages must be associated with their triggers.
[_] 0% One message may trigger another, inner message.
[_] 0% The inner message must be associated with the outer message.
Expand Down
38 changes: 11 additions & 27 deletions lib/Reflex.pm
Expand Up @@ -44,6 +44,9 @@ Reflex - Reactive classes for flexible programs.
=head1 SYNOPSIS
# See eg-18-synopsis-no-moose.pl for a slightly longer version that
# doesn't use Moose.
{
package App;
use Moose;
Expand All @@ -66,38 +69,19 @@ Reflex - Reactive classes for flexible programs.
=head1 DESCRIPTION
Reflex is a suite of classes to help programmers write reactive
programs. In short, Reflex aims to allow programmers to write events
based programs completely OO approach (using Moose). This makes using
event-based libraries such as POE a lot simpler and cleaner.
The project has some goals:
=over 2
=item * Be concise.
=item * Be convenient.
=item * Be portable.
=item * Be fast.
=item * Don't get in the way.
=item * Release early, and release often.
=back
Sorry for the lack of documentation. It conflicted with releasing
early. Contributions are very much welcome. Give the project a
reason to release often.
Reflex is a suite of classes to help programmers write reactive (AKA
event-driven) programs. Reflex uses Moose meta-object features
internally, but programs don't need to use Moose directly. However,
Reflex does provide some conveniences for those programs that do use
Moose.
Reflex is "reactive" in the sense that it is an implementation of the
"reactor" pattern. http://en.wikipedia.org/wiki/Reactor_pattern
=head1 GETTING HELP
See irc.perl.org #reflex for help with Reflex.
See irc.perl.org #moose for help with Moose.
See irc.perl.org #poe for help with POE and Reflex.
Expand All @@ -115,7 +99,7 @@ tutorial until Reflex is documented more.
irc.perl.org channel
L<#moose|irc://irc.perl.org/moose>
and
L<#poe|irc://irc.perl.org/moose>.
L<#poe|irc://irc.perl.org/poe>.
The former for assisting in learning their fine libraries, sometimes
against everyone's better judgement. The latter for putting up with
lengthy and sometimes irrelevant design discussion for oh so long.
Expand Down

0 comments on commit 4adc50c

Please sign in to comment.