In article 4t4@percy.cs.bham.ac.uk, sfk@com.hp.hpl.hplb (Steve Knight) writes:
>
>If lists were a class, then it would be possible to further specialise
>pairs by writing
>
> define :class triple;
> is pair;
> slot extra;
> enddefine;
>
>It would then be possible to create lists from triples rather than pairs
>and have the entire set of list operations work on them seamlessly.
That is a *very* neat sugestion. Now a practical question which is mostly directed at Steve Knight.
Suppose that we want to implement the smallest practicable language that has the
following properties. What would the minimum number of built in classes be and would
the compiled code be efficient?
o Supports machine types for arithmetic, logic, memory access.
o Supports computer environment, e.g. interupt handling and signalling.
o Supports automatic and programmer directed garbage collection.
o Supports a formally valid and useful data typing system.
o Supports formally valid and useful run-time re-definition of its compiler.
o Supports preservation on disc of the current state of the executing language.
o Provides as much as is practicable of Pop11's functionality.
I ask this question because it seems to me that such a system would be a 'modern'
Pop language and would have a very great deal to offer. For example:
o It would be a sane re-implementation of Pop11.
o It would be designed with formal standardization in mind.
o Language developments could be standardized by an appendix adding functionality
to the existing formal standard.
o It would put 'AI' languages in the domain of the gigantic languages that have
formal standards.
o It would enable the semi-automatic implementation of language standards leading
to more portable and robust implementations of languages.
o As a 'universal' AI language it should dissipate many of the 'religious'
language wars.
o It would have the comercial advantage of leading to quick implementations of
existing and future languages. Watch out COBOL, watch out HAL 9000.
Now a subsidiary question. Is it feasable to make such a language?
James Anderson
|