Add block pushing and wireworld simulation.

This commit is contained in:
David Thompson 2024-05-18 14:04:35 -04:00
parent b9f9e81381
commit a34a7e9b7a
12 changed files with 379 additions and 39 deletions

View file

@ -102,24 +102,22 @@
near-resolved-promise-value
;; test-core.scm needs these; they are not otherwise exported
*unspecified*
transactormap-set!
transactormap-ref
mactor:local-link?)
#:pure
#:use-module ((hoot errors) #:select (raise-exception))
#:use-module (hoot bytevectors)
#:use-module ((hoot error-handling) #:select (format-exception))
#:use-module (hoot exceptions)
#:use-module ((hoot exceptions) #:select (make-exception-with-irritants))
#:use-module (hoot hashtables)
#:use-module (hoot match)
#:use-module ((hoot syntax) #:select (define*))
#:use-module (ice-9 control)
#:use-module (ice-9 vlist)
#:use-module ((hoot ports) #:select (flush-output-port))
#:use-module ((ice-9 control) #:select (call/ec))
#:use-module (ice-9 match)
#:use-module (ice-9 q)
#:use-module (ice-9 vlist)
#:use-module (goblins core-types)
#:use-module (goblins ghash)
#:use-module (scheme base)
#:use-module (scheme write))
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-11))
;;; Utilities (which should be moved to their own modules)
@ -128,8 +126,6 @@
;;; hoot hacks
(define *unspecified* (if #f #f))
;;; Here's basically your pre-goblins area.
;; mimic Racket's seteq
@ -2110,7 +2106,8 @@ Type: Actormap (-> Any) (Optioan (#:reckless? Boolean)) -> Any"
(display msg (current-error-port)) (newline (current-error-port))
(display ";; exception: " (current-error-port))
(format-exception err (current-error-port))
(newline (current-error-port)) (flush-output-port (current-error-port)))
(newline (current-error-port))
(flush-output-port (current-error-port)))
(define (make-no-op msg)
(lambda _ *unspecified*))