Well I know some instructors who think that their beginners can handle TR and 
its errors :-) [But yes, for those, I'd use #:on-tick and #:to-draw anyways.] 


On Mar 15, 2015, at 12:27 PM, Alexis King wrote:

> Yeah, I’ve definitely noticed the amount of effort put into sending good 
> error messages from misuses of the htdp functions. I did attempt the bare 
> minimum of supplying reasonable error messages: the identifiers are the same 
> as the ones used in 2htdp/universe, so the “out of context” messages are 
> still signaled, and I’ve added some basic descriptions to the syntax-parse 
> fields to make the error messages give a little more context.
> 
> At the same time, I’ve noticed that big-bang itself has some obviously very 
> sophisticated mechanics for detecting subtle mistakes. The “this identifier 
> appears to have been used as a variable” error messages are pretty advanced, 
> though at that point I guess I’m not sure why you didn’t just detect for the 
> datums instead of identifiers.
> 
> Anyway, as for those and the stepper, the stepper obviously doesn’t work with 
> TR, anyway, and I’d imagine that people able to read Typed Racket’s error 
> messages would probably be able to handle these ones. I’m not discounting 
> your point—you’re right that this is probably less accessible for 
> students—but I guess using it would be out of their grasp, anyway, at least 
> for now.
> 
>> On Mar 15, 2015, at 09:04, Matthias Felleisen <matth...@ccs.neu.edu> wrote:
>> 
>> 
>> Thanks. That's awesome. FWIW, we have had several attempts at typing world, 
>> and I think certain instructors may wish to give this a spin. I really like 
>> it that you converted it all to syntax-parse and didn't sacrifice the 
>> faux-keyword approach. But do understand that the kind of students we 
>> imagine may have a hard time with the error messages signaled from 
>> syntax-parse. [The complications of the existing implementation are partly 
>> about sending good error messages and partly about making sure that the 
>> stepper works, which my first and second implementation of the current world 
>> package did not.] -- Matthias
>> 
>> 
>> 
>> 
>> 
>> On Mar 14, 2015, at 8:39 PM, Alexis King wrote:
>> 
>>> I’ve had the 2htdp-typed package 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 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
>> 
> 

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

Reply via email to