racket/collects/profjWizard/todo
2005-05-27 18:56:37 +00:00

52 lines
1.5 KiB
Plaintext

#|
The Java Wizard helps programmers create
* classes
* datatypes via classes.
The class wizard requests class name, superclass, and field specifications.
From these, it generates a class, its constructor, and optionally a partial
template for methods and a toString method.
The union wizard requests a union name and specifications for the variants.
From these, it generates an abstract class (for the union name) and one
variant class that extends the abstract class per variant specification.
Again, it optionally adds templates and toString methods.
The wizards are added to the Special menu and insert text at the current
point.
At the moment they cannot read back code and help with natural program
edits and transformations.
The two major files are:
wizard.ss, which is the view and provides the user interaction
class.scm, which is the model and provides the functions for turning
a spec into a string that represents a class or a union.
At the moment, class.scm does not use the Java implementation to perform
basic checks on the information. It just leaves this to the programmer.
So, for example, if a programmer says a field has type "moo" and "moo"
doesn't exist as a class, then the wizard inserts a buggy program.
|#
bugs:
drawing:
* finish drawing unions, recursion
model
* figure out how to add toString and template flags to the macro version
view
both
* allow common fields in abstract classes
* parameterize over language level?
* privacy modifiers