My Pop-11 / Poplog page
Pop-11 is a great but rather unknown language, used for example in Artificial Intelligence research and education.
From What is Poplog?
Poplog is a integrated toolkit providing a highly extendable collection of languages and tools for teaching, research and development. By default it includes incremental compilers for three powerful AI programming languages
* Pop-11--the core language -- used to implement itself and the others;
* Common Lisp; and
* Prolog;
as well as
* Standard ML, a widely used functional language.
For more about Pop-11 and Poplog, see The Free Poplog portal, especially TEACH PRIMER -- An overview of Pop-11
2009-08-31: I blogged about Pop-11 and Poplog in The Pop-11 programming language and Poplog environment which includes more references.
My Pop-11/Poplog programs
Here are some of my Pop-11 programs and utilities.
- compile_test.p: Demonstration how to:
- compile a Pop-11 program to a saved (.psv) image,
- compile to an executable program.
(This was tested on Linux.)
- concord.p: Reads a file and show the number of occurrence of the words (sorted in order of occurrence). Requires GOSPL (see below).
- euler_project.p: My Pop-11 solutions of the first 16 Euler Project problems. Requires newmemo.p, and GOSPL (see below).
- init.p: My init.p file.
- join.p: join(string, separator), e.g.
join('hello,world','|') results in h|e|l|l|o|,| |w|o|r|l|d. This is used for example in read_test.p.
- lisp_in_pop11_test.p: Simple demonstration how to run (Poplog's) Lisp code in Pop-11.
- mygram.p: Generates some swedish sentences given a simple grammar and lexicon.
- n_puzzle.p: n-puzzle, e.g. 8-puzzle and 15-puzzle using the library SOLVEMS.
- newmemo.p: Memo function (from Robin Popplestone's Pop-11 book)
- pop11_in_lisp_test.lsp: Simple demonstration how to run Pop-11 code in (Poplog's) Lisp.
- pop11_in_prolog_test.pl: Simple demonstration how to run Pop-11 code in (Poplog's) Prolog.
- primes.p: Generation of prime numbers using a dynamic ("lazy") list.
- prolog_in_pop11_test.p: Simple demonstration how to run (Poplog's) Prolog code in Pop-11.
- read_test.p: Read a word list and test each words against regular expressions of consecutive characters, e.g. ".*a.*.b.*c.*" (in Pop-11 'a@.@*b@.@*c@.@*'), ".*b.*c.*d.*", ".*c.*d.*e.*", etc. Requires join.p.
- read_test_strmatches.p: Read a word list and test each words against a string pattern of consecutive characters. Same as read_test.p, but uses the strmatches function (not in the standard Poplog distribution). This version is much slower than using regular expression.
- solver_banana_problem.p: (GPS) Banana problem using SOLVER library (schema and problem from Norvig "Paradigms of Artificial Intelligence Programming").
- solver_blocks_world.p: (GPS) Blocks world problem using SOLVER library (schema and problem from TEACH SOLVER).
- solver_maze_problem.p: (GPS) Maze problem using SOLVER library (schema and problem from Norvig "Paradigms of Artificial Intelligence Programming").
- solver_school_problem.p: (GPS) School problem using SOLVER library (schema and problem from Norvig "Paradigms of Artificial Intelligence Programming").
- timing_test.p: Two timing functions which only run the procedure once (as opposed to the builtin
timing which runs many times). One definition is a syntax word, the other is a procedure proper. Includes a simple test.
- tparse_test_swe.p: Test of parsing swedish sentences given a simple grammar and lexicon. Uses the TPARSE library.
Note: Some of the above program requires functions from the GOSPL (Global Open Source Poplog Library) library, such as split, split_with. GOSPL was available from www.poplog.org, but that site seems to be defunct right now. The library is now available from www.cs.bham.ac.uk/research/projects/poplog/, or more specific here: gospl_1_2_0.tar.gz
Created by Hakan Kjellerstrand (hakank@bonetmail.com)
Back to my home page