-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Chris,
In message <200106031916.UAA27770@soapbox.cs.bham.ac.uk>,
cglur@onwe.co.za writes
>cglur@onwe.co.za wrote:
>> >Presumably 'senior member(s)' have judged that the cost/benefit says
>> >do-it.
>
>Jonathan.Cunningham@tesco.net wrote:
>> Do what?
>A pre-feasibility study; which has already started.
>
>Aaron Sloman wrote:
>> What I was proposing can be compared with two things that already exist
>> in Pop-11:
>>
[X-Windows and Popvision details clipped]
> .... snip rest of MASSIVE structured index ...
>
>It seems to be an exercise in interfacing poplog to Unix Code (libraries) ?
>How much can be 'taken over' from the 2 projects mentioned above ?
>Am I being simplistic in hoping that a unified method can/should exist to
>interface poplog to ANY Unix Code ?
>
In an ideal world, everything we wanted could and should exist. In mine,
nothing is ever simple, (except, perhaps, sometimes, me).
A well defined C library should have a clearly defined public interface.
This would define data types, constants, public functions, etc.
To map this to another system, we have to make the public functions
callable, the constants accessible and choose an appropriate
representation for the data types. This is a simplification.
Even with well-defined C, we cannot tell, without parsing the body of
procedures, if an argument is passed by reference for write-only usage,
i.e. it is an output argument.
In the Poplog case, we cannot therefore, readily translate from a C-
style:
Atype foo(in1, in2, in-out3, out4);
to a Poplog style:
foo(in1, in2, in-out3) => out4 => varOfAtype
Even if we could do this easily, we might be inclined to argue over what
the correct order for the outputs should be. We might, however, decide
this didn't matter and preserve the style of the original.
With data types, we have to choose an appropriate representation, and
then we have to plant translation code to support our chosen mapping.
E.g. Do we map the argv in:
int main(int argc, char *argv[])
to a list, a vector, a native C type made available to Pop-11 via some
other mechanism, or some other choice. Whichever choice we make, we are
trading off the convenience of the interface developer for the
convenience of the interface user.
A system such as X-Windows defines dozens of data types - cursors,
colours, pixmaps, windows, etc. GSL, fortunately, uses mostly numbers
and a few structures, so the task should be easier.
>Just testing the GSL facilities would be a massive task.
>Perhaps 'automation' to do such testing already exists ?
>
GSL ships with a test suite. An interface generator that mapped GSL to
Poplog should be able to handle mapping the test suite without too much
difficulty. I think we would leave as an exercise to the reader to
synchronise GSL testing with Poplog+GSL testing, although, we may decide
this has to be done to prove that the mapping logic in our interface
functions is working as it should.
>-- Chris Glur.
>
>
>
Regards,
- --
Jeff Best (jeffb@jtbest.demon.co.uk)
-----BEGIN PGP SIGNATURE-----
Version: PGPsdk version 1.7.1
iQA/AwUBOxzWrvHj+enJbeYqEQL87wCg9jWrhX/2RMtBjE3IW71B4+veyZkAnjvH
SvCNVIcE5iPaXUGPkUlcC2hm
=ITXB
-----END PGP SIGNATURE-----
|