Comments (3)
Hi Kamal!
I suppose some benefits that libsyntax might provide are:
- The ability to avoid an extra code generation step (I think this is what @cmr was hinting at in capnproto/capnproto-rust#11).
- Extra static error checking.
- 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.
++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.
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)
- Need more info in log HOT 1
- support Cap'n Proto generics HOT 17
- Premature EOF Error when running the example. HOT 5
- Compiling the example fails with "Premature EOF" HOT 4
- from FromPointerBuilder issue HOT 2
- Importing schemas from other crates is awkward HOT 2
- generics in superclass can cause compilation failure
- How to build a list inside an union? HOT 3
- Add #![allow(dead_code)] in generated *.rs files HOT 2
- When a schema is in a subdirectory generate fails to create output directory HOT 2
- shared memory implementation - need help HOT 1
- default values for pointer fields are unsupported HOT 5
- capnpc panics when function argument contains an underscore HOT 1
- List(Interface) is unsupported HOT 1
- How to get to Builder from Reader? HOT 3
- Trying to return a union - Help needed HOT 1
- Serde support HOT 1
- File creation errors when the .capnp file is not in the current directory. HOT 2
- Hard-coded /bin/cat HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from capnpc-rust.