Code: Select all
(context 'board)
(define (board:board key value)
(if value
(context 'board key value)
(context 'board key)))
(define (init-board
(board "a1" (list "r" "w" "w"))
(board "b1" (list "n" "w" "b"))
(board "c1" (list "b" "w" "w"))
(board "d1" (list "q" "w" "b"))
(board "e1" (list "k" "w" "w"))
(board "f1" (list "b" "w" "b"))
(board "g1" (list "n" "w" "w"))
(board "h1" (list "r" "w" "b"))))
(context MAIN)
Code: Select all
> board
(lambda (key value)
(if value
(context 'board:board key value)
(context 'board:board key)))
(lambda ((board:board "a1" (list "r" "w" "w")) (board:board "b1" (list "n" "w" "b"))
(board:board "c1" (list "b" "w" "w"))
(board:board "d1" (list "q" "w" "b"))
(board:board "e1" (list "k" "w" "w"))
(board:board "f1" (list "b" "w" "b"))
(board:board "g1" (list "n" "w" "w"))
(board:board "h1" (list "r" "w" "b"))))
MAIN
> (board "a1")
nil
>