Declare implementations and dependencies via standard interfaces for operations #8

Merged
glen merged 20 commits from approach4.6 into main 2023-01-22 01:34:57 +00:00

20 Commits

Author SHA1 Message Date
Glen Whitney 6492ffda90 fix: typo in .gitignore 2023-01-21 20:25:55 -05:00
Glen Whitney 637e339b17 refactor: clarify implementation names in sqrt
Also removes some obsolete comments
2023-01-21 20:21:05 -05:00
Jos de Jong bd05dc9267 chore: make SignatureKey generic instead of using unknown 2023-01-04 14:32:44 +01:00
Jos de Jong e468ec72dd chore: rephrase two todo's 2023-01-04 14:32:17 +01:00
Jos de Jong 0ea786dcc2 chore: show how to inject multiple instances of the same function (WIP) 2023-01-04 14:06:30 +01:00
Jos de Jong d147d0a576 chore: implement `AliasOf` 2023-01-04 12:35:37 +01:00
Jos de Jong 1b9d6b6428 chore: use direct function definitions instead of `{ params, returns }` 2023-01-04 12:28:24 +01:00
Jos de Jong a0b21181e6 chore: rename `OpType` to `Signature` 2023-01-04 12:12:28 +01:00
Jos de Jong 63c2d448c1 docs: describe how to run the prototype 2023-01-04 12:03:31 +01:00
Glen Whitney 6d63d23498 refactor: Streamline types and signature specfications
The main mechanism for simplification was simply to assume that
  ZeroType<T> and OneType<T> will always be in T. That removed a lot
  of specialized typing, and presumably will be true in practice.

  Otherwise, removes extraneous type definitions and adds/clarifies
  a number of comments to hopefully make the scheme as clear as possible.
2022-12-24 11:16:58 -05:00
Glen Whitney 072b2a1f79 refactor: Streamline publishing operations
Avoids clumsy naming properties by making the names the keys in
  an interface to which the signatures of all operations must be
  published. This also reduces the number of different symbols and
  avoids long lists of imports in the modules implementing multiple
  operations, which were redundant with the list of functions
  exported from such modules.
2022-12-24 10:09:14 -05:00
Glen Whitney 74e2aef524 refactor: tighter universal interface types 2022-12-24 00:41:35 -05:00
Jos de Jong a5848125e4 fix and test absquare for quaternion 2022-12-23 17:18:24 +01:00
Jos de Jong 60ce6212b4 convert code to type aliases 2022-12-23 13:52:56 +01:00
Jos de Jong 04024a2a8d fix a TS issue 2022-12-23 12:22:41 +01:00
Jos de Jong cbd1719227 experiment: convert all implementations to plain types 2022-12-23 11:27:39 +01:00
Glen Whitney 8c06c8f36e feat: Add generic operation `square` and numeric `unequal` (#4)
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #4
2022-12-22 16:12:36 +00:00
Glen Whitney fbec410c42 feat: Implement complex arithmetic through sqrt
Together with any auxiliary functions needed for that goal. Also
  strives to ensure the same functions are being defined for
  number and for `Complex<T>`.
2022-12-22 00:14:58 -05:00
Glen Whitney d55776655f refactor: Convenience type operator for specifying concrete signatures 2022-12-21 11:41:25 -05:00
Glen Whitney 1eb73be2fa refactor: entirely new scheme for specifying return types 2022-12-21 00:18:42 -05:00