Cal Henderson

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

perl

Language::Homespring::Visualise

http://home.fuse.net/obvious/hs.html