You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (JIRA)" <ji...@apache.org> on 2016/01/28 22:50:40 UTC

[jira] [Commented] (THRIFT-3582) Erlang libraries should have service metadata

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

Jens Geyer commented on THRIFT-3582:
------------------------------------

Thanks for the link. 

{quote}
Thrift's Erlang implementation isn't very pleasant to use in Elixir. It prefers records to structs, littering your code with tuples. It swallows enumerations you've defined, banishing them to the realm of wind and ghosts. It requires that you write a bunch of boilerplate handler code, and client code that's not very Elixir-y. Riffed fixes this.
{quote}

Aside from using Riffed, is there any chance that some of the stuff can be contributed back to Thrift to improve the "unpleasant to use" Erlang bindings? Is this even possible? What would you say?

> Erlang libraries should have service metadata
> ---------------------------------------------
>
>                 Key: THRIFT-3582
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3582
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Erlang - Compiler
>    Affects Versions: 0.9.3
>            Reporter: Steve Cohen
>            Priority: Critical
>              Labels: patch
>         Attachments: thrift-3582_add_erlang_metadata.patch
>
>
> The generated erlang libraries make heavy use of service metadata to function, but omit key aspects of the thrift service, such as the names of the generated functions, enums and structs. 
> Not having these metadadata makes writing libraries much more difficult.  The included patch adds these metadata. It will make projects like http://github.com/pinterest/riffed/ much better. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)