Giter VIP home page Giter VIP logo

Comments (3)

dwrensha avatar dwrensha commented on June 23, 2024

Hi Kamal!

I suppose some benefits that libsyntax might provide are:

  1. The ability to avoid an extra code generation step (I think this is what @cmr was hinting at in capnproto/capnproto-rust#11).
  2. Extra static error checking.
  3. Nice pretty printing.

Am I missing anything?

Cargo's support for code generation in build scripts lessens the weight of (1). The other benefits would be nice to have, but it seems like using libsyntax to achieve them would bring a significant cost in terms of verbosity.

It also appears that syntex has not been maintained for the past two months, so you'd first need to bring it up to date.

Perhaps I could interest you in taking on some other project relating to capnproto-rust? :)

Two things that would be really cool to support are generics and a dynamic API. I think that the key to implementing both of these features will be to port the schema and schema-loader implementations from capnproto-c++.

Another goal of mine is to eliminate our uses of unsafe in the capnp runtime library. Last I counted, there were something like 160 such uses. We should be able to get that down to zero without paying too much performance penalty.

Also, now that libgreen is dead, we need to figure out a better concurrency story for capnp-rpc-rust, possibly using mio.

Or, lest these biggish projects scare you away, you could get your feet wet by fixing a smallish bug such as capnproto/capnproto-rust#31. And that reminds that yet another fun project might be to try fuzz testing capnproto-rust with American Fuzzy Lop.

from capnpc-rust.

kamalmarhubi avatar kamalmarhubi commented on June 23, 2024

++features, ++security are definitely fine with me. I hadn't looked too much into the AST-generation code to decide if it had value; I just don't like mashing strings together. I'll take a look around!

from capnpc-rust.

kamalmarhubi avatar kamalmarhubi commented on June 23, 2024

Closing this since it sounds like you don't consider it terribly desirable. I 'd also prefer not to have to take on maintainership of another project to get this done.

from capnpc-rust.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.