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
|