diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2014-12-30 22:36:36 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2014-12-30 23:15:37 -0800 |
commit | 3af0919dc6af96454bbab5b2f070fe33e57bc9a8 (patch) | |
tree | edf0bbe65ab2fd2c920b745ec1961f643e7baa05 /chessboard.mu | |
parent | ddc3dd1408945ba658e7ce1fc7c7f8a8963a416c (diff) | |
download | mu-3af0919dc6af96454bbab5b2f070fe33e57bc9a8.tar.gz |
471 - experiment: chessboard app
No tests. Let's have some fun. As a first step, a 'list-length' function. Iterative version is 25% faster than recursive (60 vs 45 seconds).
Diffstat (limited to 'chessboard.mu')
-rw-r--r-- | chessboard.mu | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/chessboard.mu b/chessboard.mu new file mode 100644 index 00000000..bba3a3ad --- /dev/null +++ b/chessboard.mu @@ -0,0 +1,25 @@ +(function read-board [ + (default-scope:scope-address <- new scope:literal 30:literal) + (initial-position:list-address <- init-list R:literal N:literal B:literal Q:literal K:literal B:literal N:literal R:literal + P:literal P:literal P:literal P:literal P:literal P:literal P:literal P:literal + _:literal _:literal _:literal _:literal _:literal _:literal _:literal _:literal + _:literal _:literal _:literal _:literal _:literal _:literal _:literal _:literal + _:literal _:literal _:literal _:literal _:literal _:literal _:literal _:literal + _:literal _:literal _:literal _:literal _:literal _:literal _:literal _:literal + p:literal p:literal p:literal p:literal p:literal p:literal p:literal p:literal + r:literal n:literal b:literal q:literal k:literal b:literal n:literal r:literal) + ; assert(length(initial-position) == 64) + (len:integer <- list-length initial-position:list-address) + (print-primitive len:integer) + (reply) +;? (b:board <- read-board initial-position:list) +;? (print-board b:board) +]) + +(function print-board [ + +]) + +(function main [ + (read-board) +]) |