123456789101112131415161718192021222324252627282930313233343536373839(******************************************************************************)(* *)(* Fix *)(* *)(* François Pottier, Inria Paris *)(* *)(* Copyright Inria. All rights reserved. This file is distributed under the *)(* terms of the GNU Library General Public License version 2, with a *)(* special exception on linking, as described in the file LICENSE. *)(* *)(******************************************************************************)typegensym=unit->intletpostincrementorc()=lety=!cinc:=y+1;yletmake()=postincrementor(ref0)(* We do not worry about overflow. On today's 64-bit machines, it won't occur
in a lifetime. *)typegenerator=intrefletgenerator()=ref0letfreshc=lety=!cinc:=y+1;yletcurrentc=!c