Povídej, co z toho PHP neumí.
Koukal jsem a z FP toho umí celkem dost.
Uzávěry, funkce jako plnotučné entity, částečná aplikace by se tam taky nějak dala spáchat. Akorát ty vedlejší efekty si musím hlídat. 
systém částečné nečistoty
tím myslíte Control.Monad.ST?
Tím myslím celou IO monádu ...
i čistě funkcionální jazyk potřebuje vstup a výstup, jak byste to řešil vy?
Nooo, zkusil bych se dát na ZEN.
Blbej vtip ...
Ve zkratce. Uniqueness typing. Používá ho Clean a ještě jedna potvora. Bohužel, obědvě potvory jsou bez komunity (větší), a bez prostředí (které tvoří komunita), takže jsou bohužel k nepotřebě. Kdyby nebyl Haskell, je dost možné, že by to bylo jinak, protože by měli komunitu starající se o jejich vývoj. Ale Haskell je prostě good enough, zatím.
Další metoda, zkombinování reaktivního paradigmatu s FP, geniální a jednoduché. Opět stejný problém jako u minulé metody. Existuje pouze jeden jediný FRP jazyk o kterým vím, a je to bohužel nedodělaná hračka.
A ještě jedna metoda. Využívá lazy evaluation. Prostě jako vstup vezmeme nekonečný list zpráv, a program posílá běhovému prostědí nekonečný list odpovědí. Hezké, ale žádný jazyk to dosud nevyzkoušel, lze ale na tento nápad narazit na internetu když člověk hledá.