first

first : ((cons y (listof x)) -> y)

purpose:
to select the first item of a non-empty list


Reductions:
(first v) e--> first: expects argument of type <pair>
   where v is not (cons ...)
(first v v v ...) e--> first: expects one argument
(first) e--> first: expects one argument
(first (cons v list-value)) --> v

Beginning Student Language