Skip to content
This repository has been archived by the owner on Jul 17, 2024. It is now read-only.

chore: Implement IncrementalScoreCalculator using classes instead of decorators #41

Merged
merged 1 commit into from
Apr 25, 2024
Merged

chore: Implement IncrementalScoreCalculator using classes instead of decorators #41

merged 1 commit into from
Apr 25, 2024

Conversation

Christopher-Chianelli
Copy link
Collaborator

  • Since there can only be one function signature in Python, and Java allows many, it might be the case that the top function signature in Python does not match its parent's function signature. Since the interface calls the parent's function signature, the wrong method would be called. To prevent this, we need to look up the 'canonical' method of the type, which is conveniently stored as an attribute on the type.

  • Fix a bug in function get descriptor; in particular, when called on a type, it should return the unbounded function instead of binding the function to the type.

  • Make the ABC check less strict. In particular, only collections.abc and Protocol are banned, since collections.abc contain classes that should be Protocols but are instead ABC, and Protocols only define the structure and do not play a part in type hierarchy.

…decorators

- Since there can only be one function signature in Python, and Java
  allows many, it might be the case that the top function signature
  in Python does not match its parent's function signature. Since
  the interface calls the parent's function signature, the wrong
  method would be called. To prevent this, we need to look up
  the 'canonical' method of the type, which is conveniently stored
  as an attribute on the type.

- Fix a bug in function __get__ descriptor; in particular, when called
  on a type, it should return the unbounded function instead of binding
  the function to the type.

- Make the ABC check less strict. In particular, only collections.abc
  and Protocol are banned, since collections.abc contain classes that
  should be Protocols but are instead ABC, and Protocols only define
  the structure and do not play a part in type hierarchy.
@Christopher-Chianelli Christopher-Chianelli merged commit 5e8c0bd into TimefoldAI:main Apr 25, 2024
3 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants