fix: Separate typed instance for each PocomathInstance (#15)

Also starts each PocomathInstance with no types at all, and uses the new
  situation to eliminate the need for a Complex "base case".

  Resolves #14.
  Resolves #13.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #15
This commit is contained in:
Glen Whitney 2022-07-22 20:49:14 +00:00
parent ed71b15969
commit 0069597a76
25 changed files with 120 additions and 74 deletions

View file

@ -0,0 +1,3 @@
export const Types = {
bigint: {test: b => typeof b === 'bigint'}
}

5
src/bigint/add.mjs Normal file
View file

@ -0,0 +1,5 @@
export {Types} from './Types/bigint.mjs'
export const add = {
'...bigint': [[], addends => addends.reduce((x,y) => x+y, 0n)],
}

4
src/bigint/all.mjs Normal file
View file

@ -0,0 +1,4 @@
export {Types} from './Types/bigint.mjs'
export {add} from './add.mjs'
export {negate} from './negate.mjs'
export {subtract} from '../generic/subtract.mjs'

3
src/bigint/negate.mjs Normal file
View file

@ -0,0 +1,3 @@
export {Types} from './Types/bigint.mjs'
export const negate = {bigint: [[], b => -b ]}