/*
Copyright (C) 2001-2003, The Perl Foundation.
$Id: pugsbool.pmc 14874 2006-10-09 22:03:46Z bernhard $

=head1 NAME

pugsbool.pmc - Pugs Bool

=head1 DESCRIPTION

C<PugsBool> extends C<Boolean> to provide a Perl 6 boolean.

=head2 Methods

=over 4

=cut

*/

#define PUGS_BOOL

#include "parrot/parrot.h"
#include "pmc_pugsbool.h"
#include "../include/pugs_common.h"

PMC *pugs_bool_true;
PMC *pugs_bool_false;

pmclass PugsBool extends PugsAny
    extends Boolean
    does boolean
    does integer
    dynpmc
    group pugs_group
    hll Perl6
    maps Boolean
{
    void class_init() {
        /* generate a bool::true and a bool::false here */
        pugs_bool_true  = pmc_new(interp, entry);
        pugs_bool_false = pmc_new(interp, entry);
        VTABLE_set_integer_native(interp, pugs_bool_true, 1);
    }
}

/*

=back

=cut

*/

/*
 * Local variables:
 *   c-file-style: "parrot"
 * End:
 * vim: expandtab shiftwidth=4:
 */
