Commit Graph

819 Commits

Author SHA1 Message Date
Tony Garnock-Jones 7f387d6d71 Support xrefs in schema compiler; offer Arc for languages 2023-01-28 22:38:14 +01:00
Tony Garnock-Jones 04d8201e08 Release independent packages
preserves@3.0.0
preserves-path@4.0.2
preserves-schema@3.0.3
preserves-tools@3.0.2

Generated by cargo-workspaces
2023-01-16 14:56:04 +01:00
Tony Garnock-Jones 5bee5fb247 Major bump to rust preserves because of the new numerics/symbol syntax 2023-01-16 14:55:08 +01:00
Tony Garnock-Jones 560267d0d4 Release independent packages
preserves-schema@3.0.2

Generated by cargo-workspaces
2023-01-08 13:13:00 +01:00
Tony Garnock-Jones fcf58f0dc0 Reader, it was *not* right. 2023-01-08 13:11:49 +01:00
Tony Garnock-Jones 502e83c26d Publish
- @preserves/core@0.20.5
 - @preserves/schema@0.21.7
2023-01-05 15:14:06 +01:00
Tony Garnock-Jones 340f809c55 isSequence 2023-01-05 15:13:23 +01:00
Tony Garnock-Jones a8d7fda89e merge-preserves 2022-11-28 22:38:23 +01:00
Tony Garnock-Jones 269ed2391a Repair text syntax for numbers and symbols. Closes #19/#36/#37/#38.
Numbers and (bare) Symbols are now disambiguated after reading, which
permits leading `+`, leading `0`, and a wider range of acceptable
Symbols.

Updates spec text, test cases, and implementations. Some ancillary fixes
to Python's comparison routines are also included.
2022-11-08 19:56:24 +01:00
Tony Garnock-Jones 351feba8d2 Benchmark profiling 2022-10-29 13:16:52 +02:00
Tony Garnock-Jones fd676e8f53 Allow ag to ignore scratch directory 2022-10-26 16:52:55 +02:00
Tony Garnock-Jones 0b94af3a52 Release independent packages
preserves@2.5.0

Generated by cargo-workspaces
2022-10-26 16:01:48 +02:00
Tony Garnock-Jones 52de025c21 Parsing and reading via TextReader/TextWriter 2022-10-26 16:00:48 +02:00
Tony Garnock-Jones b5e2eeae46 Release independent packages
preserves@2.4.1
preserves-path@4.0.1
preserves-schema@3.0.1
preserves-tools@3.0.1

Generated by cargo-workspaces
2022-10-26 13:31:17 +02:00
Tony Garnock-Jones 1804fa3918 Prepare to try out cargo-workspaces as release tool 2022-10-26 13:30:45 +02:00
Tony Garnock-Jones ad1aec3d89 Reject odd number of hexits rather than ignoring the lone trailing hexit 2022-10-26 12:49:49 +02:00
Tony Garnock-Jones fd121cfb4c Bump versions 2022-10-24 14:39:07 +02:00
Tony Garnock-Jones f88e3ca85c Unused arg 2022-10-24 14:38:51 +02:00
Tony Garnock-Jones be7b8e6477 Adjust quantification for Deserialize trait 2022-10-24 14:30:43 +02:00
Tony Garnock-Jones 4b98acf8ba preserves-python version 0.16.1 2022-07-22 10:24:30 +02:00
Tony Garnock-Jones 3544bf18fa Ugh, python 3.7 doesn't have the PEP 570 "/" positional-only syntax. 2022-07-22 10:23:54 +02:00
Tony Garnock-Jones 1f495eef1e Repair typo that caused annotations not to work properly with fromJS 2022-06-16 10:10:38 +02:00
Tony Garnock-Jones c49b8673f7 READMEs for Schema implementations 2022-06-09 13:49:59 +02:00
Tony Garnock-Jones 0bc742d7a2 (cargo-release) version {{version}} 2022-06-08 16:27:04 +02:00
Tony Garnock-Jones aff94bbb2f python: bump version to 0.16.0 2022-06-08 16:23:56 +02:00
Tony Garnock-Jones 8b8da80f61 Explain why parsing failed 2022-06-08 16:22:10 +02:00
Tony Garnock-Jones 7fdf50b963 Support comma style option to preserves-tool 2022-06-08 16:10:33 +02:00
Tony Garnock-Jones 2e8d53c779 Another schema test 2022-06-07 21:59:05 +02:00
Tony Garnock-Jones 7ebe538c42 python: bump version to 0.15.0 2022-06-07 21:47:23 +02:00
Tony Garnock-Jones 34183a9519 Stub out some schema tests 2022-06-07 21:46:06 +02:00
Tony Garnock-Jones e019148065 Fix positional initializers for schema values, and allow keyword initializers 2022-06-07 21:45:56 +02:00
Tony Garnock-Jones c9c973ce9c Preserves-order for Python 2022-06-07 21:45:12 +02:00
Tony Garnock-Jones 00eb9e97b6 Implement count function 2022-06-06 15:28:11 +02:00
Tony Garnock-Jones 4ef1341883 Remove old import of distutils 2022-06-03 21:21:44 +02:00
Tony Garnock-Jones 2e50591946 python: Bump version 2022-06-03 21:14:24 +02:00
Tony Garnock-Jones c0d3f37905 python: merge(), and support for and-pattern unparsing 2022-06-03 21:13:59 +02:00
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