Comments (2)
I'm drastically increasing the scope of this ticket, from simply fixing this error to a complete revamp of the C++ binding. The reason for this is because I'd rather not spend time on fixing the C++ binding as is.
The current implementation is a prototype through which I was able to research different strategies for mapping the type system to C++. As such the current binding has some good ideas and it "proofs the concept" but it is nowhere near complete. As a result, code written with this binding too often needs to break the C++ abstraction to get something done.
The design goals for the C++ binding are to achieve:
- An as close as possible mapping from the Hyve type system to C++. Code written with the C++ language binding should look as much as possible like idiomatic C++ code.
- The API should be stateless. This means that the C++ objects refer and "wrap" hyve objects. They don't copy values between C and C++. Translation to C++ "native" types will be done by accessor methods. This by the way poses an interesting design challenge for collections.
- The C++ binding should be generated from the type system wherever possible. Metaprocedures in particular could potentially enable a language binding that is fully generated using hyve C++ code generators. This would be incredibly advantageous since the only thing that would need to be maintained would be the code generators. The current prototype generates most of the code, though some of it is manual.
from corto.
Issues of C++ binding will be captured on cortoproject/cpp
repository.
from corto.
Related Issues (20)
- Don't create objects when serializing between content types
- Add C++ template functions for enabling compile-time type safety
- Incorrect Environment Variables causing Installation Failure
- Serializer framework should support relative object identifiers
- Enable selecting/subscribing for unknown objects
- Add a strict option for serializers
- Add support for lazy evaluation of references HOT 1
- Add option to disable alignment of existing objects to subscribers
- Recursive query on a mount from parent of mountpoint produces incorrect results
- Standalone deployment mode
- Not providing initial '/' in type filter works for corto_select, but not for corto_subscribe filter
- Implement by-value and by-reference semantics in corto_value API
- Aliasing a member from a non-hidden base class does not fail until code generation
- Create API for determining initializer order of members HOT 1
- Support dot notation for resolving objects
- Corto observer invalid when notifying during shutdown
- Add support for objective state, observable/optional members to corto_rw API
- Primitive reference type crashes corto_value_binaryOp HOT 2
- Add support for singleton members
- How can the Corto team ease the learning curve for new users?
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 corto.