[Grace-core] On Gradual Typing

Andrew P Black black at cs.pdx.edu
Wed Jul 31 12:09:16 PDT 2013


On 25 Jul 2013, at 15:31, Kim Bruce wrote:

> If inside the body of an object/class definition, you write self.m and there is no m in the definition, then I would like the programmer to be warned about this. 

This is similar to what the Trellis "grass catcher" did — accumulated warnings.   The "green browser" * that Nathaniel developed for Traits took this idea further: it produced an ambient display, in the system browser, of all messages sent to self fro which there wee not yet any methods.   This was really useful, as it told the programmer what remained to be worked on.  Eventually, before the code was committed, every one of the required methods that remained needed to be turned into an indication that the method was intentionally missing (abstract, aka subclassResponsibility).

However, during development, having the list of required methods visible and automatically updated served as a "to do" list for the programmer.   Vitally important, however, was that such a list did not in any way stop the programmer from running tests on the methods that had already been written.  Of course, if a test provoked execution of a missing method, the test emitted an appropriate Error.

	Andrew
 
[*]  @article{SchaRli:2004:BIP:2295362.2295408,
 author = {Sch\"{a}rli, Nathanael and Black, Andrew P.},
 title = {A browser for incremental programming},
 journal = {Comput. Lang. Syst. Struct.},
 issue_date = {April, 2004},
 volume = {30},
 number = {1-2},
 month = apr,
 year = {2004},
 issn = {1477-8424},
 pages = {79--95},
 numpages = {17},
 url = {http://dx.doi.org/10.1016/j.cl.2003.09.004},
 doi = {10.1016/j.cl.2003.09.004},
 acmid = {2295408},
 publisher = {Elsevier Science Publishers B. V.},
 address = {Amsterdam, The Netherlands, The Netherlands},
 keywords = {Incremental programming, Intentional programming, Method reachability, Requires set, Smalltalk browser},
} 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailhost.cecs.pdx.edu/pipermail/grace-core/attachments/20130731/6f4091bc/attachment.html>


More information about the Grace-core mailing list