La programación a nivel funcional en el estilo de FP tiene una fuerte relación con la lógica combinatoria de Haskell Curry, con los lenguajes de combinadores, antecesores de Miranda y Haskell, así como con las categorías cartesianas cerradas, teoría que dio origen al lenguaje CAML (Categorical Abstract Machine Languaje), antecesor del lenguaje Ocaml.