Commit Graph

883 Commits

Author SHA1 Message Date
Tony Garnock-Jones 597e993c05 Support and-schemas in python 2022-06-03 16:50:03 +02:00
Tony Garnock-Jones 80e6e4aa3f Prepare for move away from preserves.gitlab.io/preserves toward preserves.dev 2022-05-24 13:32:54 +02:00
Tony Garnock-Jones 0b21fc4a3f Publish
- @preserves/schema@0.21.6
2022-05-04 09:29:19 +02:00
Tony Garnock-Jones 8595034190 Repair schema distribution 2022-05-04 09:28:49 +02:00
Tony Garnock-Jones b45306db03 Distribute schema.prs 2022-05-04 09:27:04 +02:00
Tony Garnock-Jones 859a88adc2 Publish
- @preserves/schema@0.21.5
2022-05-03 17:13:05 +02:00
Tony Garnock-Jones e3a1be80e9 Repair preserves-schema-ts watch mode 2022-05-03 17:12:34 +02:00
Tony Garnock-Jones 5d24902de1 Publish
- @preserves/core@0.20.4
 - @preserves/schema@0.21.4
2022-04-27 22:08:34 +03:00
Tony Garnock-Jones 800e9ccf80 Repair stringification of nontrivial embedded values 2022-04-27 22:07:53 +03:00
Tony Garnock-Jones 9c71df9abb PRESERVES_COMPACT 2022-03-04 09:18:59 +01:00
Tony Garnock-Jones 4a41fac6ec Crude measurement; multiple input values 2022-03-04 09:18:43 +01:00
Tony Garnock-Jones fad9111241 Utility for tagging 2022-02-11 11:57:29 +01:00
Tony Garnock-Jones 7f65f9ecb1 Add _ALL superclass for Enumeration subclasses, for @extend purposes 2022-02-11 11:56:08 +01:00
Tony Garnock-Jones 32544c544a Optional commas in pretty-printer 2022-02-11 11:38:29 +01:00
Tony Garnock-Jones 0f49b8b1b4 Python release 0.11.0 (canonicalizing binary encoder) 2022-02-09 15:05:55 +01:00
Tony Garnock-Jones a1f5a6ee13 Publish
- @preserves/core@0.20.3
 - @preserves/schema@0.21.3
2022-02-09 15:04:14 +01:00
Tony Garnock-Jones 356ff74058 Experimentally (?) use fromJS in stringify 2022-02-09 15:03:36 +01:00
Tony Garnock-Jones 21de8b799a Canonicalizing binary encoder 2022-02-09 14:59:50 +01:00
Tony Garnock-Jones 0596d877f8 Publish
- @preserves/core@0.20.2
 - @preserves/schema@0.21.2
2022-01-26 16:42:06 +01:00
Tony Garnock-Jones d9ee80093b Repair stringifyEmbeddedWrite 2022-01-26 16:41:16 +01:00
Tony Garnock-Jones a461657cde Publish
- @preserves/core@0.20.1
 - @preserves/schema@0.21.1
2022-01-26 16:03:33 +01:00
Tony Garnock-Jones 574209966b Better stringification 2022-01-26 16:03:13 +01:00
Tony Garnock-Jones c5094f8b8f Publish
- @preserves/core@0.20.0
 - @preserves/schema@0.21.0
2022-01-26 14:16:19 +01:00
Tony Garnock-Jones 0129901dab Javascript pretty-printer 2022-01-26 14:15:35 +01:00
Tony Garnock-Jones 6cd8cb2c37 Repair test 2022-01-24 13:41:58 +01:00
Tony Garnock-Jones bdbffad5d3 Update package.json script names 2022-01-24 13:39:19 +01:00
Tony Garnock-Jones 2c58066380 Publish
- @preserves/core@0.19.0
 - @preserves/schema@0.20.0
2022-01-24 13:01:17 +01:00
Tony Garnock-Jones f6999938f8 More ergonomic definition of variant name 2022-01-22 23:53:07 +01:00
Tony Garnock-Jones 382bf8d956 Expose reflection typedefs 2022-01-22 23:45:24 +01:00
Tony Garnock-Jones e4792ddccd Improve protocols for (de)coding JS/Preserves somewhat 2022-01-22 23:38:02 +01:00
Tony Garnock-Jones ae6eaa663e Expose a touch more static information, e.g. __as_preserve__ and __from_preserve__. 2022-01-22 23:25:16 +01:00
Tony Garnock-Jones d8615175a5 I guess I'm developing a convention for how these things should look now 2022-01-22 23:21:05 +01:00
Tony Garnock-Jones a98aa357d4 Repair command-line handling 2022-01-22 23:20:35 +01:00
Tony Garnock-Jones 3d1b151462 (cargo-release) version {{version}} 2022-01-19 14:27:14 +01:00
Tony Garnock-Jones 261395beaf `rec!` macro; access to `io::Write` inside `Writer`s 2022-01-19 14:25:52 +01:00
Tony Garnock-Jones 76ca8fe12b (cargo-release) version {{version}} 2022-01-14 15:49:36 +01:00
Tony Garnock-Jones 35e5d54683 Silence warning 2022-01-14 15:48:22 +01:00
Tony Garnock-Jones 8f7ef3ff69 Repair case-conversion of type names for names like "IOList" -> "IoList" 2022-01-14 15:48:10 +01:00
Tony Garnock-Jones 9a718548c0 First steps toward a C library for Preserves 2022-01-14 00:27:18 +01:00
Tony Garnock-Jones 2721ce81c4 Repair lexicographic ordering among Bytes instances, which in turn repairs canonicalizing binary output, which in turn fixes the tests now there's just been a very long test name symbol added. 2022-01-13 23:30:28 +01:00
Tony Garnock-Jones 850678a80a New test of very long integer 2022-01-13 23:29:47 +01:00
Tony Garnock-Jones c3af4656c1 Version 0.10.2 2022-01-12 14:07:51 +01:00
Tony Garnock-Jones 61ef91a958 Allow schema encoding (auto-)escapes 2022-01-12 14:07:32 +01:00
Tony Garnock-Jones 8f99f14b92 Oops. Forgot to git add copies of test sample data 2022-01-12 12:27:01 +01:00
Tony Garnock-Jones f348701169 Avoid x.__preserve__(), preferring preserve(x) 2022-01-12 11:40:05 +01:00
Tony Garnock-Jones ed518a9c71 Version 0.10.0 2022-01-12 02:04:49 +01:00
Tony Garnock-Jones b70352bc85 Publish
- @preserves/core@0.18.2
 - @preserves/schema@0.19.7
2022-01-12 02:03:23 +01:00
Tony Garnock-Jones ddfd2e24a6 Indented text printing 2022-01-12 02:02:36 +01:00
Tony Garnock-Jones 3cc875bce3 Handle no-whitespace-after-a-number 2022-01-12 02:02:11 +01:00
Tony Garnock-Jones fb6a5caf38 Update LSP settings 2022-01-12 02:01:54 +01:00
Tony Garnock-Jones 50de00eac5 Version 0.9.0 2022-01-11 06:29:45 +01:00
Tony Garnock-Jones 8c4fedac0a Split out encoding/formatting unhandler error to method, for overridability 2022-01-11 06:29:18 +01:00
Tony Garnock-Jones 602dea1ac6 Rearrange tests to include test data. As part of this, remove tests for python2; from here out, python2 compatibility will likely rot. 2022-01-07 21:14:21 +01:00
Tony Garnock-Jones 275a5aa45b Bump patch number 2022-01-07 20:49:20 +01:00
Tony Garnock-Jones 39f9a2e5ef Include path.prb in the package, like schema.prb 2022-01-07 20:48:24 +01:00
Tony Garnock-Jones 21cfa3a1e6 Bump to 0.7.3 2021-12-17 23:25:39 +01:00
Tony Garnock-Jones 6c0ef47e03 Be more liberal about accepting either lists or tuples when parsing using a schema instance 2021-12-17 23:25:03 +01:00
Tony Garnock-Jones 550a524ca1 Publish
- @preserves/schema@0.19.6
2021-12-13 13:13:33 +01:00
Tony Garnock-Jones 944ac54414 Dumber but more reliable and more useful handling of schema input base directories 2021-12-13 12:52:24 +01:00
Tony Garnock-Jones bfa0b0bcb4 Publish
- @preserves/schema@0.19.5
2021-12-13 12:19:19 +01:00
Tony Garnock-Jones 3b1669389c Allow cross-references to other schemas when generating code 2021-12-13 12:18:12 +01:00
Tony Garnock-Jones 9442abe9bd Publish
- @preserves/schema@0.19.4
2021-12-12 23:53:07 +01:00
Tony Garnock-Jones fc84813704 Expose schema compiler's gentype.ts module 2021-12-12 23:52:45 +01:00
Tony Garnock-Jones 972085a59b Use GenericEmbedded for embedded schemas 2021-12-12 23:52:31 +01:00
Tony Garnock-Jones 8b7ea7c589 Publish
- @preserves/schema@0.19.3
2021-12-12 22:58:40 +01:00
Tony Garnock-Jones 80dd3cd6b4 Support access to "external" schema module via some dotted path within a TypeScript module 2021-12-12 22:58:00 +01:00
Tony Garnock-Jones ef6db841dd Publish
- @preserves/schema@0.19.2
2021-12-12 13:50:32 +01:00
Tony Garnock-Jones 282d3f798f Support references to node_modules modules on command line 2021-12-12 13:49:50 +01:00
Tony Garnock-Jones 874303186d Publish
- @preserves/core@0.18.1
 - @preserves/schema@0.19.1
2021-12-09 21:25:53 +01:00
Tony Garnock-Jones 2ff4e88822 Repair error in encoder contents extraction. 2021-12-09 21:25:27 +01:00
Tony Garnock-Jones 57c66f81b1 Publish
- @preserves/core@0.18.0
 - @preserves/schema@0.19.0
2021-12-09 18:38:49 +01:00
Tony Garnock-Jones 1e4bf0dc51 Export reflective information about schema-generated types 2021-12-09 18:36:45 +01:00
Tony Garnock-Jones 5a0fbeb1b5 Export JS Symbol, in case of aliasing in a schema 2021-12-09 18:35:17 +01:00
Tony Garnock-Jones f2d9b68329 Slightly nicer embedded-value printing 2021-12-09 18:34:54 +01:00
Tony Garnock-Jones 43f31b9a78 Repairs to tests 2021-12-08 14:06:16 +01:00
Tony Garnock-Jones 6576f30639 Refactoring of uncertain benefit: allow multiple function definitions at once 2021-12-03 14:42:49 +01:00
Tony Garnock-Jones e12d978915 Upgrade to TypeScript 4.5 2021-12-03 14:42:25 +01:00
Tony Garnock-Jones 4673de5db4 Publish
- @preserves/schema@0.18.0
2021-12-01 16:42:00 +01:00
Tony Garnock-Jones bb0d825cdf Fix bundling of schema.prb 2021-11-30 18:41:34 +01:00
Tony Garnock-Jones aadd83d715 Use bundled metaschema copy 2021-11-30 18:35:16 +01:00
Tony Garnock-Jones ed63d46348 Experimental schema interpreter and preserves-path support 2021-11-16 22:10:04 +01:00
Tony Garnock-Jones b38d180956 Targets for uniformish cross-build 2021-11-16 22:06:56 +01:00
Tony Garnock-Jones b7c9efc3a1 Explicitly select beta.2 of clap, since beta.5 isn't compiling for me 2021-11-12 13:35:37 +01:00
Emery Hemingway 2ff489d975 Initial Dhall functions
Add functions for representing the JSON subset of Preserves in the
Dhall configuration language.

https://dhall-lang.org/
2021-10-22 19:01:32 +02:00
Tony Garnock-Jones 3a605e75d6 Better treatment of generics in TypeScript schema compiler, after the Rust implementation 2021-10-11 12:56:53 +02:00
Tony Garnock-Jones b2c3032e7a arm-binary target 2021-10-08 16:56:35 +02:00
Tony Garnock-Jones 668ac9f680 (cargo-release) version {{version}} 2021-10-04 14:32:51 +02:00
Tony Garnock-Jones 77c305a4cf into_string, into_bytestring, into_symbol 2021-10-04 14:28:56 +02:00
Tony Garnock-Jones 5260f85952 Fix value_owned for ArcValue 2021-10-02 11:49:40 +02:00
Tony Garnock-Jones b73e0c7025 (cargo-release) version {{version}} 2021-09-30 13:12:27 +02:00
Tony Garnock-Jones e2a4e3d6cb Inline the heck out of the binary codec for a ~5% speedup 2021-09-30 13:12:06 +02:00
Tony Garnock-Jones e31cf739df (cargo-release) version {{version}} 2021-09-30 12:45:19 +02:00
Tony Garnock-Jones 486a631e73 Add strip_annotations function and expose it in preserves-tool 2021-09-30 12:41:29 +02:00
Tony Garnock-Jones 29a882f953 Shrink commonest annotationless representation 2021-09-30 11:15:26 +02:00
Tony Garnock-Jones d1d52c2a30 Repair (?) warning 2021-09-29 12:12:48 +02:00
Tony Garnock-Jones 62d9236045 aarch64-binary target 2021-09-29 12:09:52 +02:00
Tony Garnock-Jones 1b4064b17c Release 2.0.0 2021-09-25 11:16:48 +02:00
Tony Garnock-Jones a72810c416 (cargo-release) version {{version}} 2021-09-20 15:39:02 +02:00
Tony Garnock-Jones b1ed29657e Make it so that any defined language can be used as placeholder to identity-(un)parse `NestedValue`s 2021-09-20 15:38:21 +02:00
Tony Garnock-Jones 9936ddb29d (cargo-release) version {{version}} 2021-09-20 14:33:39 +02:00
Tony Garnock-Jones 94e9fabc70 Make WalkState reusable; add lookup_definition 2021-09-20 14:33:05 +02:00
Tony Garnock-Jones f778325748 (cargo-release) version {{version}} 2021-09-19 20:58:03 +02:00
Tony Garnock-Jones b68b485af4 Better approach to intra-workspace dependencies, I hope 2021-09-19 20:57:38 +02:00
Tony Garnock-Jones 72a38cea7e Argh, update to naming convention used by cargo-release 2021-09-19 20:53:06 +02:00
Tony Garnock-Jones ccf01f5f24 Repair scoping of crate references in syntax macros 2021-09-19 20:50:13 +02:00
Tony Garnock-Jones 6fdda6636b Bump versions to 2.0.0-rc1 2021-09-19 16:48:00 +02:00
Tony Garnock-Jones 843c0c894f Include `Language`s from externally-referenced definitions 2021-09-19 16:43:46 +02:00
Tony Garnock-Jones e5a5130b56 Tighten 2021-09-17 12:30:31 +02:00
Tony Garnock-Jones a91ee3977f DRY for Language; prepare for factoring out language prerequisites 2021-09-17 12:27:10 +02:00
Tony Garnock-Jones ac8567731d DRY for _Value 2021-09-17 12:19:26 +02:00
Tony Garnock-Jones 6869a89291 Another step toward nested multi-Language support 2021-09-17 11:59:43 +02:00
Tony Garnock-Jones e78196c942 Value self-parsing happens with &() now, not () 2021-09-17 11:37:36 +02:00
Tony Garnock-Jones 15a27b4865 Better Parse/Unparse traits 2021-09-17 11:06:53 +02:00
Tony Garnock-Jones df4059ee7a Oops 2021-09-16 16:35:12 +02:00
Tony Garnock-Jones 8d587c0aaa Steps toward better cross-compilation-unit handling of Languages 2021-09-16 16:31:59 +02:00
Tony Garnock-Jones d872f7cf8a Limit NestedValue self-parse/unparse support to () rather than L 2021-09-15 21:13:03 +02:00
Tony Garnock-Jones 7bf5403353 Repair generated references to _Value::Embedded (was _Value::D) 2021-09-15 15:26:02 +02:00
Tony Garnock-Jones 9f98e1ef3b Remove unwanted code 2021-09-15 15:25:46 +02:00
Tony Garnock-Jones 06fc9aa017 NestedValue::D --> NestedValue::Embedded 2021-09-15 15:19:03 +02:00
Tony Garnock-Jones 997bea2836 Better name 2021-09-15 15:14:36 +02:00
Tony Garnock-Jones 28249b19f7 More flexible Literals-finding 2021-09-15 15:07:46 +02:00
Tony Garnock-Jones e56b62cfbb Fix multi-schema bundles after refactor 2021-09-15 14:03:33 +02:00
Tony Garnock-Jones 985a0b6795 Handle external types wrt has_embedded 2021-09-15 10:50:37 +02:00
Tony Garnock-Jones 352d8ba1b3 Massive refactor to be more flexible around embedded types 2021-09-15 10:43:31 +02:00
Tony Garnock-Jones 8127033407 Surprisingly, associated types might simplify drastically! 2021-09-14 22:56:09 +02:00
Tony Garnock-Jones 6348524542 Introduce TField::Any and TField::Embedded 2021-09-12 18:28:29 +02:00
Tony Garnock-Jones 87227b5623 Make whole Schema available when compiling 2021-09-12 18:08:56 +02:00
Tony Garnock-Jones c4afc49646 Value::from various references-to-atoms 2021-09-12 14:55:05 +02:00
Tony Garnock-Jones ef67347b8d Repair and-pattern reading 2021-09-11 02:53:46 +02:00
Tony Garnock-Jones aabe7b2623 Repair reading of simple but compound types within a simple dictionary pattern 2021-09-11 02:53:32 +02:00
Tony Garnock-Jones e43e85ce8e preserves::value::merge has to return Option 2021-09-11 02:52:49 +02:00
Tony Garnock-Jones 5f2a3e3eb8 Preserves value merge in Rust 2021-09-11 02:49:17 +02:00
Tony Garnock-Jones eda9979041 Owned destructors 2021-09-11 02:47:51 +02:00
Tony Garnock-Jones 4afc6d4c94 Repair error in merge 2021-09-10 15:47:16 +02:00
Tony Garnock-Jones d26e38ded0 Regenerate schema.rs 2021-09-05 13:16:29 +02:00
Tony Garnock-Jones 00e31c0e29 (cargo-release) version {{version}} 2021-09-02 11:13:17 +02:00
Tony Garnock-Jones a9125874bf (cargo-release) version {{version}} 2021-08-28 17:02:28 +02:00
Tony Garnock-Jones 8550be0ba2 Refactor SignedInteger conversions to be more comprehensive and less repetitive 2021-08-28 17:01:59 +02:00
Tony Garnock-Jones 3cdf1f662e Reorganize support re-exports to support preservesless usage of preserves_schema 2021-08-28 17:01:36 +02:00
Tony Garnock-Jones 027966fb3b (cargo-release) version {{version}} 2021-08-27 17:17:39 +02:00
Tony Garnock-Jones f387f5e8c9 Value::bytestring, NestedValue::bytestring 2021-08-27 17:17:30 +02:00
Tony Garnock-Jones 0aded61071 Take advantage of NestedValue::symbol 2021-08-27 16:59:54 +02:00
Tony Garnock-Jones dc451ea7b4 (cargo-release) version {{version}} 2021-08-27 16:52:52 +02:00
Tony Garnock-Jones 3e56cf3d7e NestedValue::symbol 2021-08-27 16:52:11 +02:00
Tony Garnock-Jones 94fe6ad946 Update pre-commit hook and clone path.bin to address #30. 2021-08-25 09:24:24 +02:00
Tony Garnock-Jones 446b2ee5f7 (cargo-release) version {{version}} 2021-08-20 15:02:01 -04:00
Tony Garnock-Jones 62cd9ac78f Unquoted output format 2021-08-20 15:01:30 -04:00
Tony Garnock-Jones 8b5aa372b5 Release 0.7.0 2021-08-19 18:46:33 -04:00
Tony Garnock-Jones d408070fde Better debug printing 2021-08-18 22:57:06 -04:00
Tony Garnock-Jones 0f30522f19 Repair typo 2021-08-18 22:56:59 -04:00
Tony Garnock-Jones e0bc1b31b8 Better error reporting 2021-08-18 22:56:50 -04:00
Tony Garnock-Jones 6bb99b45c3 fold.py 2021-08-18 14:04:00 -04:00
Tony Garnock-Jones 5669f2aff1 Bump preserves version 2021-08-17 14:25:50 -04:00
Tony Garnock-Jones 0c693d8ece Python preserves-path implementation 2021-08-17 14:07:12 -04:00
Tony Garnock-Jones 82c66ec1c4 Embedded wrapper; preserve() function 2021-08-17 14:06:52 -04:00
Tony Garnock-Jones a5065955ca loads/dumps aliases 2021-08-17 08:05:38 -04:00
Tony Garnock-Jones 8afc8f1eae Python text codec 2021-08-17 08:04:38 -04:00
Tony Garnock-Jones 123b6222ca Split out modules 2021-08-16 19:24:50 -04:00
Tony Garnock-Jones cf192b634c SchemaEntity -> SchemaObject 2021-08-16 14:06:41 -04:00
Tony Garnock-Jones fff34b8d45 Simplify Namespace 2021-08-16 12:37:31 -04:00
Tony Garnock-Jones e2b27b619f Schema encode 2021-08-16 11:38:44 -04:00
Tony Garnock-Jones a2ca133983 load_schema_file, load metaschema 2021-08-16 11:18:54 -04:00
Tony Garnock-Jones e056394ca6 Tighten exceptions 2021-08-16 11:18:34 -04:00
Tony Garnock-Jones fc1d6afc28 Handle empty patterns specially 2021-08-15 23:51:07 -04:00
Tony Garnock-Jones 59bcced776 @extend decorator 2021-08-15 23:40:28 -04:00
Tony Garnock-Jones e45ff6b020 Small improvements 2021-08-15 23:30:46 -04:00
Tony Garnock-Jones abe60b3506 First steps to schema support for python 2021-08-15 22:57:09 -04:00
Tony Garnock-Jones 5c8bacd759 (cargo-release) version {{version}} 2021-08-12 17:43:48 -04:00
Tony Garnock-Jones 1b466aade7 Add --exclude-unchanged cargo-release flag, from my own feature branch 2021-08-12 17:43:34 -04:00
Tony Garnock-Jones 23329cd8f3 Let's try without dev versions 2021-08-12 15:53:50 -04:00
Tony Garnock-Jones 06a08631aa Plugins are now part of CompilerConfig 2021-08-12 15:28:24 -04:00
Tony Garnock-Jones eafc22fb1c Compiler plugins (hardcoded to begin with) 2021-08-12 15:23:37 -04:00
Tony Garnock-Jones ea75dc8f59 Avoid needless schemas/mod.rs file 2021-08-11 18:04:46 -04:00
Tony Garnock-Jones 5161e54e0d Publish
- @preserves/schema@0.17.0
2021-08-11 16:03:16 -04:00
Tony Garnock-Jones 7f8db08039 Manual bump deps 2021-08-10 12:56:12 -04:00
Tony Garnock-Jones cf94a95266 Put a symlink to path.bin in this crate, to allow cargo publish to work 2021-08-10 12:54:42 -04:00
Tony Garnock-Jones 3128f6da82 Grar, more manual bumping 2021-08-10 12:22:58 -04:00
Tony Garnock-Jones f1b4a4568b Try manual publishing 2021-08-10 12:20:50 -04:00
Tony Garnock-Jones d67bafcb30 (cargo-release) version {{version}} 2021-08-10 11:36:46 -04:00
Tony Garnock-Jones ebc609dfec Repair? versions 2021-08-10 11:33:16 -04:00
Tony Garnock-Jones 4f60845dc0 (cargo-release) version {{version}} 2021-08-10 11:27:40 -04:00
Tony Garnock-Jones 37ca3fd493 Use OUT_DIR 2021-08-10 11:19:12 -04:00
Tony Garnock-Jones e6d7e9c1b5 (cargo-release) start next development iteration {{next_version}} 2021-08-10 11:00:12 -04:00
Tony Garnock-Jones b11316e40b (cargo-release) version {{version}} 2021-08-10 11:00:12 -04:00
Tony Garnock-Jones c2167f1ee8 Prep for release 2021-08-10 10:59:03 -04:00
Tony Garnock-Jones 0821f6e3da Default to streaming, not collection 2021-08-10 08:43:33 -04:00
Tony Garnock-Jones e02ee00894 Fix conformance errors 2021-08-10 08:40:20 -04:00
Tony Garnock-Jones 32ebebec34 Move racket preserves-tool out of the way (in favour of the rust one) 2021-08-10 08:40:11 -04:00
Tony Garnock-Jones a0bf6ebf41 Various output formats 2021-08-08 18:04:49 -04:00
Tony Garnock-Jones 02420543f1 Treat Symbols more uniformly like Strings 2021-08-08 18:04:33 -04:00
Tony Garnock-Jones 7abd4a3d3a Split out submodules 2021-08-08 17:51:18 -04:00
Tony Garnock-Jones 2ee1c48fcd Rename real to ~real, and add ~int to match 2021-08-08 17:19:58 -04:00
Tony Garnock-Jones 965bda9f9e Add "real" 2021-08-08 17:08:32 -04:00
Tony Garnock-Jones 61af114d5f Much better: boolean operations on newly-introduced Predicates, rather than selectors generally 2021-08-08 16:01:29 -04:00
Tony Garnock-Jones 137cc63a97 Initial stab at preserves-path; repair error wrt EOF immediately following a number 2021-08-08 14:26:17 -04:00
Tony Garnock-Jones be10924118 Be less specific for regex dep 2021-08-05 15:58:02 +02:00
Tony Garnock-Jones 96707352e6 Quotation 2021-08-05 15:55:48 +02:00
Tony Garnock-Jones cfd9898b4d Option to escape spaces 2021-08-05 15:54:41 +02:00
Tony Garnock-Jones 661d96780d Yield Strings from TextWriter::encode* 2021-08-05 14:28:19 +02:00
Tony Garnock-Jones 87946abb63 Avoid egregious &'a mut R 2021-08-05 14:28:00 +02:00
Tony Garnock-Jones 96f5c9f434 Repair accidentally-dropped-buffer error 2021-08-04 15:49:57 +02:00
Tony Garnock-Jones b24aca8f0f Rust preserves-tools 2021-08-04 15:42:07 +02:00
Tony Garnock-Jones 3078396487 Conveniences for TextReader matching those existing for PackedReader 2021-08-04 15:41:23 +02:00
Tony Garnock-Jones d28901446d Decode text syntax from *byte* sources. 2021-08-03 16:26:40 +02:00
Tony Garnock-Jones e913951b91 TextWriter::encode for Vec<u8> 2021-08-02 21:49:40 +02:00
Tony Garnock-Jones e80d849f9a DomainUnparse is useless 2021-08-02 21:49:05 +02:00
Tony Garnock-Jones dcdfdb8dd9 Track boundaries in schema-emitted reader code 2021-08-02 20:55:44 +02:00
Tony Garnock-Jones 3176e5f8d0 Indented printing 2021-08-02 12:53:17 +02:00
Tony Garnock-Jones af1405e87a Use dtoa for better floating-point formatting 2021-08-02 12:14:07 +02:00
Tony Garnock-Jones 9d4e6998f2 TextReader/TextWriter 2021-08-02 11:42:48 +02:00
Tony Garnock-Jones 9b100ab9aa Tweak base64 variant handling 2021-08-02 11:41:45 +02:00
Tony Garnock-Jones 5fa8c32ba0 Cosmetic 2021-07-27 16:38:55 +02:00
Tony Garnock-Jones 61c6dfbc3e Bump Rust package versions 2021-07-22 16:56:42 +02:00
Tony Garnock-Jones 48412ae7ea Simplify by removing DelimitedStream 2021-07-21 22:48:00 +02:00
Tony Garnock-Jones 9b88db6790 Remove misleading prefix on branch readers 2021-07-21 22:34:02 +02:00
Tony Garnock-Jones cae254ef21 Experimental deserialization direct from Reader 2021-07-21 21:52:20 +02:00
Tony Garnock-Jones 6d9ed94065 Only write to files if they don't exist or their existing contents differs from the new contents 2021-07-14 11:53:12 +02:00
Tony Garnock-Jones 7712c6e0a9 More conversions for SignedInteger 2021-07-13 16:00:18 +02:00
Tony Garnock-Jones 423c9d0bba Better Debug for SignedInteger 2021-07-13 15:59:27 +02:00
Tony Garnock-Jones 6ffc34065f Value from usize/isize 2021-07-13 15:59:14 +02:00
Tony Garnock-Jones 932375fa49 NestedValue::domain() 2021-07-13 15:58:58 +02:00
Tony Garnock-Jones 7e3bf2ade5 Hex codec, for convenience 2021-07-13 15:58:28 +02:00
Tony Garnock-Jones 790782fc87 Hex and Base64 encodings in preserves-tool 2021-07-13 15:58:05 +02:00
Tony Garnock-Jones c527160e9d Repair silly mistake that made only one input processed 2021-07-06 20:52:03 +02:00
Tony Garnock-Jones 64593436a8 If T is DomainDecode, so is &mut T. 2021-07-05 20:24:40 +02:00
Tony Garnock-Jones 7c8a5c61ca foreach_embedded 2021-07-05 16:09:31 +02:00
Tony Garnock-Jones e9b5b3549c Convenience 2021-07-05 13:03:30 +02:00
Tony Garnock-Jones e30ade6ed3 Take more advantage of use std::io; and fix benches 2021-07-05 13:00:30 +02:00
Tony Garnock-Jones 7e76503779 Remove IOResult in favour of std::io::Result 2021-07-05 12:38:11 +02:00
Tony Garnock-Jones da08189dd4 Embedded-parameterised Writer 2021-07-05 12:34:29 +02:00
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