JuliaDiff / JuliaDiff/ChainRules.jl

Roadmap to v2

Open
#130 0 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
475
Forks
98
PR merge metrics
No merged PRs in 30d

Description

Many repos have a roadmap to v1.
This plan goes a little further.

The idea is:

ChainRules/ChainRulesCore v1:

  • It pragmatically works.
  • It is completely usable, and is in use by multiple AutoDiff systems by the time we tag v1.
  • But it might play fast and lose with the math, like it will probably keep something like the current defintion of AbstractDifferential, which conflates the idea of scaling and adding.
  • It has some edge cases that we just bail out on and don't handle representing. This may include complex deriviatives, and it probably will include mutation/nonpure functions.
  • It will support Julia 1.0

ChainRules/ChainRulesCore v2:

  • The math will be tighter
  • After a while of use in public we will have identified the actual edge cases that matter of things we can't represent. and it will be enhanced to support those
  • It may not support julia 1.0, e.g. might depend on features added in 1.3

This roadmap needs some refining,
but this was the big picture @willtebbutt and I were talking about

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reviewing the existing ChainRules/ChainRulesCore v1 scope and Julia-version support, then refine the broad v2 goals into concrete changes and acceptance criteria before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.