In a similar vein - a few years ago I built an open source REPL calculator called LastCalc (http://lastcalc.org/), which supports some advanced ideas from functional programming including pattern matching.