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
6492ffda90 fix: typo in .gitignore 2023-01-21 20:25:55 -05:00
637e339b17 refactor: clarify implementation names in sqrt
Also removes some obsolete comments
2023-01-21 20:21:05 -05:00
bd05dc9267 chore: make SignatureKey generic instead of using unknown 2023-01-04 14:32:44 +01:00
e468ec72dd chore: rephrase two todo's 2023-01-04 14:32:17 +01:00
0ea786dcc2 chore: show how to inject multiple instances of the same function (WIP) 2023-01-04 14:06:30 +01:00
d147d0a576 chore: implement AliasOf 2023-01-04 12:35:37 +01:00
1b9d6b6428 chore: use direct function definitions instead of { params, returns } 2023-01-04 12:28:24 +01:00
a0b21181e6 chore: rename OpType to Signature 2023-01-04 12:12:28 +01:00
63c2d448c1 docs: describe how to run the prototype 2023-01-04 12:03:31 +01:00
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
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
74e2aef524 refactor: tighter universal interface types 2022-12-24 00:41:35 -05:00
a5848125e4 fix and test absquare for quaternion 2022-12-23 17:18:24 +01:00
60ce6212b4 convert code to type aliases 2022-12-23 13:52:56 +01:00
04024a2a8d fix a TS issue 2022-12-23 12:22:41 +01:00
cbd1719227 experiment: convert all implementations to plain types 2022-12-23 11:27:39 +01:00
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
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
d55776655f refactor: Convenience type operator for specifying concrete signatures 2022-12-21 11:41:25 -05:00
1eb73be2fa refactor: entirely new scheme for specifying return types 2022-12-21 00:18:42 -05:00