{"title":"type","blog_title":"odz buffer","blog_url":"https://odz.hatenablog.com/","author_url":"https://blog.hatena.ne.jp/odz/","version":"1.0","width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fodz.hatenablog.com%2Fentry%2F20080419%2F1208615428\" title=\"type - odz buffer\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_name":"Hatena Blog","author_name":"odz","categories":["Scala"],"provider_url":"https://hatena.blog","height":"190","type":"rich","description":"Top Level \u306b type \u306f\u304b\u3051\u306a\u3044\u306e\u306a\u3002Tutorial \u306b\u5f93\u3063\u3066 abstract class Tree case class Sum(l: Tree, r: Tree) extends Tree case class Var(n: String) extends Tree case class Const(v: int) extends Tree type Environment = String => int\u306a\u3093\u3066\u306e\u3092\u66f8\u304f\u3068 \"expected class or type definition\" \u3068\u3044\u308f\u308c\u305f\u3002 \u3068\u308a\u3042\u3048\u305a\u3001 object Expression { type En\u2026","published":"2008-04-19 23:30:28","url":"https://odz.hatenablog.com/entry/20080419/1208615428","image_url":null}