A final (?) prototype for a refactor of mathjs, culminating the picomath, pocomath, typomath series. Provides an extensible core with "fuzzy" types for its operations, that can at any time generate exact .d.ts file for its current state.
Go to file
Glen Whitney 8dcf74c5d1 refactor: Demonstrate macro generating a generic implementations interface
I swapped in the new macro in source files numbers/predicate.ts,
  Complex/arithmetic.ts, and Complex/predicate.ts. Note that you have
  to specify whether you are reflecting the generic or concrete
  implementations, which in some cases will mean two separate macro calls
  (as in Complex/predicate.ts).

  Also tried out the $$typeMetadata macro in Complex/all.ts; you can see the
  result by building and looking at build/Complex/all.js. It splits things
  up somewhat but we would still need to do a bunch of parsing, so probably
  not worth switching.
2023-10-20 09:05:02 -07:00
etc feat: add build script (#13) 2023-08-23 03:20:10 +00:00
src refactor: Demonstrate macro generating a generic implementations interface 2023-10-20 09:05:02 -07:00
.gitignore feat: add build script (#13) 2023-08-23 03:20:10 +00:00
.npmrc feat: add build script (#13) 2023-08-23 03:20:10 +00:00
LICENSE Initial commit 2022-12-02 14:04:53 +00:00
README.md feat: Runtime type reflection (#17) 2023-10-17 22:02:18 +00:00
package.json5 feat: Runtime type reflection (#17) 2023-10-17 22:02:18 +00:00
pnpm-lock.yaml feat: Runtime type reflection (#17) 2023-10-17 22:02:18 +00:00
tsconfig.json refactor: change Dispatcher class to a closure 2023-10-18 23:10:58 -07:00

README.md

typocomath

A final (?) prototype for a refactor of mathjs, culminating the picomath, pocomath, typomath series. Provides an extensible core with "fuzzy" types for its operations, that can at any time generate exact .d.ts file for its current state.

Convenience scripts:

  • pnpm build -- compile the package
  • pnpm exec -- run the compiled code produced by pnpm build
  • pnpm go -- both of the above in sequence.

Important installation note:

after pnpm install, you must execute npx ts-patch install to activate the ts-macros compiler plugin.