Are you serious?

Lynn H. Maxson
Tue, 11 Jul 2000 15:21:45 -0700 (PDT)

An interesting response to a reasonable(?) 
question.  Given the respect afforded to 
cybernetics in Tunes references I thought it 
reasonable to ask what limits, if any, to impose on 
considering the "reflection" in reflective 
programming.  You see software as we know it has a 
purpose assigned by the "deus ex machina", namely 
us.  A reflective system can restrict itself to 
reflection on its "assigned" purpose or in the 
broader (cybernetic) sense reflect on the purpose 
itself.  If it can, it can alter its purpose.

Having been charged with not understanding some of 
the nuances of the Tunes HLL requirements, I 
thought I would ask a question which would answer 
what "externally imposed" limits on reflection were 
in effect.  You must understand that you and I can 
reflect on "purpose", altering our behavior as we 
alter our perceived purpose.  It seemed reasonable 
to me, given the cybernetic "roots", to ask if it 
applied here.

Obviously from the response I received from water 
it doesn't.<g>  Of course, I was serious.  I am 
more than willing to step out of my straitjacket 
thinking to consider a broader reflective scope.  
It would be as challenging to us as it was to the 
cyberneticians.  Even D. Ross Ashby with his 
"homeostat" side-stepped the issue in his efforts 
on goal-seeking and ultra-stabile systems.  He 
assumed a goal, a basic one of survival (continue 
processing), in his thinking.

I would suggest that however clear Fare's some 
twenty plus requirements are to him, that like this 
instance of reflection, they may or may not have 
the same clarity to the rest of us.  If they do 
not, if do not lead us from the same set of 
assumptions, then they lead differences of 
opinions.  This puts us off track temporary (at 
best) until we have backed into and resolved the 
differences in our assumptions.

I find in client situations the need to provide 
them with operational definitions of terms with 
which they need to understand in order to do what 
they should be able to do: operate in a 
self-sufficient (and understanding) manner in their 
decision making.  Thus I thought that we might 
undertake what water refers to as a daunting and 
intellectually difficult task: the operational 
definition of the Tunes HLL requirements.  Water 
has no time for it, as he is otherwise busy with a 
backlog of his own.  The question really gets down 
to if this is of interest to anyone else and if so, 
would they like to participate in the effort?

Now understand the purpose is to have an 
operational metric with which to evaluate proposed 
Tunes HLL candidates.  That evaluation would 
provide "quantitative" results, not "qualitative".  
Computer Science (CS) itself has thus far steered 
clear of a quantitative linguistic metric.  Given 
the "pet language" usage engaged in by most 
"computer scientists", such a metric might prove 
"ego damaging".  It might require "reflection" on 
the part of computer scientists.  It's acceptable 
to ask it of a programming language, but apparently 
not of those who create or use them.<g>

I think it also important to know if the Tunes HLL 
"supports" or "allows" minimalist writing or 
"insists" on it.  In the former the writer has a 
choice of style.  In the latter he doesn't.  Do you 
want a HLL that supports the expressive style of 
the writer or one that imposes a style?

Normally minimalist writing deals with variables, 
whether declared explicitly, i.e. separately from 
use, or implicitly through context or use only.  
Explicit declares define "declarative" languages.  
Implicit declares define "non-declarative" 
languages.  Any computer language must support one 
or the other (at least one of the two choices).  
Does the Tunes HLL allow the writer the choice or 
not?  It's very simple to define a metric here: it 
is either 1 (implicit or explicit only) or 2 

I would imagine that in a similar fashion we could 
devise a metric for each requirement in turn in 
terms of choices allowed or not allowed, what is 
included and what is excluded.  In this manner we 
could quickly determine what the authors "enable" 
in the user and what they "dictate".  Obviously we 
could arrive at an aggregate "freedom" index in 
terms of the choices available to the user.

So do you feel like being daunted and 
intellectually challenged?  Or must I struggle for 
understanding alone?<g>