{ @ make player at 100 100 , move player by 20 50 , @lamb pprint } @processor @ ; @ move player by $x $y { @processor @ ; @process switch to @ewe ; @ewe ( #player @ewe.peek move by $x $y 4 @lamb.invoke @ewe.done ) ; } @processor @ ; @ make player at $x $y { @processor @ ; @process switch to @ewe ; @ewe ( @lamb.new Player @lamb.is $x x @lamb.set $y y @lamb.set #player @ewe.push @ewe.done ) } @processor @ ; @ @lamb pprint { @processor @ ; @code [require "pprint" (lamb.objects)] } @processor @ewe ; @ewe $self does move by $x $y { @processor @ewe ; @ewe ( $self @ewe.dup x @lamb.get $x @ewe.add x @lamb.set @ewe.dup y @lamb.get $y @ewe.add y @lamb.set @ewe.drop ) ; } @processor @ewe ; @ewe push #player ; @ewe.stack $id { @processor @ewe ; #player $id ; } @processor @ewe ; @ewe peek #player ; #player $p { @processor @ewe ; #player $p ; @ewe ( $p ) }