[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