[racket] Programmatically start a big-bang?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sun Apr 21 16:47:19 EDT 2013

On Apr 21, 2013, at 1:04 PM, Joe Gibbs Politz wrote:

>> Here is a sketch: [...]
> 
> Great, thanks!  my-bb is enough to get some simple cases working
> already, and it should work for everything I have in mind.
> 
> I didn't realize that I could use (require 2tdhp/private/world) like
> that; world% is what I thought I needed and I thought `private` meant
> I couldn't get to it so I didn't try that hard.  Should I be worried
> about things under private/ collection subdirectories having
> less-than-stable interfaces?
> 
> Thanks for suggestions, all.


1. The private world part was not intended for public consumption. 
It did change several times (e.g. to accommodate the stepper and
to improve some functionality). 

2. In your specific case, I assume that you have some L/private
implementation for the run-time implementation of your language L. 
This is where it belongs so that you can change the implementation
w/o changing the specification. 

If you'd rather program to the public interface, you may wish
to put a class layer on top of big-bang. Sam's code may do this. 

3. I would define a superclass that presets all fields with 
appropriate functions (this may take a bit of experimenting), 
and my-bb would then create and instantiate a class that 
overrides the pieces. Note that if you want to be able to 
record things, the sketch is not good enough. You will need to
look at aworld% instead of world%. 

-- Matthias


Posted on the users mailing list.