[Haskell-cafe] Message
Claus Reinke
claus.reinke at talk21.com
Sat Oct 22 19:06:40 CEST 2011
> The world needs programmers to accept and take seriously Greg
> Wilson's extensible programming, and stop laughing it off as "lolwut
> wysiwyg msword for programming", and start implementing it.
> http://third-bit.com/blog/archives/4302.html
Who is "the world"? For starters, I don't think it is Greg Wilson's
idea, and if you look for alternate sources, often under other titles,
you'll find parts of it implemented, with varying degrees of success
and often little acceptance. The idea is much older than one might
think - conferences on extensible languages were held around 1970.
Early implementation approximations didn't have the disposable
computing power of today's PCs, nor did early implementers find
an audience ready for their ideas (to feed their students or
themselves, some of those who were such ahead of the curve
had to switch to working on more conventional, funded, topics).
Useful search keys:
- extensible languages (as in AI, the meaning of "extensible" tends
to be redefined whenever a problem gets solved, so many features
that used to mark an extensible language in the past have now
become standard)
- structure editors (in that they were forerunners of projectional
IDEs, and exhibited some of their advantages and disadvantages;
there have been many efforts to generate structure editors from
language descriptions)
- projectional language workbenches (instead of parsing source
to AST, the IDE/workbench operates on an AST-like abstract
model, and source code views are just projections of that;
makes it easier to embed sublanguages);
Smalltalkers will probably claim their image-based IDEs have
been doing that all along.
- hyper-programming (where persistent runtime data can be
embedded in code via linking, similar to hypertext, with
generic editors instead of generic Read/Show)
- Banana Algebra: Syntactic Language Extension via an Algebra
of Languages and Transformations (one example of research
on language composition)
IDE generators, IDE tooling for domain-specific languages,
language-oriented programming, language workbenches, ...
they all contribute to the now broader interest in the topic.
In the context of Haskell, there once was Keith Hanna's
document-centered programming:
http://www.cs.kent.ac.uk/projects/vital/
http://www.cs.kent.ac.uk/projects/pivotal/
Perhaps Keith's projects can serve as an inspiration to just
start hacking?-) The subject is an instance of these quotes:
"The future is already here - it's just not very evenly distributed."
William Gibson
"The best way to predict the future is to invent it."
Alan Kay
Claus
http://clausreinke.github.com/
More information about the Haskell-Cafe
mailing list