Toda a programação está relacionada à matemática. De fato, muitas universidades ainda colocam seus programas de ciência da computação sob a alçada do departamento de matemática.
Quanto ao aprendizado de programação funcional, você não precisa ter uma base sólida em matemática para aprendê-lo. Eu aprendi três idiomas funcionais diferentes agora com proficiência razoável (Haskell, Erlang, Clojure) e minhas próprias habilidades em matemática são extremamente fracas. A comunidade de Haskell pode, de fato, ser um pouco irritante em sua maneira focada em matemática, mas Erlang e Clojure são linguagens de programação funcional muito pragmáticas que não são difíceis de entender porque as informações do tutorial são escritas, aparentemente, para programadores, não para geeks da matemática. Dito isto, apesar da minha deficiência em matemática I fez pegar Haskell, por isso não é impossível.
A verdadeira dificuldade que encontrei em pegar linguagens de programação declarativas em geral (das quais funcional é um subconjunto) é desistir desse desejo de estar no controle; para dizer ao computador o que fazer. Leva algum tempo para se acostumar.