Assignment 2 Source File

%% file: proglang.pro
%% line: some knowledge about programming languages

% language(L) means L is a programming language

language(smalltalk).
language(lisp).
language(prolog).
language(snobol).
language(apl).

% essence(L,DT,CF) means language L features datatype DT
% and computational formalism CF

essence(smalltalk,objects,'message passing').
essence(lisp,lists,'recursive functions').
essence(prolog,relations,'logical inferencing').
essence(snobol,pattern,'string processing').
essence(apl,matrix,'matrix operation').

% history(L,I,D) means language L was invented by I in year D

history(smalltalk,inventor('Alan Kay'),date(1980)).
history(lisp,inventor('John McCarthy'),date(1959)).
history(prolog,inventor('Alan Colmeraur'),date(1971)).
history(snobol,inventor('Ralph Griswold'),date(1962)).
history(apl,inventor('Kenneth Iverson'),date(1964)).