POP-11 was originally designed to be used as a teaching language for novice programmers. It evolved into a powerful, general purpose language favoured by many for constructing AI programs. It can be used as a symbolic, list-processing language but also includes all the facilities, typically offered by 3GLs for number processing. As well as lists & symbols POP provides a range of data types for strings, arrays, and records as well as some less common data types like fractions & complex numbers. POP has a powerful pattern matcher and operators to deal with sets & association lists.
This page provides an introduction to POP-11 and some utilies.The introduction is pitched at people who already have some programming experience and understans the use of functions, variable scope, etc. The last section of the introduction investigates the use of lexical closures & demonstrates how languages like POP can use an object oriented approach without needing object oriented language facilities.Packages & downloads