Git Product home page Git Product logo

Comments (2)

SanderMertens avatar SanderMertens commented on June 14, 2024

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.

SanderMertens avatar SanderMertens commented on June 14, 2024

Issues of C++ binding will be captured on cortoproject/cpp repository.

from corto.

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.