You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2009/12/18 09:47:18 UTC

[jira] Commented: (AVRO-258) Higher-level language for authoring schemata

    [ https://issues.apache.org/jira/browse/AVRO-258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12792391#action_12792391 ] 

Todd Lipcon commented on AVRO-258:
----------------------------------

Here's the "Simple" example in my made-up language:

{noformat}
protocol Simple {
  enum Kind {
    FOO,
    BAR,
    BAZ
  }
  
  fixed MD5(16);

  record TestRecord {
    @order("ignore")
    string name;

    @order("descending")
    Kind kind;

    MD5 hash;
  }

  error TestError {
    string message;
  }
}
{noformat}

Currently I'm parsing this with JavaCC, but not generating any schema or AST or anything. I think the next steps are:
 - See if people like the above style (and this idea at all)
 - Make the parser actually generate a Schema object
 - Dump that Schema object to JSON

I'm proposing this as a way for developers to author and generate schemas, and do *not* expect that each language binding would have to implement a parser. We could keep the authoritative high-level-language code in Java. This has a side benefit of being able to do some semantic checking of schemata, too.

> Higher-level language for authoring schemata
> --------------------------------------------
>
>                 Key: AVRO-258
>                 URL: https://issues.apache.org/jira/browse/AVRO-258
>             Project: Avro
>          Issue Type: New Feature
>          Components: spec
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>
> Early users of Avro have noted that authoring schemas and especially protocols in JSON feels unnatural. This JIRA is to work on a higher-level language that feels more like defining interfaces and classes in Java/C/etc.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.