A simple framework supporting a functional programming style inspired by haskell and scala