Language::Haskell::API - Haskell interpreter API


Language-Haskell documentation Contained in the Language-Haskell distribution.

Index


Code Index:

NAME

Top

Language::Haskell::API - Haskell interpreter API

DESCRIPTION

Top

This module represents a haskell interpreter.

See http://www.cs.sfu.ca/CC/SW/Haskell/hugs/server.html for a description of the Hugs API. That document is also available as hugs98-Nov2003/docs/server.html in this module's source distribution.

CONVENIENT METHODS

Top

$hugs->eval($string)

BUILT-IN METHODS

Top

$hugs->clearError

$hugs->setHugsArgs($argc, $argv)

$hugs->getNumScripts

$hugs->reset

$hugs->setOutputEnable($bool)

$hugs->changeDir($path)

$hugs->loadProject($pathname)

$hugs->loadFile($pathname)

$hugs->loadFromBuffer($string)

$hugs->setOptions($string)

$hugs->getOptions

$hugs->compileExpr($module, $string)

$hugs->garbageCollect

$hugs->lookupName($module, $name)

$hugs->mkInt($int)

$hugs->mkAddr($pointer)

$hugs->mkString($string)

$hugs->apply

$hugs->evalInt

$hugs->evalAddr

$hugs->evalString

$hugs->doIO

$hugs->doIO_Int(\$int)

$hugs->doIO_Addr(\$pointer)

$hugs->popHVal

$hugs->pushHVal($hval)

$hugs->freeHVal($hval)

SEE ALSO

Top

Language::Haskell

AUTHORS

Top

Autrijus Tang <autrijus@autrijus.org>

COPYRIGHT

Top


Language-Haskell documentation Contained in the Language-Haskell distribution.
package Language::Haskell::API;
push @_p__HugsServerAPI::ISA, __PACKAGE__;

use strict;

# XXX - This is totally a makeshift operation.  Should use the
# overloaded "show" primitive for this.
sub eval {
    my $self = shift;
    my $hval = $self->compileExpr( Prelude => "(show) ($_[0])" );
    $self->pushHVal($hval);
    return $self->evalString;
}

1;

__END__