Lambda the Ultimate

inactiveTopic Domain-specific and general-purpose aspects of spreadsheet languages
started 10/7/2003; 12:17:08 PM - last post 10/8/2003; 2:10:31 PM
Ehud Lamm - Domain-specific and general-purpose aspects of spreadsheet languages  blueArrow
10/7/2003; 12:17:08 PM (reads: 9827, responses: 8)
Domain-specific and general-purpose aspects of spreadsheet languages
Alan Yoder & David Cohn (Univ. of Notre Dame), DSL '97 - First ACM SIGPLAN Workshop on Domain-Specific Languages, 1997.

Spreadsheets comprise a language metaphor which has been found very useful for manipulation and presentation of financial data. As such they may be considered a domain-specific language. The metaphor may have application in other areas, however. For example, spreadsheets simultaneously offer natural parallelism and ease of use. Adapting them to do general-purpose computing while preserving their natural parallelism and ease of use would be highly desirable, especially given the current trend toward massive parallelism. And the ease with which users are able to format their output would be a desirable addition to any general-purpose language.

One of the things I try to do with my SE students is discuss innovative or influential software systems, and try to analyze their essential features and areas of particular strength. Which is why I mentioned spreadsheets to them today. I want to talk about the flexibility spreadsheets give end users.

So just for the fun of it I went googling for spreadsheets, and came across this paper, which isn't very remarkable (I think), but may still be interesting enough for a quick read.

One of the earliest tech reports I wrote comapred SAS and spreadsheets, and discussed some of the same issues discussed in this paper. My agenda at that point was to recommend changes to our in house report generation DSL in order to, you guessed it, make it more flexible...


Posted to DSL by Ehud Lamm on 10/7/03; 12:18:49 PM

Patrick Logan - Re: Domain-specific and general-purpose aspects of spreadsheet languages  blueArrow
10/7/2003; 1:32:45 PM (reads: 603, responses: 3)
One thing that has puzzled me about spreadsheets... why are they not more easily available for use within a program? I don't mean the GUI per se, but just the programmatic use of a spreadsheet.

I know, I know, there are constraint solvers, etc. embedded or available as libraries. But why don't we use them more easily for some of the day to day stuff?

The business analysts I work with use them all the time. (Sometimes in truly frightening ways.) Imagine a large budgets and planning system encoded in $A2, $C3-31, etc. So in spite of their short comings they obviously have value.

Why isn't this easy-to-use GUI tool more readily at hand for programmers? What would you use a spreadsheet for? What would have to improve in spreadsheets to use them inside a program?

Ehud Lamm - Re: Domain-specific and general-purpose aspects of spreadsheet languages  blueArrow
10/7/2003; 2:17:36 PM (reads: 605, responses: 0)
One of the first language constructs I "invented" was depedent variables. If and x=y+2 assignment was entered, the system ensured that whenever x changed y changed (kinda like a spreadsheet recalc, wouldn't you say?) Whenever I mention this on Lambda someone is quick to mention other languages with similar features, but for some reason I can only remember my own toy language...

Ehud Lamm - Re: Domain-specific and general-purpose aspects of spreadsheet languages  blueArrow
10/7/2003; 2:23:59 PM (reads: 605, responses: 0)
The previous LtU discussion of spreadhseets may also be relevant to the issue you raise.

Florian Hars - Re: Domain-specific and general-purpose aspects of spreadsheet languages  blueArrow
10/8/2003; 12:23:09 AM (reads: 559, responses: 1)
The language you two are looking for is called "APL" (duck and run for cover...). A+ seems to be a free modern dialect useful for business analysis with this dependent variable / spreadsheet semantics. Though I must admit that I have not yet taken the time to reconfigure my keyboard so I could actually use it.

Ehud Lamm - Re: Domain-specific and general-purpose aspects of spreadsheet languages  blueArrow
10/8/2003; 4:09:45 AM (reads: 540, responses: 0)
I guess the relevant section of the reference manual is this one.

Jay Han - Re: Domain-specific and general-purpose aspects of spreadsheet languages  blueArrow
10/8/2003; 7:07:57 AM (reads: 494, responses: 0)
You may find the following paper interesting:

Hoon, W.A.C.A.J. de, L.M.W.J. Rutten and M.C.J.D. van Eekelen (1995), Implementing a Functional Spreadsheet in CLEAN, In Journal of Functional Programming 5:3, pp. 383-414.

Describes an interactive spreadsheet entirely written in CLEAN. As spreadsheet language again a functional language is used. The interpreter allows symbolic reduction.

Link: Implementing  a  Functional Spreadsheet in CLEAN

xeo_at_thermopylae - Re: Domain-specific and general-purpose aspects of spreadshe  blueArrow
10/8/2003; 8:10:16 AM (reads: 507, responses: 0)
Kenny Tilton's Cells (written in Common Lisp) is available at http://www.tilton-technology.com/cells_top.html

He is scheduled to give a talk on Cells at the International Lisp Conference 2003 http://www.international-lisp-conference.org/

Dominic Fox - Re: Domain-specific and general-purpose aspects of spreadsheet languages  blueArrow
10/8/2003; 2:10:31 PM (reads: 463, responses: 0)

Then there's Excel Orthogonal, a Befunge-ish PL implemented (by my friend Francis) in Excel.