NAME
Language::Homespring - Perl interpreter for "Homespring"
SYNOPSIS
use Language::Homespring;
my $hs = new Language::Homespring();
$hs->parse("bear hatchery Hello,. World ..\n powers");
# run one tick
print $hs->tick;
# run program until it ends or 1000 ticks are reached
$hs->run(1000);
DESCRIPTION
This module is an interpreter for the Homespring language. It currently only implements a small subset of the homespring language and is broken in places. The Hello World example in the "examples" folder works fine though :)
METHODS
- new()
-
Creates a new Language::Homespring object, with a blank op-tree.
- parse( $source )
-
Parses $source into an op-tree, discarding any previous op-tree.
- tick()
-
Executes a single "turn" of the interpreter, returning any output as a scalar.
- run( $limit )
-
Executes ticks until the universe is destroyed or the (optional) tick limit is reached. Output is sent to STDOUT;
NODE OPS
Supported Node Ops
powers
hydro power
power invert
marshy
shallows
rapids
bear
young bear
bird
net
current
insulated
Partially Supported Node Ops
force field
hatchery
snowmelt
universe
Unsupported Node Ops
upstream killing device
bridge
waterfall
evaporates
pump
fear
lock
inverse lock
narrows
sense
switch
upstream sense
downstream sense
range sense
range switch
young sense
young switch
young range sense
young range switch
youth fountain
time
reverse up
reverse down
force up
force down
append down
append up
clone
oblivion
spawn
split
AUTHOR
Copyright (C) 2003 Cal Henderson <cal@iamcal.com>
Homespring is Copyright (C) 2003 Jeff Binder
SEE ALSO
Language::Homespring::Visualise
http://home.fuse.net/obvious/hs.html