Lyndon White (@oxinabox) is a research software engineer at Invenia Labs (Cambridge, UK). He helps researchers use machine learning, constrained optimization, and generally tools from the technical computing domain to optimize the power grid. He get to do all the best parts of being a software developer and all the best parts of being a researcher, its great.
He works a lot on the Julia AutoDIff code, and is the leader of the ChainRules project.
Have you ever had a list of
Methods, e.g. from the output of
methodswith, and thought ”I just want to implement all of these, it would be great to use metaprogramming for that”?
ExprTools.jl has the parts to let you extract the info out of the method table, manipulate it, and then generate the AST you want for the new method you want to define.
Does this access undocumented Julia internals? Absolutely!
Is this well tested? Comprehensively!
Is this a good idea? Who knows!
This is the second of two BoFs planned several years ago, to replace AxisArrays.jl.
Per the original plan, we would go away and make many packages to try many ideas. Come back and touch base in 2020, and then draw conclusions in 2021.
The goal this year is to determine a final plan to either get down to a small number of packages, or establish a common interface.