99..1
{
auto beer = index;
workflow
{
destruct print ".\n";
print ( beer?= then beer$ else "no more" ), " bottles of beer on the wall";
construct print ( beer?=
then ",\n" + beer$ + " bottles of beer.\nTake one down, pass it around, "
else "Go to the store and buy some more" );
construct beer? then beer-- else beer : 99;
}
}
2. Version:
howMuch construct code( uint beer ) :=
print (beer?= then beer$ else "no more" ), " bottles of beer on the wall";
howMuch destruct code( uint beer ) :=
{
howMuch.construct( beer-1 );
print ".\n";
}
passIt construct code( uint beer )
{
print ( beer?=
then ",\n" + beer$ + " bottles of beer.\nTake one down, pass it around, "
else "Go to the store and buy some more, " );
}
99..1.workflow
{
howMuch( index );
passIt( index );
}