ну так сделать двусвязный список можно на функциональном языке, только не "железным" способом, на указателях, за неимением таковых, уже писали - на деревьях, может ещё что-то уже придумали. Сходите в Haskell,если действительно интересно, вам подкинут пейперов.