Info on Smalltalk DSLs or Metaprogramming...

Darius Clarke socinian at gmail.com
Wed Aug 30 19:40:44 UTC 2006


Though, sometimes part or all of a syntax of a language comes from
other software applications or hardware devices that also represent
the domain or work in the domain, which in turn, might be file bound.

It's the "make the text user readable/editable" that gives me pause.
Having had a course in Linguistics, I know that the meanings we apply
to these symbols are greatly subject to various interpretations and
misinterpretations, especially when we begin to cross cultures and
cross into non-roman native speakers... just as the same is true with
body language across cultures. Quick, what's the most user
recognizable body gesture for agile style updates? Or, letting someone
know their performance has a social bug, that that they have a bug on
them?

Your chosen language will make your users dependant on whatever device
and software generates and manipulates that text. One syntax & use of
white space might be better for manipulation by VI editors, another
for eMacs editors, and another for Slickedit or something custom
built, etc.

In reality any GUI is really a domain specific language but is almost
never treated as such. It's just not a text language; it's a gesture
language with a syntax and vocabulary of gestures and shapes.

My money would bet that the best use of time would be spent first
learning what interface tools and applications the domain user must
use, wants to use, likes to use, is open to your suggestions to
distribute and use, and then make the domain language leverage the
strengths of those tools in matching and manipulating the various
aspects and features of the domain itself. If you have the opportunity
to make or require a certain tool, then rather than find the *lowest*
common denominator for all tools, you mould the interface to the
domain. You can then customize the interface tool to match the various
types of users ...  graphical visual learners, auditory learners,
kinesthetic learners, sequential learners, vector learners, "systems
theory" learners, as well as text learners.

Regarding text, as an old, wise programmer once told me,
"Nobody reads a 1,000 page report."
Every interface and language (spoken or otherwise) is all about
collapsing/folding/labeling the data for convenient transportation,
manipulating, storage/remembering, and retrieval. Text alone just
doesn't scale.

Cheers,
Darius
[|] Powered and Empowered by Smalltalk



More information about the Squeak-dev mailing list