We describe here an implemented small programming language, called Alma-0,
that augments the expressive power of imperative programming by a limited n
umber of features inspired by the logic programming paradigm. These additio
ns encourage declarative programming and make it a more attractive vehicle
for problems that involve search. We illustrate the use of Alma-0 by presen
ting solutions to a number of classical problems, including alpha-beta sear
ch, STRIPS planning, knapsack, and Eight Queens. These solutions are substa
ntially simpler than their counterparts written in the imperative or in the
logic programming style and can be used for different purposes without any
modification. We also discuss here the implementation of Alma-0 and an ope
rational, executable, semantics of a large subset of the language.