NAME

Acme::HaltingProblem - A program to decide whether a given program halts

SYNOPSIS

        use Acme::HaltingProblem;
        my $problem = new Acme::HaltingProblem(
                Machine => sub { ... },
                Input   => [ ... ],
                        );
        my $solution = $problem->solve();

DESCRIPTION

The Halting Problem is one of the hardest problems in computing. The problem, approximately stated, is thus:

        Given an arbitrary Turing Machine T and input for that turing
        machine D, decide whether the computation T(D) will terminate.
new Acme::HaltingProblem(...)

Construct a new instance of the halting problem where the Machine is given as an arbitrary subref, and the Input is a reference to a list of arguments.

$problem->analyse()

Analyse the instance of the halting problem. If it halts, the method will return 1. Otherwise, it will not return 1.

BUGS

This code does not correctly deal with the case where the machine does not halt.

TODO

It would be nice if this module accepted instances of Acme::Turing.

SUPPORT

Mail the author at <cpan@anarres.org>

AUTHOR

        Shevek
        CPAN ID: SHEVEK
        cpan@anarres.org
        http://www.anarres.org/projects/

COPYRIGHT

Copyright (c) 2002 Shevek. All rights reserved.

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

1; __END__;

1 POD Error

The following errors were encountered while parsing the POD:

Around line 56:

You forgot a '=back' before '=head1'