Regarding

fun add up nil = 0
| add up (h::t) = h + add up t
fun mul up nil = 1
| mul up (h::t) = h * mul up t

Harper states:

What precisely is the similarity? We will look at it from two points of view. One view is that in each case we have a binary operation and a unit element for it.

And my question is: by unit element does he mean identity value?

Yes. -- AdamChlipala

WhatIsUnitElement (last edited 2008-07-09 05:48:05 by localhost)