# HG changeset patch # User William Morgan # Date 1406341147 25200 # Node ID 1c6d4f2642d0c66ca6f82d14470f5d57a09c8b64 # Parent 2a74559e07f52e5062a4b1d8896e65c40ee85390 Fist progress toward a simple recursive dot scanner bot diff -r 2a74559e07f5 -r 1c6d4f2642d0 code/dotScanner.lm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code/dotScanner.lm Fri Jul 25 19:19:07 2014 -0700 @@ -0,0 +1,48 @@ +#{ + /* + ListGet <- :cell idx { + if: idx = 0 {cell value} else: { + ListGet: (cell tail) (idx - 1) + } + } + TupGet <- :cell depth size { + if: idx = 0 {cell value} else: { + if: size = 1 {cell tail} else: { // warning, out-of-bounds idx will return a value! + TupGet: (cell tail) (idx - 1) (size - 1) + }} + } + + // rowmajor lists + GridGet <- :x y w h{ + ListGet + ... + } + */ + //scanFor <- :target depth visited{ + //} + counterLoad <- 4 + step <- :myState world { + print: (world value) + //myPos <- + path <- [3 1 3 1] //scanFor: 2 3 [myPos] + move <- myState value + counter <- (myState tail) - 1 + if: counter = 0 { + move <- move + 1 + counter <- counterLoad + if: move = 4 { + move <- 0 + } else: {} + } else: {} + #[#[move counter] ((path tail) value)] + } + + main <- :initWorld mystery { + #[#[0 counterLoad] step] + } +} + +//does not work: +//someListOrTup get: 0 +//lambdaman program (step function) faulted TagMismatch +