The Clean Game Library is a complete development system for 2D games (arcade, side scrollers, platform games), using the functional language Clean. Allthough Clean is not easy to learn (it's very different from imperative languages, such as Pascal and C), once you have mastered programming in Clean, you can easily create games with the Clean Game Library.
More info