(* var.sml * * COPYRIGHT (c) 2010 The Diderot Project (http://diderot.cs.uchicago.edu) * All rights reserved. *) structure Var = struct datatype var = datatype AST.var datatype var_kind = datatype AST.var_kind fun typeOf (V{ty, ...}) = ty fun kindOf (V{kind, ...}) = kind fun new (name, kind, ty) = let val id = Stamp.new() in V{name=Atom.toString name, id=id, kind=kind, ty=([], ty)} end end