Tree based functional programming language