Stanza looks very interesting. I'll have to check it out. Thanks!
Shen allows you to turn the type checker on or off:
(tc +)
(tc -)
You can leave your type signatures in the code when you turn them off, and when tc is on you only need a type in the top level of your function.
It has a fully functional Prolog engine built in, and it supports optional lazy evaluation too.
Great talk by Aditya Siram Sept 2014 Strange Loop talk introducing Shen [2]. Shen has been ported to many languages, since it only requires porting the 46 primitive instruction set, called Klambda. Shen has been ported to CL (SBCL), Ruby, JavaScript, Haskell and even Emacs Lisp.
[1] http://shenlanguage.org/
[2] https://www.youtube.com/watch?v=lMcRBdSdO_U