I linguaggi di programmazione funzionale come Haskell sono un sottotipo dei linguaggi dichiarativi.
I linguaggi di programmazione si dividono in linguaggi di livello inferiore e linguaggi di livello superiore. Questi ultimi possono essere suddivisi in programmazione imperativa e programmazione dichiarativa. I linguaggi di programmazione funzionale come Haskell sono un sottotipo dei linguaggi dichiarativi.