[racket] Client-side WeScheme: testers wanted!

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sat Dec 13 17:20:46 EST 2014

Sorry I wanted to test this right away but time melts away. I wrote one program, and it works as expected. Loved the error messages, as always. Hated the lack of familiar editing action, also as always :-) 

;; physical constants 
(define width 200)
(define height 50)

;; graphical constants 
(define wheel (circle 3 'solid 'black))
(define buggy 
   (rectangle 20 5 'solid 'red)
   (beside wheel (rectangle 6 1 'solid 'white) wheel)))

;; Nat -> Nat 
;; run a horse buggy from left to right, bring it back from left when it exits on right 
(define (main t)
  (big-bang t
            [on-tick move-buggy]
            [to-draw render-buggy]))

;; Nat -> Nat 
;; move buggy by 1 pt/time slot 
(define (move-buggy x)
  (modulo (add1 x) 200))

;; Nat -> Image 
;; render buggy at current position 
(define (render-buggy x)
  (place-image buggy x (- 50 (image-height buggy)) (empty-scene 200 50)))

;; --- 

I noticed that the language includes lambda. I am surprised. Why don't you opt for BSL? 

It would be great if you could automate some of aspects of testing. Should I dig out a good ISL+ program? 

-- Matthias

On Nov 23, 2014, at 8:56 AM, Emmanuel Schanzer wrote:

> Hi all - I’m looking for a few testers to bang on a project I’ve been working on. It's a re-architected version of WeScheme, in which the Racket->Bytecode compilation is done entirely on the client (once the editor loads, you can switch off the wifi and hack away!). 
> The local compiler has actually been running inside WeScheme.org for several months now, silently comparing bytecodes against those generated by the server and logging any discrepancies or crashes to a spreadsheet  I’ve reached a point where the number of _known_ bugs is down to zero, but unfortunately...
> The vast majority of programs compiled on WeScheme are pretty simple, which means insufficient test coverage for things like letrec, case, and local.That’s where you come in!
> 1) Open www.WeScheme.org/openEditor in one tab (“control”)
> 2) Open http://local.wescheme.appspot.com/openEditor in another tab (“experiment”)
> 3) Run your program in the “control” tab, to make sure it’s something that the server compiler handles properly. (Note: WeScheme only handles a subset of ASL, so if a program doesn’t run here then you can be certain it is not supported by the local compiler either).
> 4) Run your program in the “experiment” tab. If you see unexpected behavior, differing output, locusts, drought, famine, etc, send me an email with the program and the browser/OS that you’re using.
> Any crashes or exceptions raised by the local compiler are automatically logged to a spreadsheet, but feel free to email me about those too, if you like. 
> Thanks!
> Emmanuel Schanzer
> (Major props to Danny for his original compiler, which has been an absolute workhorse for us these past five years. Thanks also to Dan King, who has contributed to both the number library and the reading/compilation of quoted expressions.)
> -----------------------------
> Bootstrap Program Director
> 617-792-2438
> schanzer at bootstrapworld.org
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20141213/8e8f655a/attachment.html>

Posted on the users mailing list.