Git Product home page Git Product logo

Comments (4)

Renmusxd avatar Renmusxd commented on August 10, 2024 1

91e98a9 is the first stable large reorganization matching all the above criteria. A few modules have been dropped for now (unfortunately including the some macro support). Slowly working on reintroducing these. the program and wrap_fn/invert_fn macros really need to be rewritten as procedural macros now to properly deal with generics and the stronger type constraints introduced by no longer using the dyn keyword.

from rustqip.

Renmusxd avatar Renmusxd commented on August 10, 2024

After some thought it seems the program! and wrap! / invert_fn! macros need to be significantly rethought. I believe with the strong types in the rewrite (such as no use of dyn) they can't be rewritten as macro_rules! without some significant complexity.

I am slowly learning how to write procedural macros to add these back in, since they are a cornerstone of QOL for this project.

from rustqip.

Renmusxd avatar Renmusxd commented on August 10, 2024

1ab3a11 is the bulk of the program! rewrite, it is now a procedural macro living in a package adjacent to the core qip code. It can be enabled via the "macros" feature. Some of the previously supported modules are gated by this now since they make heavy use of program!

The syntax changed a bit (mostly just additional semicolons and now longer requiring vertical bars where we would have preferred parens or square brackets), I'll update docs soon.

from rustqip.

Renmusxd avatar Renmusxd commented on August 10, 2024

Docs updated in f9940ca - while making the invert macro found a bug in some code from 91e98a9 for making subcircuits. This (further) tells me that I need to work on reintroducing the unit tests before working on any new 1.0 features.

from rustqip.

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.