Ticket #469 (assigned task)

Opened 3 years ago

Last modified 3 years ago

Dependency graph for output of types and utility code

Reported by: dagss Owned by: dagss
Priority: major Milestone: wishlist
Component: Code Generation Keywords:
Cc:

Description

As the builtin/"utility code" types of Cython becomes more complex, the current way of building up the output is too naive. Current behaviour:

  • Output stream is divided into coarse-grained blocks
  • Within each block, the order of type declarations are relied upon

For complex numbers, memoryviews, etc., this is ugly or even insufficient. It would be better to store the full type DAG, and walk it to output declarations in the right order.

Utility code could make use of the same DAG, so that utility code could depend on types and vice versa.

Change History

Changed 3 years ago by dagss

  • type changed from defect to task

Changed 3 years ago by dagss

  • owner changed from somebody to dagss
  • status changed from new to assigned

Changed 3 years ago by robertwb

  • milestone changed from 0.13 to wishlist

It would also be interesting how much of this boilerplate could be shared across modules in a single .h file (e.g. during multi-file compilation).

Bumping this to wishlist, as it would be nice to have but not essential and I don't see any recent progress.

Note: See TracTickets for help on using tickets.