equal
deleted
inserted
replaced
186 |
186 |
187 fun parse_func cx arity n ls = |
187 fun parse_func cx arity n ls = |
188 let |
188 let |
189 val ((Ts, atts), ls') = |
189 val ((Ts, atts), ls') = |
190 ls |> repeat (parse_type cx) arity ||>> repeat (parse_attr cx) n |
190 ls |> repeat (parse_type cx) arity ||>> repeat (parse_attr cx) n |
191 val unique = member (=) atts "unique" |
191 val unique = member (op =) atts "unique" |
192 in ((split_last Ts, unique), ls') end |
192 in ((split_last Ts, unique), ls') end |
193 |
193 |
194 fun parse_decl (("type-decl" :: name :: _) :: ls) cx = (ls, add_type name cx) |
194 fun parse_decl (("type-decl" :: name :: _) :: ls) cx = (ls, add_type name cx) |
195 | parse_decl (["fun-decl", name, arity, n] :: ls) cx = |
195 | parse_decl (["fun-decl", name, arity, n] :: ls) cx = |
196 let val (((Ts, T), unique), ls') = parse_func cx arity n ls |
196 let val (((Ts, T), unique), ls') = parse_func cx arity n ls |