You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Isaac Sheff (JIRA)" <ji...@apache.org> on 2019/01/27 19:11:00 UTC

[jira] [Commented] (THRIFT-4005) Better Haskell Support for Union Types in Thrift

    [ https://issues.apache.org/jira/browse/THRIFT-4005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16753550#comment-16753550 ] 

Isaac Sheff commented on THRIFT-4005:
-------------------------------------

re: James E. King III

The (haskell package) version used was "1.0.0-dev" as seen in [https://github.com/apache/thrift/blob/ec64f23d236d7874e3b28ae86c833f57c7aa3389/lib/hs/thrift.cabal]

 

> Better Haskell Support for Union Types in Thrift
> ------------------------------------------------
>
>                 Key: THRIFT-4005
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4005
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Haskell - Compiler, Haskell - Library
>            Reporter: Isaac Sheff
>            Priority: Minor
>              Labels: features
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> Thrift's Haskell implementation presently expresses union types as product types. While this is sufficient for functionality, and may mirror the way Thrift works under the hood, it requires the programmer to write unnecessary runtime checks and matches to find the filled field, and verify there is precisely one. 
> I propose augmenting the existing Haskell Thrift system with union Haskell types for union Thrift types, and augmenting the interface definitions so the user can define a service in terms of either the legacy product types or the new union types.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)