Commit Graph

24 Commits

Author SHA1 Message Date
79f261ff65 Merge pull request 'feat(Types): Improve type spec and ignore signatures that use unknown type' (#23) from forgiving_types into main
Reviewed-on: #23
2022-07-24 19:53:40 +00:00
358f68fbbd feat(Types): Improve type spec and ignore signatures that use unknown type 2022-07-24 12:52:23 -07:00
890752a1e7 Merge pull request 'feat: Switch to function-based specification of dependencies' (#22) from ultimate_notation into main
Reviewed-on: #22
2022-07-23 16:59:21 +00:00
9fb3aa2959 feat: Switch to function-based specification of dependencies
Allows dependencies to be economically expressed and used.
  For example, see the new definition of subtract.
  Credit for the basic idea goes to James Drew, see
  https://stackoverflow.com/a/41525264

  Resolves #21.
2022-07-23 09:55:02 -07:00
d72c443616 feat: Add and illustrate multiple ways of specifying implementations (#19)
Resolves #9.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #19
2022-07-23 05:06:48 +00:00
4fdafc751e feat: Add a couple of ways to install generics safely. (#18)
Resolves #10.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #18
2022-07-23 02:41:59 +00:00
2a60cc0989 Merge pull request 'refactor: Use Object.defineProperty with a getter to invalidate' (#17) from no_invalid into main
Reviewed-on: #17
2022-07-22 22:09:17 +00:00
e6699ce642 refactor: Use Object.defineProperty with a getter to invalidate
Rather than setting a dummy function; this avoids anyone ever storing
  a dummy function.

  Resolves #8.
2022-07-22 15:06:56 -07:00
4a2d53a68a Merge pull request 'fix: Prevent PocomathInstance from clobbering its own methods' (#16) from protect_reserve into main
Reviewed-on: #16
2022-07-22 21:29:17 +00:00
b72212d929 fix: Prevent PocomathInstance from clobbering its own methods
Resolves #6.
2022-07-22 14:25:26 -07:00
0069597a76 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
2022-07-22 20:49:14 +00:00
ed71b15969 Merge pull request 'fix: Avoid files that differ just by case' (#12) from no_case_duplicates into main
Reviewed-on: #12
2022-07-22 16:47:09 +00:00
664f30ddef fix: Avoid files that differ just by case 2022-07-22 09:45:58 -07:00
89f4977e78 doc: Move an incorrectly placed comment 2022-07-20 02:57:46 +00:00
9a63389a4c doc: Fix a couple of typos in README 2022-07-20 02:53:29 +00:00
a16d6a5ce3 feat: Add all remaining features of original Picomath PoC (#5)
Namely, a README describing the proof-of-concept,
  a custom selective loader, and some additional tests.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #5
2022-07-19 19:37:52 +00:00
84a8b9d5c4 feat: Allow self-reference in implementations (#4)
This PR also uses such self-reference to define negate and add
  for Complex numbers in a way that is independent of component types.

  Also adds a bigint type and verifies that pocomath will then handle
  Gaussian integers "for free".

  Ensures that if one function is invalidated, then any that depend on it will be.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #4
2022-07-19 18:54:22 +00:00
77b04fbdbb Merge pull request 'feat: Add complex numbers' (#3) from complex into main
Reviewed-on: #3
2022-07-19 16:55:24 +00:00
b82336e590 feat: Add complex numbers
No negation (and therefore no subtraction) since that needs self-reference.
2022-07-19 09:52:16 -07:00
b59a8c2ca9 feat: Allow nonrecursive whole-function dependencies (#2)
And implement negate on numbers, and use dependencies to define subtract.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #2
2022-07-19 03:10:55 +00:00
f5e2e09aa2 Merge pull request 'feat: First operational instance with just add' (#1) from init_operation into main
Reviewed-on: #1
2022-07-19 00:11:11 +00:00
c5384e0ee7 feat: First operational instance with just add 2022-07-18 17:08:49 -07:00
cb016474ec chore: Initialize project with pnpm 2022-07-18 15:33:08 -07:00
711b9e726f Initial commit 2022-07-18 22:10:03 +00:00