############################################################################ # # File: identity.icn # # Subject: Procedures to produce identities for Icon types # # Author: Ralph E. Griswold # # Date: September 2, 1991 # ############################################################################ # # This file is in the public domain. # ############################################################################ # # This procedure produces an "identity" value for types that have one. # ############################################################################ procedure identity(x) return case x of { "null": &null "integer": 0 "real": 0.0 "string": "" "cset": '' "list": [] "set": set() "table": table() default: fail } end