A funkcionális programozást gyakran szokták úgy leírni, hogy benne van a képesség függvények létrehozására, amelyek függvényeket hoznak létre. A tények kedvéért a dolog messzebbre nyúlik, a gyökereit a lambda kalkulusban találjuk. Az AFNIX-hoz hasonló funkcionális programozási nyelveket gyakran szokták magasrendû nyelveknek hívni.
Egy lambda vagy gamma kifejezést tekinthetünk úgy, mint egy függvény objektumot név nélkül. A kiértékelési folyamat során, a kifejezés objektum kiértékelõdik a paraméterekkel együtt(balról jobbra), és az eredményt a paraméterek függvény objektumra történõ alkalmazása adja. Egy kifejezést dinamikusan is fel lehet építeni a kiértékelési folyamat részeként.
Amikor egy függvény kifejezést rekurzióval kombinálunk, a függvény önmagát hívása problémává válik, hiszen a függvény kifejezésnek nincs neve. Ebbõl az okból kifolyólag található az AFNIX-ban a self kulcsszó, ami a függvényre történõ hivatkozást segíti. Ennek bemutatására a jól ismert faktoriálist kifejezés a legjobb, tisztán funkcionális stílusban megírva.