[Haskell-cafe] Re: Monad.Reader 8: Haskell, the new C++
toby at mi6.gen.nz
Fri Sep 14 16:44:08 EDT 2007
Peter Verswyvelen writes:
> I'm not sure, I don't know LISP in detail, but as far as I know, LISP
> is a fully dynamic language.
> I actually meant a static language where you build your own strong
> types using the language itself.
You might be interested in the Qi language.
Qi is implemented on top of Common Lisp using macros (and probably
other things) and provides (optional) static type checking as well as
various functional programming features (pattern matching, partial
function application, etc.)
The implementation, including all of the type checking, is in Common
Lisp and runs during compilation (well, technically at macro-expansion
time.) A Qi program is just a Common Lisp program that can choose to
use the features provided by these macros.
More information about the Haskell-Cafe