From 19a8bc68404bb318e7e51dee0bd93a40ae91241e Mon Sep 17 00:00:00 2001 From: Danny Yoo Date: Sun, 4 Mar 2012 20:30:45 -0500 Subject: [PATCH] continuing to quickly prototype this. --- js/world/main.rkt | 2 +- js/world/racket-impl.rkt | 5 +++++ js/world/test.rkt | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 js/world/test.rkt diff --git a/js/world/main.rkt b/js/world/main.rkt index 7870a7b..def389d 100644 --- a/js/world/main.rkt +++ b/js/world/main.rkt @@ -3,4 +3,4 @@ (declare-implementation #:racket "racket-impl.rkt" #:javascript ("js-impl.js") - #:provided-values ()) \ No newline at end of file + #:provided-values (make-js-world-event)) \ No newline at end of file diff --git a/js/world/racket-impl.rkt b/js/world/racket-impl.rkt index d553670..253e4ed 100644 --- a/js/world/racket-impl.rkt +++ b/js/world/racket-impl.rkt @@ -1 +1,6 @@ #lang s-exp "../../lang/base.rkt" + +(provide make-js-world-event) + +(define (make-js-world-event) + (error 'make-js-world-event "Must be run under a JavaScript context.")) diff --git a/js/world/test.rkt b/js/world/test.rkt new file mode 100644 index 0000000..452267a --- /dev/null +++ b/js/world/test.rkt @@ -0,0 +1,16 @@ +#lang planet dyoo/whalesong +(require (planet dyoo/whalesong/js/world)) + +(define-values (on-event send-event) + (make-js-world-event)) + +((js-function (js-eval "function(x) { window.sendTheTick = x; }")) + send-event) + + +(define (handle-event w v) + (add1 w)) + +(big-bang 0 + (on-event handle-event) + (stop-when (lambda (w) (> w 5))))