I just saw the part in the Snap! manual that said
All the great programming languages are based on mathematical ideas. Our primary ancestors are Smalltalk, based on models, and Lisp, based on lambda calculus. Prolog, a great language not (so far) influencing Snap!, is based on logic. And APL, now joining our family, is based on linear algebra, which studies vectors and matrices.
I wonder what Prolog is like, and how it might look in Snap!.