The built-in function BooleanFunction creates a function that accepts a specified number of arguments. There's some way(?), that is escaping me, to convert the elements of a list into a sequence of arguments.
Here's an example (and attached), using #[[1]] and #[[2]] to extract the elements of a list of length 2 ...
Create boolean function #1, of two variables ...
f = BooleanFunction[1, 2]
Display the function ...
BooleanConvert[f[x, y], "DNF"]
! x && ! y
Confirm on one pair of values ...
f[False, False]
True
Generate all boolean pairs ...
Tuples[{False, True}, 2]
{{False, False}, {False, True}, {True, False}, {True, True}}
Apply function to each pair using ugly method ...
f[#[[1]], #[[2]]] & /@ %
{True, False, False, False}
Attachments: