  The aim of this work is to study the dual and the algebraic dual of an
evaluation code using standard monomials and indicator functions. We show that
the dual of an evaluation code is the evaluation code of the algebraic dual. We
develop an algorithm for computing a basis for the algebraic dual. Let $C_1$
and $C_2$ be linear codes spanned by standard monomials. We give a
combinatorial condition for the monomial equivalence of $C_1$ and the dual
$C_2^\perp$. Moreover, we give an explicit description of a generator matrix of
$C_2^\perp$ in terms of that of $C_1$ and coefficients of indicator functions.
For Reed--Muller-type codes we give a duality criterion in terms of the
v-number and the Hilbert function of a vanishing ideal. As an application, we
provide an explicit duality for Reed--Muller-type codes corresponding to
Gorenstein ideals. In addition, when the evaluation code is monomial and the
set of evaluation points is a degenerate affine space, we classify when the
dual is a monomial code.
