[plt-scheme] Log "every change in" Definitions and Interactions...

From: Geoffrey S. Knauth (geoff at knauth.org)
Date: Sun Jan 25 02:15:54 EST 2009

On Jan 23, 2009, at 17:28, Robby Findler wrote:
> The logging feature in DrScheme automatically records the  
> definitions and interactions windows each time the user hits the  
> "Run" button.
> Still, the way to record keystrokes (or perhaps better: editor  
> actions), would be to use the tools interface to connect to drscheme  
> and monitor it.

John McCarthy has an idea called Elephant [1], for programs "that can  
refer directly to the past."  ("An Elephant never forgets.")

If one wants to track whether the Design Recipe is being followed,  
there could be a new tool or mode in DrScheme that would add in  
templates for things one is supposed to fill in.  DrScheme would then  
know and could remember the order in which Design Recipe elements were  

DivaScheme [2] already does this a little:  start typing an S- 
expression, and DivaScheme lays out a mini-template to fill in.

On the plus side, having Design Recipe templates helpfully inserted in  
response to user commands or DrScheme HAL-like insight [3] might  
encourage people to follow the Design Recipe more often.  On the down  
side, if someone didn't want to use inserted templates every time, the  
measurement of "effectiveness of proper usage" of the Design Recipe  
would still have to be done by looking at code changes without  
semantic markers.  Also, we don't want HAL to control us.

A human expert watching a person use the Design Recipe can tell  
immediately when someone skipped a step either deliberately (for a  
good or not-so-good reason) or out of ignorance.  The human expert  
knows what the next step is supposed to look like.  Maybe pattern  
matching could be used to recognize recipe elements that are in  
various stages of completion.  There could be a library of patterns  
for common errors in the application of the recipe.


[1] http://www-formal.stanford.edu/jmc/elephant.html
[2] http://www.cs.brown.edu/research/plt/software/divascheme/
[3] http://en.wikipedia.org/wiki/HAL_9000#The_future_of_computing

Posted on the users mailing list.