cyclone/examples/game-of-life/life.scm
2016-04-13 21:35:09 -04:00

35 lines
765 B
Scheme

;;;
;;; Justin Ethier
;;; husk scheme
;;;
;;; The game of life example from r7rs.
;;; Main program
;;;
;;; To execute from the husk directory:
;;;
;;; > cd examples/game-of-life
;;; > huski life.scm
;;;
(import (scheme base)
(example life)
(example grid))
;; TODO:
; (only (example life) life)
; (rename (prefix (example grid) grid-)
; (grid-make make-grid)))
;; Initialize a grid with a glider.
;(define grid (make-grid 24 24))
;(grid-put! grid 1 1 #t)
;(grid-put! grid 2 2 #t)
;(grid-put! grid 3 0 #t)
;(grid-put! grid 3 1 #t)
;(grid-put! grid 3 2 #t)
(define grid (make 24 24))
(put! grid 1 1 #t)
(put! grid 2 2 #t)
(put! grid 3 0 #t)
(put! grid 3 1 #t)
(put! grid 3 2 #t)
;; Run for x iterations.
(life grid 80)