I was thinking about this last night, and how the spreadsheet is a really good example of this done correctly, and what other scenarios you could make a similar program for.
For example, doing text manipulation isn’t easy on a spreadsheet — say someone emails you a massive, comma-separated list of email addresses. It would be sweet to be able to open that in a “text programming” environment where you do similar operations on text that you would do on columns and rows of numbers.
I keep, in a text file, a running list, day-by-day, of how I spend my time with Bloc. It would be sweet to be able to highlight the whole thing, and somehow tell it that the bold text indicates days, and that days are separated by blank lines. Then, instead of just searching “tex”, the program could be smarter and realize that these are actually dates, and allow them to be overlaid on a calendar or something.