feat: more Complex methods
All checks were successful
/ test (pull_request) Successful in 16s

* Adds associate, conj, multiply, negate, subtract, indistinguishable
  * As a result equal is now supported
  * Adds a check for recursive loops in resolve (a key/signature method
    depending on itself
This commit is contained in:
Glen Whitney 2025-04-24 20:13:35 -07:00
parent 8da23a84be
commit 7daa621571
12 changed files with 182 additions and 21 deletions

View file

@ -1,6 +1,7 @@
import {Returns} from '#core/Type.js'
import {match, Any} from '#core/TypePatterns.js'
export const conj = match(Any, (_math, T) => Returns(T, a => a))
export const square = match(Any, (math, T) => {
const mult = math.multiply.resolve([T, T])
return Returns(mult.returns, a => mult(a, a))