I’ve had the 2htdp-typed package 
<https://github.com/lexi-lambda/racket-2htdp-typed> available for a little 
while now, which is a Typed Racket wrapper for the HtDP/2e teachpacks. It was 
missing big-bang, since it is implemented as a macro, but I have now added 
support for big-bang in Typed Racket.

The syntax of big-bang is identical to its untyped equivalent except for one 
thing: it requires an annotation that specifies what the type of the WorldState 
parameter should be. The exact syntax for big-bang is provided in the 
documentation.

There are still a couple of unsupported features:

The universe/networked worlds (“The World is Not Enough”) are not supported. 
This actually shouldn’t be terribly difficult to add, I just have absolutely no 
experience working with universe programs, so I haven’t tried.

The 2htdp/planetcute collection of sprites is not yet available in Typed 
Racket. This also shouldn’t be terribly difficult to add, but my first attempt 
ran into some complexities in how the identifiers are provided that I did not 
anticipate, and I haven’t taken the time to look into it since. (See 
https://github.com/racket/htdp/issues/2 
<https://github.com/racket/htdp/issues/2> for some limited information about 
that.)

Otherwise, I think everything should work just fine. I don’t have many programs 
that use these libraries sitting around, but I’d love to know if this wrapper 
works with existing world/universe programs.

Feedback and bug reports much appreciated, pull requests welcome!

Alexis King
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to