  SICStus Prolog has evolved for nearly 25 years. This is an appropriate point
in time for revisiting the main language and design decisions, and try to
distill some lessons. SICStus Prolog was conceived in a context of multiple,
conflicting Prolog dialect camps and a fledgling standardization effort. We
reflect on the impact of this effort and role model implementations on our
development. After summarizing the development history, we give a guided tour
of the system anatomy, exposing some designs that were not published before. We
give an overview of our new interactive development environment, and describe a
sample of key applications. Finally, we try to identify key good and not so
good design decisions.
