breandan / kotlingrad

🧩 Shape-Safe Symbolic Differentiation with Algebraic Data Types

Home Page:https://breandan.net/public/masters_thesis.pdf#page=49

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gradual typing

breandan opened this issue · comments

Currently, Kotlin∇ requires declaring all type and shape information at compile time. It should be possible to relax this constraint to support more flexible prototyping. To implement this feature, we would need to introduce an untyped class hierarchy to the DSL. Bidirectional operator overloads could be used to translate to and from the typed and untyped hierarchies. The semantics for these conversions must be thought out more carefully, but essentially would not be dissimilar to the existing operators for dimension switching, i.e. between scalar, vector and matrix functions.

References