Commit Graph

24 Commits

Author SHA1 Message Date
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
3fa216d1f4 refactor: Major simplification in providing implementation types (#2)
This PR is an effort to address #1. It removes all boilerplate
  from individual implementation files, and moves it into
  a small, fixed section in the single `all.ts` module for each
  type that collects up all of the implementations relating
  to that type.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #2
2022-12-19 23:50:24 +00:00
29bcab1639 style: whitespace fixes 2022-12-19 17:14:26 -05:00
ccc6153786 feat: TypeScript typings for Dispatcher implementations
A first pass at specifying some implementations in TypeScript
  that actually compiles. It doesn't do anything, as installing
  types and operation specifications are currently dummy operations,
  but they are all invoked.
2022-12-06 20:21:05 -05:00
2a9039ac67 experiment: Can't put code in declare sections :-) 2022-12-06 12:10:18 -05:00
78f3975d54 chore: pnpm init and add TypeScript 2022-12-02 09:15:25 -05:00
215a36a847 Initial commit 2022-12-02 14:04:53 +00:00