[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Sun, 15 Feb 2004 10:51:30 +0000 (UTC) 
Subject:More tutorials needed on invoking external procedures 
From:Aaron Sloman 
Volume-ID: 

Jenab writes:

> The problem was solved. For float arrays, I did "defclass flvec :                   
> float" and used "flvec_key" at newanyarray() and received correct                   
> answer.(I didn't find other way)

Glad to hear you finally got it working.

> Information about this subject is little scattered in poplog
> documents,for non-experienced persons like me.

Yes!

Even experienced persons may know one part of poplog well and
another not so well, as there is so much in it.

Often the online documentation answers specific questions
extremely well, but when you are trying to do something for the
first time in poplog it can be hard to know precisely what
questions to ask, or where to look for the information.

I often use 'grep' on the source code or on ref, or help
libraries.

Even google sometimes helps though not always. E.g. When I gave
google 'poplog external array' that eventually led me to discover
that the external_runtime library compiled by LIB external
includes a bunch of un-documented utilities:

    array_of_short,   array_of_int,        array_of_float,
    array_of_integer, array_of_real,
    array_of_double,  array_of_pointer,
    conspointer_to,   external_type_check,

about which I previously knew nothing.

If anyone would like to produce a TEACH EXTERNAL file with
examples of the use of these things and other commonly used
external facilities I would be happy to add it to the poplog
documentation.

(Preferably don't use fancy ved characters as that makes things
hard for non-ved users, e.g. emacs users. Try to make maximum
line width 72 characters. In Ved use ENTER HEADING to produce

-- Headers like this --------------------------------------------------

and use ENTER INDEXIFY to make a table of contents.

If different people contribute their favourite examples I'll
be happy to put them together.

Each example could have something like this structure:

    1. A heading summarising what it is

    2. A brief overview description of what it does and how

    3. The C or other external code with instructions on how
       to compile it.

    4. The pop11 code

    5. Examples of use of the program and the results that should
       be produced.

There are already some examples scattered around REF and HELP
files, and many more in poplog code libraries, e.g. for X, for
XVed, for sockets, for timing and interrupt handling, for
filesystem access, and the popvision and neural packages

    http://www.cs.bham.ac.uk/research/poplog/popvision/
    http://www.cs.bham.ac.uk/research/poplog/neural

Having a large collection in one teach file with a good index
could make a huge difference.

I suspect this could make a nice environment for teaching
C programming.

Aaron
===
====
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK
EMAIL A.Sloman AT cs.bham.ac.uk   (ReadATas@please !)
PAPERS: http://www.cs.bham.ac.uk/research/cogaff/ (And free book on Philosophy of AI)
FREE TOOLS: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html