From 2355b20a32d8ed4924cee84a44831061b2b49b49 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Thu, 12 Jun 2008 17:16:20 -0400 Subject: Simple signature matching --- src/elab.sml | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/elab.sml') diff --git a/src/elab.sml b/src/elab.sml index ac1b4224..14664c0f 100644 --- a/src/elab.sml +++ b/src/elab.sml @@ -80,12 +80,34 @@ datatype exp' = withtype exp = exp' located +datatype sgn_item' = + SgiConAbs of string * int * kind + | SgiCon of string * int * kind * con + | SgiVal of string * int * con + | SgiStr of string * int * sgn + +and sgn' = + SgnConst of sgn_item list + | SgnVar of int + | SgnError + +withtype sgn_item = sgn_item' located +and sgn = sgn' located + datatype decl' = DCon of string * int * kind * con | DVal of string * int * con * exp + | DSgn of string * int * sgn + | DStr of string * int * sgn * str -withtype decl = decl' located + and str' = + StrConst of decl list + | StrVar of int + | StrError +withtype decl = decl' located + and str = str' located + type file = decl list end -- cgit v1.2.3