[ANSI-Smalltalk] Code as standard - Standardizing the base-library first

Panu Logic panulogic at gmail.com
Sat Jan 26 06:17:11 GMT 2008


Here's one question about the scope of the proposed spec:

Is the spec about standardizing Smalltalk the language
or is it about standardizing  a standard library, or both?

I would rather see the scope more narrow, than wider
to begin with. A narrower scope means better chances
of project success. A narrow scope can always be later
widened, but too wide a scope might mean the project
collapses under its own weight - or becomes a committee
-style compromise in many respects.

Another reasonable characteristic of a successful standard:
it should be easy to implement. I think a good requirement
for the planned for standard - stage 1 if you will - would be
that it should be possible to implement the standard in any
existing major Smalltalk  environment, by creating
a standard-compliant base-library within each implementation,
thus allowing development of standards-compliant applications
thereafter.

Therefore I think it would be wise to attack the standardization
of (only the) base-libraries as the first step. This would leave
out things like  the syntax of name-spaces for instance.

If we are trying to specify a standard for a set of class-libraries
(only), then this should be possible to do with a set of tests,
or pre- and post-conditions for a set of methods.

Let's say we want to specify the behavior of a base-class hierarchy.
This could be done by creating a parallel 'standard' hierarchy,
by creating parallel classes with the suffix 'Std' added to their names.

Such a parallel "specification hierarchy"  would also make it easy
to "read the standard" by browsing code - making it much easier
to grasp than reading a sequential PDF -document could.

Each of the parallel standard classes would have one class-method
that's not part of the standard: #iClass for returning a corresponding
"implementor class", or nil, if no implementation is available.

Different vendors and their users could then provide a standards
based implementation on top of the native non-standard class-libraries.

An implementation class might or might not embed the same
pre- and post-conditions into their methods as in the standard,
although the standard  would not require that. A standards-compliant
implementation is only required in the similar manner as the standard-
specifying classes, in terms of pre- and post-conditions triggering
errors under the same conditions.


-Panu Viljamaa



Michael Klein wrote:
> Well that just begs the question:
>
>     How does one determine whether any given test
>     actually tests for compliance to a specification?
>
>
> On Jan 24, 2008, at 11:36 PM, Bruce Badger wrote:
>
>> On 24/01/2008, Michael Klein <mklein at alumni.caltech.edu> wrote:
>>> Tests are no substitute for a specification....
>>
>> Nor is a specification a substitute for tests. ;-)
>>
>> Each have a place, IMO.
>>
>> -- 
>> Make the most of your skills - with OpenSkills
>> http://www.openskills.org/
>>
>> _______________________________________________
>> ANSI-Smalltalk mailing list
>> ANSI-Smalltalk at lists.openskills.org
>> http://lists.openskills.org/cgi-bin/mailman/listinfo/ansi-smalltalk
>
>
> _______________________________________________
> ANSI-Smalltalk mailing list
> ANSI-Smalltalk at lists.openskills.org
> http://lists.openskills.org/cgi-bin/mailman/listinfo/ansi-smalltalk
>





More information about the ANSI-Smalltalk mailing list