Commit Graph

80 Commits

Author SHA1 Message Date
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 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 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 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 c4bfc0eefc Follow improvements through Racket schema impl 2021-05-24 10:10:13 +02:00
Tony Garnock-Jones 1d6956fa55 Move gen-schema.rkt to gen/schema.rkt 2021-05-22 15:52:12 +02:00
Tony Garnock-Jones 9e6743abdc Autogenerate predicate for unions 2021-05-22 15:50:54 +02:00
Tony Garnock-Jones 43b776eb7f Switch to manipulating parsed form of metaschema 2021-05-22 15:47:13 +02:00
Tony Garnock-Jones ebab3fafc5 gen-schema.rkt (initial rendering) 2021-05-22 15:43:29 +02:00
Tony Garnock-Jones 49cba14b4f Initial work on preserves-schema for Racket 2021-05-21 21:44:05 +02:00
Tony Garnock-Jones e4a2503899 The Great Renaming: Pointer -> Embedded 2021-05-17 14:54:06 +02:00
Tony Garnock-Jones c27aa7579e Repair detection of "easily-printable" symbols 2021-03-08 15:31:50 +01:00
Tony Garnock-Jones 532e811894 Introduce pointers 2021-01-29 12:03:28 +01:00
Tony Garnock-Jones 2c5ed693f5 Tool works on multiple inputs now 2021-01-23 22:54:27 +01:00
Tony Garnock-Jones 8459521db5 No more `StreamingTest`s 2021-01-23 22:54:27 +01:00
Tony Garnock-Jones 749747ca05 Remove #:read-annotations?, to ensure a consistent output format from the reader 2021-01-23 22:54:27 +01:00
Tony Garnock-Jones 77fd8e86bf Ah, of course a 0-byte integer has value 0 2021-01-23 22:54:27 +01:00
Tony Garnock-Jones 85fe7b3b07 Update Racket implementation 2021-01-23 22:54:27 +01:00
Tony Garnock-Jones c4f90ef86b Remove placeholders from spec and implementations 5/5
Update Racket implementation: remove placeholders; reject zero-length
streamed binary chunks.
2020-05-28 23:23:19 +02:00
Tony Garnock-Jones 8e0ab95d82 Autodetectability of binary vs text; documented test case schema a little 2020-05-13 12:56:13 +02:00
Tony Garnock-Jones d883ad9a75 Move racket implementation one subdirectory deeper, to allow package name inference to work 2020-04-27 21:07:20 +02:00
Tony Garnock-Jones 0832b94ce9 Optionally-canonicalizing binary output. 2019-10-24 14:35:34 +01:00
Tony Garnock-Jones 2b74100b2a Some coverage of read/write text syntax 2019-08-26 21:03:19 +01:00
Tony Garnock-Jones aa59846ee9 --atob, --btoa 2019-08-23 22:14:02 +01:00
Tony Garnock-Jones a34a4cd20e Stop reading symbols at @ 2019-08-23 22:09:30 +01:00
Tony Garnock-Jones a817fed40d preserves-tool 2019-08-23 22:05:30 +01:00
Tony Garnock-Jones f09067d719 Allow use of strip-annotations and peel-annotations as identifiers 2019-08-23 22:00:52 +01:00