On Fri, Aug 13, 2021 at 06:47:35PM +0200, [email protected] wrote: > Thanks for this Git version of Poplog. It's really great! > > I have compile the latest Git version (commit > 3243718bda2a118e2fd5b02dc9f1a105f96b7d6f, per Tue Aug 10) > without any problems on my Linux Ubuntu 18.05.
Thanks for testing. > I've now also tested it with my Pop-11/Poplog programs from > http://hakank.org/poplog/ as well as some other programs not published on > that page (since they are just from the TEACH files etc). > > Compared to what I call the "Poplog official version" (Sussex Poplog > Version 16.0, the one installed via > http://www.cs.bham.ac.uk/research/projects/poplog/V16/getpoplog.sh ), there > are some differences. > > Note: here's my init.p file which is loaded in some of the programs: > http://www.hakank.org/poplog/init.p > > * First the positive differences > The "official version" has problems running some of programs from the > command line, and one has to first load the pop11 executable and load the > program, otherwise there's an infinite loop or getting some error message > regarding "<termin>" etc. These programs are mostly expert systems that > interact with input from the user, and they are all from some of the TEACH > examples. ATM there is some confusion with version numbers. I think that the problem is fixed by inculding 'emacreadline' in startup image. Done in git repo, but also in _latest_ Birmingham tarball (which has the same version number as earler ones). > The Git version don't have this problem, so I can now run directly them > as > $ poplog pop11 program.p > > Here are some of these programs that now works nicely from the command > line: > - http://hakank.org/poplog/emycin_test.p > - http://hakank.org/poplog/eprospect_test.p > - http://hakank.org/poplog/eshell_test.p > - http://hakank.org/poplog/poprulebase_medrules.p > > (I'm quite sure that I reported this problem with the "official version" > some years ago.) No, this is relatively recent thing, due to smaller startup image. > * Some things that don't work in the Git version > > Here are some things that work in the Poplog "official version", but not > the Git version. > > - evans analogy > My test program is http://hakank.org/poplog/evans_test.p and the > error can be reproduced by: > > $ poplog pop11 > : uses teaching; > ;;; LOADING LIB analogy > ;;; MISHAP - CAN'T OPEN FILE (Invalid directory) > ;;; INVOLVING: '$usepop/pop/lib/turtle/turtle.p' > ;;; FILE : > > /home/hakank/poplog/git/hebish/poplog/pop/packages/lib/../teaching/auto/turtle.p > LINE NUMBER: 16 > ;;; PRINT DOING > ;;; DOING : discin proglist_new_state section > Do_expr_syntax_opener > ;;; Comp_expr_seq search nextitem Comp_expr_seq search loadlib > pop_setpop_ > ;;; compiler > """ > > Note: turtle.p is located in ./pop/packages/teaching/auto/turtle.p > but is not loaded for some reason. Thank for info. Actually pop/packages/teaching/auto/turtle.p is loaded, but it tries to load pop/lib/turtle/turtle.p which is currently missing from git repo (and included in tarballs). I was thinking about proper place for 'turtle' and 'data' so delayed putting them in repo, and frankly later forgot about them. > - Schemata test > This is from TEACH SCEMATA, and my test program is > http://hakank.org/poplog/schemata_test.p > > The error can be reproduced with: > """ > $ poplog pop11 > Setpop > : lib schema; > ;;; LOADING LIB schema > : lib someschemata; > ;;; LOADING LIB someschemata > > ;;; MISHAP - LIBRARY FILE NOT FOUND > ;;; INVOLVING: 'someschemata' > ;;; PRINT DOING > ;;; DOING : loadlib pop_setpop_compiler > """ > > The missing program "someschemata.p" is in the "official Poplog here: > poplog_base/pop/lib/data/someschemata.p > However, the Git version don't have the directory > pop/lib/data/ Yes. > That directory includes these files: > blockdata.p > cube.p > domains.p > edgepic.p > grammar1.p > grammar2.p > greypic.p > lexicon.p > overlay.p > personpicture.p > someschemata.p > tetra.p > tetrapic.p > vacmaze.p > > I also checked which other directories that are missing from the Git > version's pop/lib directory (compared to the "official" version's directory > poplog_base_pop/lib). > Here are the missing directories: > - poplog_base/pop/lib: data > - poplog_base/pop/lib: demo > - poplog_base/pop/lib: obsolete > - poplog_base/pop/lib: proto > - poplog_base/pop/lib: psv > - poplog_base/pop/lib: sun > - poplog_base/pop/lib: turtle > > (I don't know much about these directories, just noticed that they > are not in the Git version.) There is some deliberate ommisions, 'proto' is doing nothing and 'obsolete' is obsolete for 25 years so it makes sense to remove them. The same for for 'sun'. 'psv' is moved (it contains generated binary saved images). I forgot about 'data', 'turtle' and 'demo'... > * Performance > One of my standard performance tests is to run the euler*.p programs > (problems 1..50, see http://hakank.org/poplog/) . The Git version is about > of the same speed as the "official version" - about 10.4s to run all 50 > programs - so there's no detectable difference there. No change in git repo should have significant impact on performance. > About the only program that is discernible better when running in the Git > version is http://hakank.org/poplog/lucas_lehmer_test.p (from > http://www.rosettacode.org/wiki/Lucas-Lehmer_test ). > The "official version" (often but not always) throws an "MEMORY ACCESS > VIOLATION" mishap after printing M127 but I've not seen this problem using > the Git version. I am not sure what happens on your machine, but I fetched your file on my machine when I tried: poplog pop11 lucas_lehmer_test.p I see flood of Access Violation nessages. Will look what into this. Thanks for info. git repo contain fixes so that Poplog graphic should behave much better than in earlier 64-bit version. Some other things may be essentially random (for example related to code and data moving in memory). -- Waldek Hebisch
