Abstract: This paper presents a general approach to implement
efficient queries’ interpreters in a functional programming language.
Indeed, most of the standard tools actually available use an imperative
and/or object-oriented language for the implementation (e.g. Java for
Jena-Fuseki) but other paradigms are possible with, maybe, better
performances. To proceed, the paper first explains how to model
data structures and queries in a functional point of view. Then, it
proposes a general methodology to get performances (i.e. number of
computation steps to answer a query) then it explains how to integrate
some optimization techniques (short-cut fusion and, more important,
data transformations). It then compares the functional server proposed
to a standard tool (Fuseki) demonstrating that the first one can be
twice to ten times faster to answer queries.