Skip to content

AD with heterogeneous types in function inputs & outputs #5

@SemanticBeeng

Description

@SemanticBeeng

This is a a request for more information.

Currently, it is only possible to represent functions where all inputs and outputs share a single type. In future iterations, it is possible to extend support for building functions with varying input/output types and enforce constraints on both, using covariant and contravariant type bounds.

This sounds like an important limitation. 🤔

Curious: is there the same limitation in Lantern or Tangent ?

Can see reference to Nexus - very interesting.

When the shape of an N-dimensional array is known at compile-time, we can use type-level integer literals to ensure shape conforming tensor operations (inspired by Nexus and others).

"Kotlin𝛁 supports shape-safe tensor operations by encoding tensor rank as a parameter of the operand’s type signature."

It would very useful to have more details and (ideally) code examples to compare across all three frameworks and advise on future plans to advance. It would be a cool topic for a series of blog posts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions