In SICStus Prolog there's library(samsort)
,
a library for generic sorting.
The library exports the predicates samsort/2
, samsort/3
, samkeysort/2
, and others.
I can see the use of these predicates, but I'm somewhat puzzled by the name prefix sam.
What is "sam"? Is it some abbreviation, initialism, or acronym?
What does "sam" mean? Is there a story/history behind the name "sam"?
This is Smooth Applicative Merge sort.
Originally from the DEC-10 Prolog library, I think.
It was described in a technical report, which I cannot find, unfortunately:
O’Keefe, R.: A smooth applicative merge sort. Tech. rep., Department of Artificial Intelligence, University of Edinburgh (1982)