typocomath/src/experiment/arithmeticInfer.ts

9 lines
236 B
TypeScript

import { typed } from '../generic/infer'
export const square = typed('square', '__infer__', <T>(dep: {
multiply: (a: T, b: T) => T,
unaryMinus: (x: T) => T, // just for the experiment
}): (a: T) => T =>
z => dep.multiply(z, z)
)