diff --git a/Makefile b/Makefile index b300ead..cd781ba 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,11 @@ test-conform: raco make -v --disable-inline tests/test-conform.rkt racket tests/test-conform.rkt +test-more: + raco make -v --disable-inline tests/run-more-tests.rkt + racket tests/run-more-tests.rkt + + diff --git a/examples/pacman.rkt b/examples/pacman.rkt index 19be1f8..b321aa0 100644 --- a/examples/pacman.rkt +++ b/examples/pacman.rkt @@ -359,7 +359,7 @@ (local [(define score-text (text (string-append "Score: " (number->string score)) SCORE-TEXT-SIZE "black"))] (place-image score-text - (- (/ BOARD-WIDTH 2) (/ (image-width score-text) 2)) + (/ BOARD-WIDTH 2) BOARD-HEIGHT img))) diff --git a/info.rkt b/info.rkt index b8eec4e..d9fedbf 100644 --- a/info.rkt +++ b/info.rkt @@ -3,7 +3,7 @@ (define name "Whalesong") (define blurb '("A Racket to JavaScript compiler")) (define release-notes '((p "A not-even-alpha release; please don't use this unless you expect sharp edges..."))) -(define version "0.01") +(define version "0.02") (define categories '(devtools)) (define repositories '("4.x")) (define required-core-version "5.1.1") diff --git a/js-assembler/runtime-src/baselib-ports.js b/js-assembler/runtime-src/baselib-ports.js index cbf98f4..f590cb2 100644 --- a/js-assembler/runtime-src/baselib-ports.js +++ b/js-assembler/runtime-src/baselib-ports.js @@ -16,7 +16,7 @@ StandardOutputPort.prototype = baselib.heir(OutputPort.prototype); StandardOutputPort.prototype.writeDomNode = function(MACHINE, domNode) { MACHINE.params['currentDisplayer'](MACHINE, domNode); - jQuery(domNode).trigger({type : 'afterAttach'}); + jQuery('*', domNode).trigger({type : 'afterAttach'}); }; var StandardErrorPort = function() { @@ -25,7 +25,7 @@ StandardErrorPort.prototype = baselib.heir(OutputPort.prototype); StandardErrorPort.prototype.writeDomNode = function(MACHINE, domNode) { MACHINE.params['currentErrorDisplayer'](MACHINE, domNode); - jQuery(domNode).trigger({type : 'afterAttach'}); + jQuery('*', domNode).trigger({type : 'afterAttach'}); }; diff --git a/scribblings/manual.scrbl b/scribblings/manual.scrbl index 28ffc5d..067c9ed 100644 --- a/scribblings/manual.scrbl +++ b/scribblings/manual.scrbl @@ -402,6 +402,7 @@ language. @defform[(current-output-port ...)]{} @defform[(current-print ...)]{} @defform[(write ...)]{} +@defform[(write-byte ...)]{} @defform[(display ...)]{} @defform[(newline ...)]{} @defform[(format ...)]{} @@ -458,14 +459,28 @@ language. @defform[(angle ...)]{} @defform[(magnitude ...)]{} @defform[(conjugate ...)]{} -@defform[(number->string ...)]{} @defform[(string->number ...)]{} -@defform[(pair? ...)]{} +@defform[(number->string ...)]{} +@defform[(random ...)]{} @defform[(exact? ...)]{} +@defform[(integer? ...)]{} +@defform[(zero? ...)]{} + +@subsection{String operations} +@defform[(string=? ...)]{} +@defform[(string->symbol ...)]{} +@defform[(string-length ...)] {} +@defform[(string-append ...)] {} + + +@subsection{Symbol operations} +@defform[(symbol? ...)]{} +@defform[(symbol->string? ...)]{} @subsection{List operations} +@defform[(pair? ...)]{} @defform[(cons ...)]{} @defform[(car ...)]{} @defform[(cdr ...)]{} @@ -474,12 +489,16 @@ language. @defform[(append ...)]{} @defform[(reverse ...)]{} @defform[(map ...)]{} +@defform[(for-each ...)]{} @defform[(member ...)]{} +@defform[(list-ref ...)]{} +@defform[(memq ...)]{} +@defform[(assq ...)]{} @subsection{Vector operations} - +@defform[(vector? ...)]{} @defform[(make-vector ...)]{} @defform[(vector ...)]{} @defform[(vector-length ...)]{} diff --git a/tests/more-tests/hello-bf.expected b/tests/more-tests/hello-bf.expected new file mode 100644 index 0000000..980a0d5 --- /dev/null +++ b/tests/more-tests/hello-bf.expected @@ -0,0 +1 @@ +Hello World! diff --git a/tests/run-more-tests.rkt b/tests/run-more-tests.rkt index 211ca6d..91ea765 100644 --- a/tests/run-more-tests.rkt +++ b/tests/run-more-tests.rkt @@ -16,3 +16,4 @@ (test "more-tests/images.rkt") (test "more-tests/lists.rkt") (test "more-tests/earley.rkt") +(test "more-tests/hello-bf.rkt") \ No newline at end of file diff --git a/world/kernel.js b/world/kernel.js index a9421ed..18683af 100644 --- a/world/kernel.js +++ b/world/kernel.js @@ -27,8 +27,9 @@ var bigBang = function(MACHINE, initW, handlers) { var oldArgcount = MACHINE.argcount; - var toplevelNode = $('').get(0); - MACHINE.params.currentOutputPort.writeDomNode(MACHINE, toplevelNode); + var outerToplevelNode = $('').get(0); + MACHINE.params.currentOutputPort.writeDomNode(MACHINE, outerToplevelNode); + var toplevelNode = $('').appendTo(outerToplevelNode).get(0); var configs = []; var isOutputConfigSeen = false;