[ {"type":"KeywordReserved","value":"signature"}, {"type":"Text","value":" "}, {"type":"NameNamespace","value":"S"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"sig"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"datatype"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"t"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Hoge"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"|"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Fuga"}, {"type":"Text","value":"\n"}, {"type":"KeywordReserved","value":"end"}, {"type":"Text","value":"\n\n"}, {"type":"Name","value":"structur"}, {"type":"Text","value":" "}, {"type":"Name","value":"A"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"struct"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"structure"}, {"type":"Text","value":" "}, {"type":"NameNamespace","value":"B"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"struct"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"structure"}, {"type":"Text","value":" "}, {"type":"NameNamespace","value":"C"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"struct"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"type"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"t"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"Name","value":"int"}, {"type":"Text","value":" "}, {"type":"Name","value":"*"}, {"type":"Text","value":" "}, {"type":"Name","value":"real"}, {"type":"Text","value":" "}, {"type":"Name","value":"*"}, {"type":"Text","value":" "}, {"type":"Name","value":"string"}, {"type":"Text","value":" "}, {"type":"Name","value":"*"}, {"type":"Text","value":" "}, {"type":"Name","value":"bool"}, {"type":"Text","value":" "}, {"type":"Name","value":"ref"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"end"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"end"}, {"type":"Text","value":"\n"}, {"type":"KeywordReserved","value":"end"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordReserved","value":"functor"}, {"type":"Text","value":" "}, {"type":"NameNamespace","value":"F"}, {"type":"Punctuation","value":"("}, {"type":"Name","value":"X"}, {"type":"KeywordReserved","value":":sig"}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"type"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"t"}, {"type":"Error","value":";"}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"compare"}, {"type":"Name","value":":"}, {"type":"Text","value":" "}, {"type":"Name","value":"t"}, {"type":"Text","value":" "}, {"type":"Name","value":"*"}, {"type":"Text","value":" "}, {"type":"Name","value":"t"}, {"type":"Text","value":" "}, {"type":"Name","value":"-\u003e"}, {"type":"Text","value":" "}, {"type":"Name","value":"order"}, {"type":"Punctuation","value":")"}, {"type":"Name","value":":"}, {"type":"Text","value":" "}, {"type":"Name","value":"S"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"struct"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"datatype"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"t"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Hoge"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"|"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Fuga"}, {"type":"Text","value":"\n"}, {"type":"KeywordReserved","value":"end"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordReserved","value":"structure"}, {"type":"Text","value":" "}, {"type":"NameNamespace","value":"Main"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"struct"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"local"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"structure"}, {"type":"Text","value":" "}, {"type":"NameNamespace","value":"M"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"Name","value":"F"}, {"type":"Punctuation","value":"("}, {"type":"Name","value":"Int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"open"}, {"type":"Text","value":" "}, {"type":"NameNamespace","value":"M"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"in"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"fun"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"id"}, {"type":"Text","value":" "}, {"type":"Name","value":"x"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"Name","value":"x"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"bool"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"if"}, {"type":"Text","value":" "}, {"type":"Name","value":"true"}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"then"}, {"type":"Text","value":" "}, {"type":"Name","value":"false"}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"orelse"}, {"type":"Text","value":" "}, {"type":"Name","value":"false"}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"else"}, {"type":"Text","value":" "}, {"type":"Name","value":"true"}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"andalso"}, {"type":"Text","value":" "}, {"type":"Name","value":"true"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"~1"}, {"type":"Text","value":" "}, {"type":"Name","value":"+"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"real"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"0.7"}, {"type":"Text","value":" "}, {"type":"Name","value":"-"}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"0.32E5"}, {"type":"Text","value":" "}, {"type":"Name","value":"*"}, {"type":"Text","value":" "}, {"type":"Name","value":"E3"}, {"type":"LiteralNumberInteger","value":"~7"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralStringDouble","value":"\"a"}, {"type":"LiteralStringEscape","value":"\\a\\b\\t\\n\\v\\f\\r\\^M\\097\\u00a1\\\"\\\\"}, {"type":"LiteralStringInterpol","value":"\\\n \\"}, {"type":"LiteralStringDouble","value":"\""}, {"type":"Text","value":"\n "}, {"type":"CommentMultiline","value":"(* (* comments *) *)"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"##"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"|=|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"infix"}, {"type":"Text","value":" "}, {"type":"Name","value":"##"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"infixr"}, {"type":"Text","value":" "}, {"type":"Name","value":"##"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"op"}, {"type":"Name","value":"##"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"case"}, {"type":"Text","value":" "}, {"type":"Name","value":"Hoge"}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"of"}, {"type":"Text","value":"\n "}, {"type":"Name","value":"Hoge"}, {"type":"Text","value":" "}, {"type":"Name","value":"=\u003e"}, {"type":"Text","value":" "}, {"type":"Name","value":"Fuga"}, {"type":"Text","value":"\n "}, {"type":"Name","value":"|"}, {"type":"Text","value":" "}, {"type":"Name","value":"Fuga"}, {"type":"Text","value":" "}, {"type":"Name","value":"=\u003e"}, {"type":"Text","value":" "}, {"type":"Name","value":"Hoge"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"type"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"s"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Name","value":":"}, {"type":"Text","value":" "}, {"type":"Name","value":"t"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Name","value":"label:"}, {"type":"Text","value":" "}, {"type":"Name","value":"unit"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"type"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"u"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"NameNamespace","value":"A.B.C."}, {"type":"Name","value":"t"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"Name","value":"Hoge"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Name","value":"label"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"()}"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"fun"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"id"}, {"type":"Text","value":" "}, {"type":"Name","value":"x"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"Name","value":"x"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"val"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"rec"}, {"type":"Text","value":" "}, {"type":"Name","value":"id"}, {"type":"Text","value":" "}, {"type":"Name","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"fn"}, {"type":"Text","value":" "}, {"type":"Name","value":"x"}, {"type":"Text","value":" "}, {"type":"Name","value":"=\u003e"}, {"type":"Text","value":" "}, {"type":"Name","value":"x"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"exception"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"X"}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"and"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Y"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"raise"}, {"type":"Text","value":" "}, {"type":"Name","value":"X"}, {"type":"Text","value":" "}, {"type":"KeywordReserved","value":"handle"}, {"type":"Text","value":" "}, {"type":"Name","value":"X"}, {"type":"Text","value":" "}, {"type":"Name","value":"=\u003e"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"Name","value":"nil"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":"],"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":"\n "}, {"type":"KeywordReserved","value":"end"}, {"type":"Text","value":"\n"}, {"type":"KeywordReserved","value":"end"}, {"type":"Text","value":"\n"} ]