diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2025-07-04 11:19:55 -0700 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2025-07-04 11:19:55 -0700 |
| commit | ed48b02873f3ea3cab0107176d00eb00c9519766 (patch) | |
| tree | b8520790160c42466b5bef7644365259c6076bc4 /Types.sml | |
| parent | 73d1d16befe44d7d73db40b47aef0fd61285501d (diff) | |
| download | sml-ed48b02873f3ea3cab0107176d00eb00c9519766.tar.zst | |
Add signatures
Diffstat (limited to 'Types.sml')
| -rw-r--r-- | Types.sml | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -368,9 +368,10 @@ structure Types = struct let val env = bindType (vars, name, data) env in (env, SOME (Syntax.TDDatatype (name, map (fn (name, ty) => (name, Option.map (tyToSyntaxTy o (etypeToTy env)) ty)) data))) end | tagDec _ (Syntax.DType _) = raise Fail "TODO" - | tagDec env (Syntax.DStruct (name, str)) = + | tagDec env (Syntax.DStruct (name, _, str)) = let val (str, strType) = tagStructExpr env str in (bindStruct name strType env, SOME (Syntax.TDStruct (name, (str, structTypeToSyntaxStructType strType)))) end + | tagDec env (Syntax.DSig (s, decls)) = (env, NONE) | tagDec _ _ = raise Fail "invalid expr" and tagDecs env [] = (env, []) |
