Mercurial > repos > icfp2014
changeset 12:1c6d4f2642d0
Fist progress toward a simple recursive dot scanner bot
author | William Morgan <billjunk@mrgn.org> |
---|---|
date | Fri, 25 Jul 2014 19:19:07 -0700 |
parents | 2a74559e07f5 |
children | 451043a65ff7 |
files | code/dotScanner.lm |
diffstat | 1 files changed, 48 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /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 +