<story><title>TypeScript 1.4 sneak peek: union types, type guards, and more</title><url>http://blogs.msdn.com/b/typescript/archive/2014/11/18/what-s-new-in-the-typescript-type-system.aspx</url></story><parent_chain></parent_chain><comment><author>benjaminjackman</author><text>Union Types, done in a lightweight &amp;#x27;anonymous&amp;#x27; fashion. Awesome! Some languages go the discriminated type union route. If I had to chose I would take the this over a that alternative. Typescript continues to push forward.&lt;p&gt;Hopefully this leads to the construct being adopted by more languages. Rust has the heavier version, maybe they will adopt this before they release instead and then they can replace their gussied up Either&amp;#x2F;Err type with unions.&lt;p&gt;Maybe someday the Scala team will see the light and we will get them as well. Sadly I am not holding my breath, adopting innovations like union types were what drew me to Scala. Something like this isn&amp;#x27;t even on the docket for the next several years at a minimum. All the innovation in syntax died  following the terrible 2013 scaladays keynote that &amp;quot;challenged&amp;quot; the Scala community to suck as hard as Java by 2018. It&amp;#x27;s really a shame that martin didn&amp;#x27;t decide to just implement union types when he implemented tuples years ago, now the language is probably too ossified to ever adopt them for fear they&amp;#x27;ll be another XML.</text></comment>
<story><title>TypeScript 1.4 sneak peek: union types, type guards, and more</title><url>http://blogs.msdn.com/b/typescript/archive/2014/11/18/what-s-new-in-the-typescript-type-system.aspx</url></story><parent_chain></parent_chain><comment><author>lobster_johnson</author><text>Their union type syntax looks like Ceylon&amp;#x27;s. I rather like it.&lt;p&gt;Union types with pattern matching would be the logical step, would it not? I wish for something like:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    match getResults() {
      case e: Error: ...
      case r: Results: ...
    }&lt;/code&gt;&lt;/pre&gt;</text></comment>