{ @ make player at 100 100 , move player by 20 50 , @lamb pprint } @ move player by $x $y { @ewe ( #player @ewe.peek move by $x $y 4 @lamb.invoke ) ; } @ewe $self does move by $x $y { @ewe ( @ewe.block.main $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 @ewe.unblock.main ) } @ make player at $x $y { @ewe ( @ewe.block.main @lamb.new Player @lamb.is $x x @lamb.set $y y @lamb.set #player @ewe.push @ewe.unblock.main ) } @ewe push #player ; @ewe.stack $id { #player $id } @ewe peek #player ; #player $p { #player $p ; @ewe ( $p ) } @ @lamb pprint { @code [require "pprint" (lamb.objects)] }