[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Feb 11 22:17:29 2003 
Subject:Re: New User 
From:Aaron Sloman 
Volume-ID:1030211.01 


john duncan <agley@optusnet.com.au> writes:

> Date: 11 Feb 2003 08:38:57 +1000
>
> G'day,

G'day to you, and apologies for not responding sooner.

I am glad to learn from your second message that you got things
working. Also glad to hear that it all works on Debian. The people
I know are all using linux (mainly Redhat, Mandrake or Suse).

>       I am not a programmer and have just installed poplog on Debian
> Woody.The installation instuctions are a little confusing but I hope
> I have everything.

Just out of curiosity, where did get the system from? Right now
there are different versions of poplog, along with a variety of
extras, available from different places. The two main sources are
    http://www.cs.bham.ac.uk/research/poplog/freepoplog.html

    http://www.poplog.org

Unfortunately many of the files at the latter site are about two
years old.

The latest packages from birmingham have installation scripts that
automate most of the process. (You can run a script to install poplog
with motif or one to install without).

>       Pop11 and Eliza work well but I am not sure about xved which
> seems to want a saved image before it will start. I will delve into
> the documentation soon but just need to know if this seems normal
> before I start setting up an environment.

The core poplog executable is

    $usepop/pop/pop/basepop11

The pop11 command is defined to run that with a saved image called
    startup.psv

That adds a lot of the core xved functionality and other things.

A version of startup.psv that comes with poplog or is built by the
default installation scripts is in
    $usepop/pop/lib/psv/startup.psv

which is equivalent to
    $popsavelib/startup.psv

The one used by the Birmingham extensions goes in

    $poplocalbin/startup.psv

(includes objectclass, rc_graphic, rclib and rcmenu along with
various other minor modifications and enhancements).


You can run xved if you have only the startup.psv image if you type

    pop11 %x

You'll also get the poplog control panel (which requires motif).

Alternatively you can start pop11 and then do

    "x" -> vedusewindows;

Then as soon as you start up ved, or teach, or help. or ref, or showlib,
it will start xved.

If you always want to run xved you can put the above assignment into
your $poplib/init.p file or $poplib/vedinit.p

Then you don't need to type %x, or have the xved.psv saved image
mentioned below.

I set up my vedinit.p so that it asks if I want xved. If I type "y" it
does the above assignment and I get xved, otherwise just ved.

If you wish to be able to invoke xved from the shell command line you
can run a script to create another saved image. The one in

    $popcom/mkxved

creates

    $popsavelib/xved.psv

The one in the Birmimgham package

    $poplocal/local/com/mkxved.local

creates
    $poplocalbin/xved.psv

The Birmingham package also includes scripts to start up xved
in prolog or lisp mode.

This is all very messy and at some time in the not too distant
future I shall unify the birmingham extensions with the core
poplog. Until recently I was too nervous to take the decision.

>       Would you recommend using Structure and Interpretation of
> Computer Programs 2nd Ed by Abelson,Sussman and Sussman with Poplog
> for someone trying to learn programming in their own time for their
> own purposes?
>
>                          Thanks for these resources,
>                              All the best,
>                                John Duncan

That book assumes you are using Scheme as your programming language.
Scheme is very close to a subset of pop11 (in fact it fits a subset
of pop11 better than it fits any subset of common lisp, even though
the syntax of scheme is more like that of common lisp).

A lot depends on what you want to learn programming for. If you are
learning with poplog I suggest you concentrate on pop11 rather than
scheme until you have developed enough fluency as a programmer not to be
worried about translating examples in a textbook from one programming
language to another.

You can learn quite a lot by going through the Pop-11 primer, which
includes some exercises, but not enough. The primer is online here

    http://www.cs.bham.ac.uk/research/poplog/primer/index.html

It is also included with current versions of poplog from the bham
site as TEACH primer, i.e. a flat, plain text file, with almost
exactly the same contents, designed for viewing in Ved.

Also available here

    http://www.cs.bham.ac.uk/research/poplog/teach/primer

In addition there are a lot of pop11 (and ved) tutorial files here
    http://www.cs.bham.ac.uk/research/poplog/teach/

Many of the core ones are included in the bham poplog packages.

Additional teaching files are included with various optional add-ons,
e.g. rclib has a number of files in its teach/ subdirectory,
so to the newkit/prb/teach newkit/sim/teach directories (poprulebase
and simagent toolkits) and David Young's popvision library in its
teach subdirectory.

For example, if you want a lot of practice doing list processing and
learning about recursion the files in here
    http://www.cs.bham.ac.uk/research/poplog/teach/

include the following, several of which are updated versions of the
teach files in $usepop/pop/teach

    advent_objectclass                  respond
    booleans                            rhyme
    database                            river
    foreach                             river2
    functional.style                    river2.p
    glossary                            riverchat
    grammar                             route
    gstart                              searching
    induce_rules.p                      semnet1
    matcharrow                          semnet2
    matchcollect                        sets
    matches                             sets2
    mini.eliza                          sets2.ans
    netstart                            sets.ans
    objectclass_example                 stack
    oop                                 storygrammar
    opsys                               streams
    popcore                             strips
    primer                              subtract
    problems1                           teach
    problems1.ans                       telnetkeys
    proglect1                           tower
    proglect2                           train_clerk
    proglect3                           Unix.intro
    proglect4                           usefulkeys
    proglect5                           vars
    proglect6                           vars_and_lvars
    proglect7                           ved
    proglect8                           vednotes
    proglect9                           vedpop
    quickved                            vedproc
    random                              vedtips
    recursion                           waltz
    reports                             waltz2

And that's just a subset.

The bham versions of those files assume that you have installed the
extension to the pop11 pattern matcher that uses "!" as a pattern
prefix (it allows lvars variables to be pattern variables, leading
to more robust programs.) If you have not installed the birmingham
extras the pattern extension is here:
    http://www.cs.bham.ac.uk/research/poplog/pattern.tar.gz

Just untar it into $poplocal/local.

In order to gain programming fluency, it helps if you can first develop
fluency in Ved or Xved, including marking a range and then doing things
to the marked range,
    TEACH mark
    TEACH lmr

Also searching forwards and backwards
    TEACH vedsearch

and other things listed in this Bham file.
    TEACH vednotes

When you are fluent in Ved you could try reading the primer and doing
the examples there. If you are already an experienced academic with
a lot of knowledge of other things (e.g. mathematics, logic) you may
learn a lot from that, though it is intended for people with
programming experience.

There are many other teach files that develop basic programming
techniques, e.g. TEACH sets, TEACH sets2, TEACH recursion,
TEACH tower, TEACH searching.

Other files introduce the use of pattern matching, the database,
rule-based programming, natural language processing. Yet others
introduce image processing. The simagent toolkit introduces ways
of building agents with complex cognitive architectures. RCLIB
introduces mechanisms and tools for building graphical interfaces,
control panels, etc.

It helps if you can talk to someone local who has pop-11 expertise.
if not you'll need to depend on the comp.lang.pop group or pop-forum
email list.

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