Frege is a non-strict, pure functional programming language in the spirit of Haskell. It enjoys a strong static type system with type inference. Higher rank types are supported, though type annotations are required for that. Frege programs are compiled to Java and run in a JVM. Existing Java Classes and Methods can be used seamlessly from Frege. Frege is not a Haskell dialect, though some effort has been expended to make it look and feel like so.
CAL is a lazy functional language influenced by Haskell. It has an expressionbased syntax akin to other formula languages (such as those found in Excel and Crystal Reports). It also features a powerful and flexible type system which allows the compiler to perform precise compile-time checking of function calls. In addition, it has a simple syntax for accessing Java objects, methods, and fields from within CAL.