Commit Graph

503 Commits

Author SHA1 Message Date
Tony Garnock-Jones 8f1a83e548 Avoidance of hardcoded use of IOValue in Embedded reading 2021-07-05 12:00:05 +02:00
Tony Garnock-Jones 41fe3c3440 A new approach to embedded-parameterised Reader 2021-07-04 17:16:13 +02:00
Tony Garnock-Jones 64ff818cd1 Fixes in handling of embeddeds 2021-07-03 23:11:41 +02:00
Tony Garnock-Jones 83d15a838e Remove mostly-useless Domain methods 2021-07-03 23:10:43 +02:00
Tony Garnock-Jones 0fb1ef4efd Repair error in schema include 2021-07-03 16:27:50 +02:00
Tony Garnock-Jones c04447d62a Fixes & tweaks wrt Domain/Embedded/Embeddable 2021-07-03 09:00:05 +02:00
Tony Garnock-Jones c7b252ca9d More TryFrom<&SignedInteger> implementations 2021-07-03 08:59:22 +02:00
Tony Garnock-Jones 6143ddc93d NestedValue new() method for easy wrapping 2021-07-03 08:59:03 +02:00
Tony Garnock-Jones c70035b044 Avoid name clash 2021-07-02 16:24:16 +02:00
Tony Garnock-Jones 297d1d39eb Domain -> Embedded/Embeddable 2021-07-02 08:00:37 +02:00
Tony Garnock-Jones 8b7baec26b PreDomain 2021-07-02 07:49:13 +02:00
Tony Garnock-Jones 23943f8b14 ModuleContextMode::TargetIOValue, ModuleContextMode::TargetAny 2021-07-02 07:48:52 +02:00
Tony Garnock-Jones 8cafcbcaf1 Bump rust versions for release 2021-06-30 16:19:27 +02:00
Tony Garnock-Jones 70990d2371 Better names for literal constants 2021-06-30 16:07:49 +02:00
Tony Garnock-Jones 7c4cf38110 snake_case for module names 2021-06-30 15:55:42 +02:00
Tony Garnock-Jones 569563a564 Better error handling; use domains correctly 2021-06-30 15:50:50 +02:00
Tony Garnock-Jones aea230b056 Switch back to parsing/unparsing from IOValue 2021-06-30 15:18:20 +02:00
Tony Garnock-Jones 00759673ce Arc at ref boundaries 2021-06-30 15:06:28 +02:00
Tony Garnock-Jones 5b9c4d29f6 impl Domain for Arc<D: Domain> 2021-06-30 15:05:57 +02:00
Tony Garnock-Jones 17d8d076ec make test target 2021-06-30 15:05:44 +02:00
Tony Garnock-Jones e882d5a4df Aftershocks of Float/Double changes 2021-06-30 10:14:29 +02:00
Tony Garnock-Jones fc8709706c Cleanups; make as_float etc return Float, add as_f32 etc 2021-06-30 10:10:38 +02:00
Tony Garnock-Jones 3156180601 IOValue -> _Any = ArcValue<_Ptr> 2021-06-30 09:53:32 +02:00
Tony Garnock-Jones f1d403a6a7 Fallible from_preserves 2021-06-30 09:52:16 +02:00
Tony Garnock-Jones d69787e5ee Module aliases and embedded pointer types 2021-06-29 23:19:22 +02:00
Tony Garnock-Jones c3bc678a46 Better compiler API 2021-06-29 22:32:35 +02:00
Tony Garnock-Jones dd9e190bed More metadata 2021-06-29 20:31:28 +02:00
Tony Garnock-Jones 01e8e2c279 Include both a path and a version 2021-06-29 20:30:21 +02:00
Tony Garnock-Jones e4392ea2d5 Bump rust preserves version 2021-06-29 20:27:11 +02:00
Tony Garnock-Jones aa1c983acc Unparsers 2021-06-29 16:54:29 +02:00
Tony Garnock-Jones 5c2d12971d Better idioms 2021-06-28 22:38:30 +02:00
Tony Garnock-Jones 9c4be54be1 Bootstrap Rust preserves-schema 2021-06-28 22:25:41 +02:00
Tony Garnock-Jones 7546ba29ad Avoid quite a bit of boxing 2021-06-28 17:26:41 +02:00
Tony Garnock-Jones c7dbbdc178 Small fixes 2021-06-28 17:08:44 +02:00
Tony Garnock-Jones 4144a90b9d Initial commit (several days' worth) 2021-06-28 16:35:45 +02:00
Tony Garnock-Jones 60d1be41a3 Rename NamedSimplePattern_ -> Binding 2021-06-25 10:25:26 +02:00
Tony Garnock-Jones fdb43f6292 Constrain names/identifiers in schemas to be lowest-common-denominator. 2021-06-25 09:45:07 +02:00
Tony Garnock-Jones da513a249e Allow void to be `->preserve`able 2021-06-17 15:26:43 +02:00
Tony Garnock-Jones f808e37e89 Fix very stupid mistake in order.rkt 2021-06-16 21:36:09 +02:00
Tony Garnock-Jones f12343e723 Add missing *->preserve coercions during unparsing 2021-06-10 10:01:04 +02:00
Tony Garnock-Jones 0d4d1e738c Coerce integers to floats/doubles during unparse 2021-06-09 20:02:06 +02:00
Tony Garnock-Jones feb6361029 I forgot embedded! 2021-06-08 16:15:53 +02:00
Tony Garnock-Jones 27002dfe7f Always use wrapper struct 2021-06-08 15:50:29 +02:00
Tony Garnock-Jones e5b6c46169 Time reader self-test 2021-06-08 15:34:33 +02:00
Tony Garnock-Jones 6cecf64df5 Move toward being user-facing rather than plugin-facing 2021-06-08 15:34:25 +02:00
Tony Garnock-Jones 7acf7c5b40 Generic-method based unparsing; prelude to generic pattern-formation 2021-06-08 15:26:32 +02:00
Tony Garnock-Jones 0bcb4e64ec Add struct ty-field for better structure in ty-records 2021-06-08 09:56:04 +02:00
Tony Garnock-Jones 30bcc1a50b Fix embedded (un)parsing to rely on the reader 2021-06-08 09:27:03 +02:00
Tony Garnock-Jones a4d61017d8 Repair error wrt `float` struct test 2021-06-08 09:26:35 +02:00
Tony Garnock-Jones ade9b0a0f1 map-embeddeds 2021-06-08 09:26:10 +02:00
Tony Garnock-Jones f93d329f48 Small optimization 2021-06-08 09:25:52 +02:00
Tony Garnock-Jones c05180c492 Some tool docs; improve help message of preserves-tool 2021-06-04 17:47:16 +02:00
Tony Garnock-Jones 139f4ff08b Accept parameters in #lang preserves-schema lines 2021-06-03 23:23:22 +02:00
Tony Garnock-Jones 53bd5a1a7e Escape schema names with ? instead of $ 2021-06-02 12:35:56 +02:00
Tony Garnock-Jones b968f77ff6 Provide fold-Schema-definitions and map-Schema-definitions 2021-06-02 12:35:33 +02:00
Tony Garnock-Jones bd68786f1c Schema compiler plugins 2021-06-02 06:56:44 +02:00
Tony Garnock-Jones 64696ac184 Publish
- @preserves/core@0.17.0
 - @preserves/schema@0.16.0
2021-06-01 16:54:23 +02:00
Tony Garnock-Jones 7683a64a5b Repair Racket schema reader 2021-06-01 16:53:21 +02:00
Tony Garnock-Jones 498c63ef67 Repair embedded reading; and preserve annotations in generic embedded values 2021-06-01 16:46:23 +02:00
Tony Garnock-Jones 9014a0ffb8 Publish
- @preserves/schema@0.15.0
2021-06-01 16:10:51 +02:00
Tony Garnock-Jones 8d96743d53 Redo schema embedded value patterns to use embedded syntax and an interface schema 2021-06-01 16:10:04 +02:00
Tony Garnock-Jones b23acdaf5a Default to text output from preserves-tool 2021-06-01 15:37:45 +02:00
Tony Garnock-Jones 947b816a57 Improve error-handling in Racket schema reader 2021-05-28 20:06:46 +02:00
Tony Garnock-Jones b69c3a0894 Avoid name clashes with :parse-embedded and :embedded->preserves 2021-05-28 10:33:28 +02:00
Tony Garnock-Jones d7bf235813 Avoid use of void so much 2021-05-27 09:54:11 +02:00
Tony Garnock-Jones ab12c6535f Simpler embedded parsing/unparsing 2021-05-27 09:53:55 +02:00
Tony Garnock-Jones 534018e3a4 batch-compile 2021-05-27 09:52:58 +02:00
Tony Garnock-Jones 264c4b9d2e Repair integer parsing 2021-05-27 00:28:42 +02:00
Tony Garnock-Jones 87e816306d Better import failure error reporting 2021-05-26 23:27:55 +02:00
Tony Garnock-Jones 5470497aa2 Update gen/schema.rkt 2021-05-26 23:16:49 +02:00
Tony Garnock-Jones f90544d807 Code generator tool; handle module references and embeddeds 2021-05-26 23:15:49 +02:00
Tony Garnock-Jones cb88c587b6 Include a copy of samples.pr so that tests run OK on the buildserver 2021-05-26 21:11:45 +02:00
Tony Garnock-Jones e6efd03be7 Introduce explicit embedded wrapper 2021-05-26 21:09:06 +02:00
Tony Garnock-Jones 90ce0a544d The Racket preserves package needs a local copy of schema.prs for the package-builder to work. Use a git hook to keep it in sync with the master copy 2021-05-26 14:27:03 +02:00
Tony Garnock-Jones 7ab12108e4 Inline reader module; add port->preserves 2021-05-26 13:56:37 +02:00
Tony Garnock-Jones e4f7219dc6 Publish
- @preserves/schema@0.14.1
2021-05-25 20:15:18 +02:00
Tony Garnock-Jones 98e2511fe1 #lang preserves-schema 2021-05-25 20:14:10 +02:00
Tony Garnock-Jones 460529e1c7 Clean up language wrt invertibility/"bijection" 2021-05-25 20:13:02 +02:00
Tony Garnock-Jones 52bc77c9d7 Publish
- @preserves/schema@0.14.0
2021-05-25 11:08:27 +02:00
Tony Garnock-Jones 49efc76580 Racket Preserves Schema reader implementation 2021-05-25 11:07:37 +02:00
Tony Garnock-Jones a24a5b19f5 Regenerate metaschema 2021-05-25 11:06:40 +02:00
Tony Garnock-Jones eeb84ad669 Sort emitted entries; add throwing parser variant 2021-05-25 11:06:30 +02:00
Tony Garnock-Jones 6c9071fd88 Optionally omit commas when writing preserves 2021-05-25 11:05:16 +02:00
Tony Garnock-Jones 8b2aa0fb87 preserve=? 2021-05-25 11:05:03 +02:00
Tony Garnock-Jones 5c644624c4 detect-preserve-syntax, file->preserves 2021-05-25 11:04:51 +02:00
Tony Garnock-Jones 163e338ce5 Name is already always supplied, no need to add it 2021-05-25 11:04:29 +02:00
Tony Garnock-Jones 4ed8fd2c92 Add "annotations" procedure 2021-05-25 11:02:36 +02:00
Tony Garnock-Jones 669d1b480d Name is already always supplied, no need to add it 2021-05-25 11:01:55 +02:00
Tony Garnock-Jones 7d06c7dce0 Repair dict "named" generation 2021-05-25 10:49:35 +02:00
Tony Garnock-Jones bdd699ae9f Deterministic hash ordering for Racket CompoundPattern-dict 2021-05-24 17:46:50 +02:00
Tony Garnock-Jones 33a80533fa Checker for Racket 2021-05-24 12:47:44 +02:00
Tony Garnock-Jones 1ca796e6aa Publish
- @preserves/schema@0.13.0
2021-05-24 12:05:44 +02:00
Tony Garnock-Jones 4914c8cd68 Move type/gentype back into compiler where it belongs 2021-05-24 12:05:02 +02:00
Tony Garnock-Jones 46d76dfca7 Redo bijection checking without using gentype 2021-05-24 12:03:04 +02:00
Tony Garnock-Jones 0db223ede8 More tests, and variant label duplicate check 2021-05-24 11:53:25 +02:00
Tony Garnock-Jones 52be118dc7 A few more tests 2021-05-24 11:32:29 +02:00
Tony Garnock-Jones a1fdddcf7b Simple tests; more exports 2021-05-24 11:27:46 +02:00
Tony Garnock-Jones e594d22d09 Publish
- @preserves/core@0.16.0
 - @preserves/schema@0.12.0
2021-05-24 10:40:50 +02:00
Tony Garnock-Jones aaee62044c Lerna for convenient package collection scripting 2021-05-24 10:39:23 +02:00
Tony Garnock-Jones 9bdfc4c3ab Split compute from report 2021-05-24 10:16:00 +02:00