There is the whole new paradigm of “functional programming”, which needs a total change of thought patterns compared to procedural programming. It uses higher order functions, purity, monads, etc., which we don’t usually see in imperative and object oriented languages.
My question is how the implementation of these languages differs from imperative or object oriented languages, with respect to, for example, memory management or internals like pointers etc..
There are functional languages that run on top of the JVM. Does this mean that these languages internally work like the other languages on the JVM?
Implementations of Functional Programming languages are using a wide range of implementation techniques. An excellent introduction into the implementation of Scheme (a Lisp dialect) gives this book: Lisp in Small Pieces by Christian Queinnec.